{"apiVersion":"v1","directorySlug":"form-mcp-6600a8cef9","title":"FORM","description":"FORM price-gates agent estimates, seals forecasts before events, and turns settled results into tighter decisions.","pageUrl":"https://www.mcpbundles.com/skills/form-mcp-6600a8cef9","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://form.market/api/mcp","hostedMcpUrl":null,"toolCount":15,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"market.form/form-mcp-6600a8cef9","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"form_discover_markets","description":"Browse normalized open markets across Kalshi and Polymarket with separate venue identities, provenance, price semantics, and pagination. Compact results are ordered by observable researchability, retain its score and reasons, and include the exact next FORM tool call for fresh venue-specific tape. Optional venue, category, or query filters apply honestly to the fetched page and cursors remain available. Use full for grouped venue events. Researchability is not probability or edge. No contract-eq","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":50,"minimum":1},"query":{"type":"string","maxLength":80,"minLength":2},"venue":{"enum":["all","kalshi","polymarket"],"type":"string","default":"all"},"detail":{"enum":["compact","full"],"type":"string","default":"compact"},"category":{"type":"string","maxLength":60,"minLength":2},"marketLimit":{"type":"integer","default":12,"maximum":50,"minimum":1},"kalshiCursor":{"type":"string","pattern":"^[A-Za-z0-9._~=-]{1,1024}$"},"polymarketCursor":{"type":"string","pattern":"^[A-Za-z0-9._~=-]{1,1024}$"}},"additionalProperties":false},"title":"Discover open prediction markets","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_discover_markets","displayName":"Discover open prediction markets"},{"name":"form_start_research","description":"Return the highest-ranked eligible market matching optional venue, category, text, and close-horizon filters together with fresh synchronized two-sided exact tape. Filtered searches inspect up to three market pages, try up to three unique candidates, and report search coverage. Empty results give an explicit stop, retry-later, or user-permission-gated broaden-filters action. Compact top-of-book, spread, and near-touch depth is the token-efficient default; request detail=full for level-by-level d","inputSchema":{"type":"object","properties":{"query":{"type":"string","maxLength":80,"minLength":1},"venue":{"enum":["all","kalshi","polymarket"],"type":"string","default":"all"},"detail":{"enum":["compact","full"],"type":"string","default":"compact"},"category":{"type":"string","maxLength":60,"minLength":1},"closesWithinHours":{"type":"integer","maximum":8760,"minimum":1}},"additionalProperties":false},"title":"Start with one fresh research candidate","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_start_research","displayName":"Start with one fresh research candidate"},{"name":"form_verify_research_receipt","description":"Check whether a complete form_start_research response still matches its reproducibility checksum. A valid checksum is not a FORM signature, source-truth verification, or external timestamp.","inputSchema":{"type":"object","required":["schemaVersion","kind","generatedAt","validUntil","status","filters","coverage","candidate","tape","attempts","next","boundary","receipt"],"properties":{"kind":{},"next":{},"tape":{},"status":{},"filters":{},"receipt":{},"attempts":{},"boundary":{},"coverage":{},"candidate":{},"validUntil":{},"generatedAt":{},"schemaVersion":{}},"additionalProperties":false},"title":"Verify a research starting-point checksum","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_verify_research_receipt","displayName":"Verify a research starting-point checksum"},{"name":"form_get_polymarket_tape","description":"Resolve one stable Polymarket condition ID and return synchronized YES and NO CLOB books with best bids, best asks, displayed depth, timestamps, and provenance. Market facts only: displayed depth is not a fill guarantee, fair-value estimate, recommendation, or execution authority.","inputSchema":{"type":"object","required":["marketId"],"properties":{"marketId":{"type":"string","pattern":"^polymarket:0x[a-f0-9]{64}$"}},"additionalProperties":false},"title":"Get exact Polymarket order books","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_get_polymarket_tape","displayName":"Get exact Polymarket order books"},{"name":"form_get_kalshi_tape","description":"Resolve one stable Kalshi ticker and return exact YES and NO books with reciprocal asks, displayed depth, rules text, expiration, and provenance. Market facts only: displayed depth is not a fill guarantee, fair-value estimate, recommendation, or execution authority.","inputSchema":{"type":"object","required":["marketId"],"properties":{"marketId":{"type":"string","pattern":"^kalshi:[A-Z0-9-]+$"}},"additionalProperties":false},"title":"Get exact Kalshi order books","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_get_kalshi_tape","displayName":"Get exact Kalshi order books"},{"name":"form_get_market_tape","description":"Discover available competitions and get FORM's fresh, timestamped, two-sided prediction-market prices. Optionally target identity, resolution time, maximum spread, minimum touch depth, and result count. Read-only; liquidity facts are not proof of fillability or edge.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":20,"minimum":1},"marketId":{"type":"string","pattern":"^kalshi:[A-Z0-9-]+$"},"competition":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,59}$"},"minTouchSize":{"type":"number","maximum":1000000000,"minimum":0},"maxSpreadCents":{"type":"number","maximum":20,"minimum":0},"resolvesBefore":{"type":"string","format":"date-time"}},"additionalProperties":false},"title":"Get verified market tape","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_get_market_tape","displayName":"Get verified market tape"},{"name":"form_get_decision","description":"Get FORM's current BET, WATCH, or PASS decision with expiration and qualification blockers. A pass is a successful answer. Read-only and never submits an order.","inputSchema":{"type":"object","additionalProperties":false},"title":"Get current betting decision","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_get_decision","displayName":"Get current betting decision"},{"name":"form_get_reputation","description":"Verify FORM's immutable forecast and settlement roots, live sample size, calibration, Brier score, market-relative skill, and eligibility state. Metrics remain null until evidence exists.","inputSchema":{"type":"object","additionalProperties":false},"title":"Get FORM reputation","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_get_reputation","displayName":"Get FORM reputation"},{"name":"form_get_settlement_readiness","description":"Verify FORM's immutable ledgers and check unresolved official event sources for results ready to review and seal. Detection is read-only and does not publish settlements.","inputSchema":{"type":"object","additionalProperties":false},"title":"Check settlement readiness","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_get_settlement_readiness","displayName":"Check settlement readiness"},{"name":"form_review_learning_loop","description":"Grade up to 500 sealed forecasts and 500 executed prediction-market trades. Measures Brier score, calibration, market-relative skill, price chasing, risk-limit violations, and realized P&L; then returns HOLD_IN_SHADOW or PROMOTION_ELIGIBLE plus constraints for the next decision. It never rewrites a model, promotes a policy, or authorizes a trade.","inputSchema":{"type":"object","anyOf":[{"required":["records"],"properties":{"records":{"minItems":1}}},{"required":["trades"],"properties":{"trades":{"minItems":1}}}],"required":["agentId","iterationId"],"properties":{"trades":{"type":"array","items":{"type":"object","required":["id","marketId","side","entryPriceCents","riskPct","pnlUsd","settledAt"],"properties":{"id":{"type":"string","maxLength":120,"minLength":1},"side":{"enum":["yes","no"],"type":"string"},"pnlUsd":{"type":"number"},"riskPct":{"type":"number","maximum":100,"exclusiveMinimum":0},"marketId":{"type":"string","pattern":"^(?:kalshi:[A-Z0-9-]+|polymarket:0x[a-f0-9]{64})$"},"settledAt":{"type":"string","format":"date-time"},"maximumRiskPct":{"type":"number","maximum":5,"exclusiveMinimum":0},"entryPriceCents":{"type":"number","exclusiveMaximum":100,"exclusiveMinimum":0},"maximumEntryPriceCents":{"type":"number","exclusiveMaximum":100,"exclusiveMinimum":0}},"additionalProperties":false},"maxItems":500},"agentId":{"type":"string","maxLength":80,"minLength":1},"records":{"type":"array","items":{"type":"object","required":["id","probabilityPct","outcome","predictedAt","eventAt"],"properties":{"id":{"type":"string","maxLength":120,"minLength":1},"eventAt":{"type":"string","format":"date-time"},"outcome":{"enum":[0,1],"type":"integer"},"predictedAt":{"type":"string","format":"date-time"},"probabilityPct":{"type":"number","exclusiveMaximum":100,"exclusiveMinimum":0},"marketProbabilityPct":{"type":["number","null"],"exclusiveMaximum":100,"exclusiveMinimum":0}},"additionalProperties":false},"maxItems":500},"iterationId":{"type":"string","maxLength":80,"minLength":1}},"additionalProperties":false},"title":"Learn from settled forecasts and trades","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_review_learning_loop","displayName":"Learn from settled forecasts and trades"},{"name":"form_evaluate_market","description":"Fetch the current verified ask and stress the calling agent's estimate. Optional settledHistory derives and applies personalized constraints atomically; an existing learningProfile can be reused instead. FORM tightens uncertainty, required edge, and risk from prior outcomes before returning PASS, WATCH, or BET. It never authorizes an order.","inputSchema":{"type":"object","required":["marketId","estimatePct","side","feeAndSlippageCents","uncertaintyPts","minimumEdgePts","bankrollUsd","maxRiskPct"],"properties":{"side":{"enum":["yes","no"],"type":"string"},"marketId":{"type":"string","pattern":"^(?:kalshi:[A-Z0-9-]+|polymarket:0x[a-f0-9]{64})$"},"research":{"type":"object","required":["estimateMethod","thesis","countercase","invalidation","settlementRulesUrl","settlementRulesConfirmed","sources"],"properties":{"thesis":{"type":"string","maxLength":800,"minLength":8},"sources":{"type":"array","items":{"type":"object","required":["label","url","observedAt","stance"],"properties":{"url":{"type":"string","format":"uri"},"label":{"type":"string","maxLength":100,"minLength":2},"stance":{"enum":["supporting","opposing"],"type":"string"},"observedAt":{"type":"string","format":"date-time"}},"additionalProperties":false},"maxItems":8,"minItems":2},"countercase":{"type":"string","maxLength":800,"minLength":8},"invalidation":{"type":"string","maxLength":800,"minLength":8},"estimateMethod":{"type":"string","maxLength":500,"minLength":8},"settlementRulesUrl":{"type":"string","format":"uri"},"settlementRulesConfirmed":{"const":true}},"additionalProperties":false},"maxRiskPct":{"type":"number","maximum":5,"minimum":0.1},"bankrollUsd":{"type":"number","maximum":10000000,"minimum":1},"estimatePct":{"type":"number","maximum":99,"minimum":1},"minimumEdgePts":{"type":"number","maximum":20,"minimum":0},"settledHistory":{"type":"object","anyOf":[{"required":["records"],"properties":{"records":{"minItems":1}}},{"required":["trades"],"properties":{"trades":{"minItems":1}}}],"required":["agentId","iterationId"],"properties":{"trades":{"type":"array","items":{"type":"object","required":["id","marketId","side","entryPriceCents","riskPct","pnlUsd","settledAt"],"properties":{"id":{"type":"string","maxLength":120,"minLength":1},"side":{"enum":["yes","no"],"type":"string"},"pnlUsd":{"type":"number"},"riskPct":{"type":"number","maximum":100,"exclusiveMinimum":0},"marketId":{"type":"string","pattern":"^(?:kalshi:[A-Z0-9-]+|polymarket:0x[a-f0-9]{64})$"},"settledAt":{"type":"string","format":"date-time"},"maximumRiskPct":{"type":"number","maximum":5,"exclusiveMinimum":0},"entryPriceCents":{"type":"number","exclusiveMaximum":100,"exclusiveMinimum":0},"maximumEntryPriceCents":{"type":"number","exclusiveMaximum":100,"exclusiveMinimum":0}},"additionalProperties":false},"maxItems":500},"agentId":{"type":"string","maxLength":80,"minLength":1},"records":{"type":"array","items":{"type":"object","required":["id","probabilityPct","outcome","predictedAt","eventAt"],"properties":{"id":{"type":"string","maxLength":120,"minLength":1},"eventAt":{"type":"string","format":"date-time"},"outcome":{"enum":[0,1],"type":"integer"},"predictedAt":{"type":"string","format":"date-time"},"probabilityPct":{"type":"number","exclusiveMaximum":100,"exclusiveMinimum":0},"marketProbabilityPct":{"type":["number","null"],"exclusiveMaximum":100,"exclusiveMinimum":0}},"additionalProperties":false},"maxItems":500},"iterationId":{"type":"string","maxLength":80,"minLength":1}},"additionalProperties":false},"uncertaintyPts":{"type":"number","maximum":20,"minimum":0},"learningProfile":{"type":"object","required":["schemaVersion","agentId","sourceIterationId","sourceResolvedCount","sourceTradeCount","minimumUncertaintyPts","minimumEdgePts","maximumRiskPct"],"properties":{"agentId":{"type":"string","maxLength":80,"minLength":1},"schemaVersion":{"const":1},"maximumRiskPct":{"type":"number","maximum":5,"minimum":0.1},"minimumEdgePts":{"type":"number","maximum":20,"minimum":0},"sourceTradeCount":{"type":"integer","maximum":500,"minimum":0},"sourceIterationId":{"type":"string","maxLength":80,"minLength":1},"sourceResolvedCount":{"type":"integer","maximum":500,"minimum":0},"minimumUncertaintyPts":{"type":"number","maximum":20,"minimum":0}},"additionalProperties":false},"feeAndSlippageCents":{"type":"number","maximum":10,"minimum":0}},"additionalProperties":false},"title":"Evaluate one live market","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_evaluate_market","displayName":"Evaluate one live market"},{"name":"form_verify_evaluation_receipt","description":"Check whether a complete form_evaluate_market response still matches its reproducibility checksum. A valid checksum is not a FORM signature, source-truth verification, or external timestamp.","inputSchema":{"type":"object","required":["schemaVersion","kind","generatedAt","validUntil","action","reason","market","pricing","risk","research","qualification","execution","warning","receipt"],"properties":{"kind":{},"risk":{},"action":{},"market":{},"reason":{},"pricing":{},"receipt":{},"warning":{},"research":{},"execution":{},"validUntil":{},"generatedAt":{},"qualification":{},"schemaVersion":{}},"additionalProperties":false},"title":"Verify a market-evaluation checksum","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_verify_evaluation_receipt","displayName":"Verify a market-evaluation checksum"},{"name":"form_rank_slate","description":"Price up to 20 caller-owned Kalshi and Polymarket forecasts against exact fresh venue tapes, rank WATCH results, allocate contracts within market, correlation-group, and portfolio-loss caps, and checksum the exact request and response with SHA-256. The checksum is not a signature. The tool never infers contract equivalence, creates forecasts, qualifies bets, or places orders.","inputSchema":{"type":"object","required":["forecasts","bankrollUsd","maxRiskPct","maxGroupRiskPct","maxPortfolioRiskPct"],"properties":{"forecasts":{"type":"array","items":{"type":"object","required":["marketId","estimatePct","side","feeAndSlippageCents","uncertaintyPts","minimumEdgePts","correlationGroup"],"properties":{"side":{"enum":["yes","no"],"type":"string"},"marketId":{"type":"string","pattern":"^(?:kalshi:[A-Z0-9-]+|polymarket:0x[a-f0-9]{64})$"},"estimatePct":{"type":"number","maximum":99,"minimum":1},"minimumEdgePts":{"type":"number","maximum":20,"minimum":0},"uncertaintyPts":{"type":"number","maximum":20,"minimum":0},"correlationGroup":{"type":"string","pattern":"^[a-z0-9][a-z0-9:_-]{0,59}$"},"feeAndSlippageCents":{"type":"number","maximum":10,"minimum":0}},"additionalProperties":false},"maxItems":20,"minItems":1},"maxRiskPct":{"type":"number","maximum":5,"minimum":0.1},"bankrollUsd":{"type":"number","maximum":10000000,"minimum":1},"maxGroupRiskPct":{"type":"number","maximum":20,"minimum":0.1},"maxPortfolioRiskPct":{"type":"number","maximum":20,"minimum":0.1}},"additionalProperties":false},"title":"Rank and checksum a mixed-venue forecast slate","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_rank_slate","displayName":"Rank and checksum a mixed-venue forecast slate"},{"name":"form_verify_slate_receipt","description":"Check whether a complete ranked-slate response still matches its reproducibility checksum. A valid checksum is not a FORM signature, proof of origin, or external timestamp.","inputSchema":{"type":"object","required":["schemaVersion","kind","generatedAt","validUntil","summary","bankroll","groups","evaluations","unavailable","qualification","execution","warning","receipt"],"properties":{"kind":{},"groups":{},"receipt":{},"summary":{},"warning":{},"bankroll":{},"execution":{},"validUntil":{},"evaluations":{},"generatedAt":{},"unavailable":{},"qualification":{},"schemaVersion":{}},"additionalProperties":false},"title":"Verify a ranked-slate checksum","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_verify_slate_receipt","displayName":"Verify a ranked-slate checksum"},{"name":"form_price_scenario","description":"Stress an agent-supplied probability estimate, calculate the maximum entry price that preserves its required edge, and cap size by maximum bankroll loss. This never qualifies or places a bet.","inputSchema":{"type":"object","required":["estimatePct","side","offeredPriceCents","feeAndSlippageCents","uncertaintyPts","minimumEdgePts","bankrollUsd","maxRiskPct"],"properties":{"side":{"enum":["yes","no"],"type":"string"},"maxRiskPct":{"type":"number","maximum":5,"minimum":0.1},"bankrollUsd":{"type":"number","maximum":10000000,"minimum":1},"estimatePct":{"type":"number","maximum":99,"minimum":1},"minimumEdgePts":{"type":"number","maximum":20,"minimum":0},"uncertaintyPts":{"type":"number","maximum":20,"minimum":0},"offeredPriceCents":{"type":"number","maximum":99,"minimum":1},"feeAndSlippageCents":{"type":"number","maximum":10,"minimum":0}},"additionalProperties":false},"title":"Price and size a betting scenario","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"form_price_scenario","displayName":"Price and size a betting scenario"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=FORM&config=eyJ1cmwiOiAiaHR0cHM6Ly9mb3JtLm1hcmtldC9hcGkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22FORM%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fform.market%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22FORM%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fform.market%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=FORM&connectorUrl=https%3A%2F%2Fform.market%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"FORM\" --url \"https://form.market/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/form-mcp-6600a8cef9","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/form-mcp-6600a8cef9/tools/{tool}","mcpServerUrl":"https://form.market/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/form-mcp-6600a8cef9?live=1"}