Bellwether

Live Kalshi + Polymarket prediction-market data and cross-venue arbitrage spreads, one schema.

Should I use this

Quality & Safety

B
Description quality
87%
Schema completeness
70%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~322Tokens (tool definitions)
~946 BTypical response size
Minimal attention impact (0.25% 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": {
    "prediction-markets": {
      "url": "https://api.bellwether.markets/mcp"
    }
  }
}

Remote endpoints

https://api.bellwether.markets/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_markets(limit, venue)

List open prediction markets across Kalshi and Polymarket (normalized).

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "venue": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Venue"
    }
  },
  "title": "list_marketsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_marketsOutput"
}
🟢get_market(venue, market_id)

Get one normalized market. venue is 'kalshi' or 'polymarket'.

Input Schema

{
  "type": "object",
  "properties": {
    "venue": {
      "title": "Venue",
      "type": "string"
    },
    "market_id": {
      "title": "Market Id",
      "type": "string"
    }
  },
  "required": [
    "venue",
    "market_id"
  ],
  "title": "get_marketArguments"
}
🟢matching_markets(limit, threshold)

Find the same real-world event on both venues, with the YES price spread.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 100,
      "title": "Limit",
      "type": "integer"
    },
    "threshold": {
      "default": 0.55,
      "title": "Threshold",
      "type": "number"
    }
  },
  "title": "matching_marketsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "matching_marketsOutput"
}

Recommended Prompts

retrieve_data
Get details about [item] from Bellwether
Expected tools: get_market
fetch_info
Fetch [information type] using Bellwether
Expected tools: get_market
list_items
List all [items] available in Bellwether
Expected tools: list_markets
browse_collection
Show me the [collection] from Bellwether
Expected tools: list_markets
explore_workflow
List available [items], then get details for each one using Bellwether
Expected tools: list_marketsget_market

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools