PolyBridge

Calibrated probabilistic foresight for AI agents, powered by live prediction-market signal.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,551Tokens (tool definitions)
~8.9 KBTypical response size
Moderate attention impact (1.21% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "polybridge-mcp": {
      "url": "https://mcp.polybridge.ai/mcp"
    }
  }
}

Remote endpoints

https://mcp.polybridge.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢polybridge_search(query, dimensions, top_k_per_dimension, filters)

Search public prediction markets for markets relevant to a natural-language topic or question. Use when you need candidate markets, market URLs, outcomes, statuses, and relevance scores. Do not use for a final probability forecast, market-history lookup, trading, or private/internal data. Scores are relevance scores, not probabilities.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Natural-language topic or question to match to public markets.",
      "title": "Query",
      "type": "string"
    },
    "dimensions": {
      "default": [
        "direct",
        "upstream",
        "downstream",
        "correlated"
      ],
      "description": "Search dimensions to run. Uses all supported dimensions by default.",
      "items": {
        "enum": [
          "direct",
          "upstream",
          "downstream",
          "correlated"
        ],
        "type": "string"
      },
      "maxItems": 4,
      "minItems": 1,
      "title": "Dimensions",
      "type": "array"
    },
    "top_k_per_dimension": {
      "default": 5,
      "description": "Maximum number of candidate markets to return per search dimension.",
      "maximum": 100,
      "minimum": 1,
      "title": "Top K Per Dimension",
      "type": "integer"
    },
    "filters": {
      "anyOf": [
        {
          "$ref": "#/$defs/SearchToolFilters"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional market filters. Currently only filters.status is supported, with active, closed, or resolved."
    }
  },
  "required": [
    "query"
  ],
  "$defs": {
    "SearchToolFilters": {
      "additionalProperties": false,
      "properties": {
        "status": {
          "anyOf": [
            {
              "enum": [
                "active",
                "closed",
                "resolved"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        }
      },
      "title": "SearchToolFilters",
      "type": "object"
    }
  },
  "title": "polybridge_searchArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "request_id": {
      "title": "Request Id",
      "type": "string"
    },
    "query": {
      "title": "Query",
      "type": "string"
    },
    "total_markets": {
      "title": "Total Markets",
      "type": "integer"
    },
    "dimensions_returned": {
      "items": {
        "type": "string"
      },
      "title": "Dimensions Returned",
      "type": "array"
    },
    "results": {
      "items": {
        "$ref": "#/$defs/CompactSearchResult"
      },
      "title": "Results",
      "type": "array"
    },
    "warnings": {
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    }
  },
  "required": [
    "request_id",
    "query",
    "total_markets",
    "dimensions_returned",
    "results"
  ],
  "$defs": {
    "CompactSearchResult": {
      "properties": {
        "dimension": {
          "title": "Dimension",
          "type": "string"
        },
        "rank": {
          "title": "Rank",
          "type": "integer"
        },
        "market_id": {
          "title": "Market Id",
          "type": "string"
        },
        "platform": {
          "title": "Platform",
          "type": "string"
        },
        "question": {
          "title": "Question",
          "type": "string"
        },
        "outcomes": {
          "items": {
            "type": "string"
          },
          "title": "Outcomes",
          "type": "array"
        },
        "status": {
          "enum": [
            "active",
            "closed",
            "resolved"
          ],
          "title": "Status",
          "type": "string"
        },
        "platform_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Platform Url"
        },
        "score": {
          "title": "Score",
          "type": "number"
        },
        "warnings": {
          "items": {
            "type": "string"
          },
          "title": "Warnings",
          "type": "array"
        }
      },
      "required": [
        "dimension",
        "rank",
        "market_id",
        "platform",
        "question",
        "outcomes",
        "status",
        "score"
      ],
      "title": "CompactSearchResult",
      "type": "object"
    }
  },
  "title": "CompactSearchResponse"
}
🟢polybridge_forecast(question, include_graph)

Generate a read-only probability forecast for a clearly stated future event by searching relevant prediction markets and synthesizing evidence. Use when the user asks for a probability, outlook, or forecast; use polybridge_search when they only need market discovery. Does not place trades, provide financial advice, or access private/internal data.

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "description": "Clearly stated future-event forecasting question, 500 characters or fewer.",
      "title": "Question",
      "type": "string"
    },
    "include_graph": {
      "default": true,
      "description": "Whether to include the causal graph in the structured response.",
      "title": "Include Graph",
      "type": "boolean"
    }
  },
  "required": [
    "question"
  ],
  "title": "polybridge_forecastArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "request_id": {
      "title": "Request Id",
      "type": "string"
    },
    "question": {
      "title": "Question",
      "type": "string"
    },
    "probability": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Probability"
    },
    "confidence": {
      "title": "Confidence",
      "type": "number"
    },
    "confidence_interval": {
      "anyOf": [
        {
          "$ref": "#/$defs/ConfidenceInterval"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "reasoning": {
      "title": "Reasoning",
      "type": "string"
    },
    "engine_type": {
      "$ref": "#/$defs/EngineType"
    },
    "causal_graph": {
      "anyOf": [
        {
          "$ref": "#/$defs/CausalGraphView"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "markets_used": {
      "items": {
        "$ref": "#/$defs/MarketSummary"
      },
      "title": "Markets Used",
      "type": "array"
    },
    "distribution": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "number"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Distribution"
    },
    "latency_ms": {
      "title": "Latency Ms",
      "type": "integer"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "metadata": {
      "additionalProperties": true,
      "default": {},
      "title": "Metadata",
      "type": "object"
    }
  },
  "required": [
    "request_id",
    "question",
    "confidence",
    "reasoning",
    "engine_type",
    "markets_used",
    "latency_ms"
  ],
  "$defs": {
    "CausalGraphView": {
      "properties": {
        "nodes": {
          "items": {
            "$ref": "#/$defs/GraphNode"
          },
          "title": "Nodes",
          "type": "array"
        },
        "edges": {
          "items": {
            "$ref": "#/$defs/GraphEdge"
          },
          "title": "Edges",
          "type": "array"
        }
      },
      "required": [
        "nodes",
        "edges"
      ],
      "title": "CausalGraphView",
      "type": "object"
    },
    "ConfidenceInterval": {
      "properties": {
        "lower": {
          "title": "Lower",
          "type": "number"
        },
        "upper": {
          "title": "Upper",
          "type": "number"
        }
      },
      "required": [
        "lower",
        "upper"
      ],
      "title": "ConfidenceInterval",
      "type": "object"
    },
    "EngineType": {
      "enum": [
        "llm_standin",
        "math_engine",
        "oracle_port",
        "llm_fallback"
      ],
      "title": "EngineType",
      "type": "string"
    },
    "GraphEdge": {
      "properties": {
        "source": {
          "title": "Source",
          "type": "string"
        },
        "target": {
          "title": "Target",
          "type": "string"
        },
        "relationship": {
          "title": "Relationship",
          "type": "string"
        },
        "strength": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Strength"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Description"
        }
      },
      "required": [
        "source",
        "target",
        "relationship",
        "strength",
        "description"
      ],
      "title": "GraphEdge",
      "type": "object"
    },
    "GraphNode": {
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "label": {
          "title": "Label",
          "type": "string"
        },
        "markets": {
          "items": {
            "$ref": "#/$defs/MarketSummary"
          },
          "title": "Markets",
          "type": "array"
        },
        "current_probability": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Current Probability"
        }
      },
      "required": [
        "id",
        "label",
        "markets",
        "current_probability"
      ],
      "title": "GraphNode",
      "type": "object"
    },
    "MarketSummary": {
      "properties": {
        "id": {
          "format": "uuid",
          "title": "Id",
          "type": "string"
        },
        "question": {
          "title": "Question",
          "type": "string"
        },
        "platform": {
          "$ref": "#/$defs/Platform"
        },
        "current_prices": {
          "anyOf": [
            {
              "additionalProperties": {
                "type": "number"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Current Prices"
        },
        "platform_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Platform Url"
        }
      },
      "required": [
        "id",
        "question",
        "platform"
      ],
      "title": "MarketSummary",
      "type": "object"
    },
    "Platform": {
      "enum": [
        "polymarket",
        "kalshi"
      ],
      "title": "Platform",
      "type": "string"
    }
  },
  "title": "ForecastResponse"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools
verifiedversion not recorded2 tools
verifiedversion not recorded2 tools