Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Mcp Server Kalshi

    A MCP server to interact with Kalshi prediction markets

    10 stars
    Python
    Updated Oct 24, 2025

    Table of Contents

    • Highlights
    • Safety by default
    • Intuitive order model
    • Configuration
    • Claude Desktop (uvx)
    • Claude Desktop (Docker)
    • Local Development
    • MCP Inspector
    • Testing & code quality
    • Authentication

    Table of Contents

    • Highlights
    • Safety by default
    • Intuitive order model
    • Configuration
    • Claude Desktop (uvx)
    • Claude Desktop (Docker)
    • Local Development
    • MCP Inspector
    • Testing & code quality
    • Authentication

    Documentation

    MCP Server Kalshi

    An MCP server that gives Claude Code and other agent harnesses a first-class interface to

    Kalshi. It is built for end-to-end trading: browse markets, research them, read the *exact* settlement

    rules (including pulling the contract-terms PDFs), and execute trades — all through MCP tools.

    Highlights

    • Discovery — list_markets, get_market, list_events, get_event, list_series,

    get_series. (Kalshi has no free-text search; list_markets filters are the search.)

    • Research — get_market_orderbook, get_market_candlesticks, get_market_trades.
    • Deep rules — get_market_rules consolidates a market's rules_primary/rules_secondary,

    early-close conditions, settlement sources, and series prohibitions; fetch_rules_pdf

    downloads and extracts the text of the actual legal contract PDF so the agent can read it.

    • Exchange — get_exchange_status, get_exchange_schedule (is the market open, and its hours).
    • Portfolio — get_balance, get_positions, get_fills, get_settlements.
    • Trading — create_order, cancel_order, amend_order, decrease_order,

    plus list_orders / get_order.

    Safety by default

    • The server targets Kalshi's demo (sandbox) environment unless you explicitly set

    KALSHI_ENV=prod.

    • Order-placing tools (create_order, amend_order) require confirm=true. Without it they

    return a preview — a human-readable summary and the exact payload — and place nothing.

    • Credentials are optional: all market/rules tools work unauthenticated. Only portfolio

    and order tools need an API key + RSA private key.

    Intuitive order model

    Kalshi's V2 order API quotes everything from the YES leg (bid/ask in fixed-point dollars).

    This server exposes the natural model instead — action (buy/sell) + side (yes/no) + a whole

    cents limit price — and translates it (including the buy-NO ⇄ sell-YES price inversion).

    Configuration

    VariableDefaultPurpose
    KALSHI_ENVdemodemo (sandbox) or prod (real money). Derives the base URL.
    KALSHI_API_KEY_(none)_Kalshi API key ID. Required only for authenticated tools.
    KALSHI_PRIVATE_KEY_PATH_(none)_Path to your RSA private key .pem. Required for authenticated tools.
    BASE_URL_(derived)_Optional explicit REST base override (must include /trade-api/v2).

    See .env-example. Get API credentials at

    docs.kalshi.com/getting_started/api_keys

    and a demo account via the

    demo environment guide.

    Claude Desktop (uvx)

    json
    "mcpServers": {
      "kalshi": {
        "command": "uvx",
        "args": ["mcp-server-kalshi"],
        "env": {
          "KALSHI_ENV": "demo",
          "KALSHI_API_KEY": "",
          "KALSHI_PRIVATE_KEY_PATH": "PATH TO YOUR RSA KEY FILE"
        }
      }
    }

    Claude Desktop (Docker)

    json
    "mcpServers": {
      "kalshi": {
        "command": "docker",
        "args": ["run", "--rm", "-i",
          "--mount", "type=bind,src=/Users/username,dst=/Users/username",
          "-e", "KALSHI_ENV", "-e", "KALSHI_API_KEY", "-e", "KALSHI_PRIVATE_KEY_PATH",
          "mcp-server-kalshi"],
        "env": {
          "KALSHI_ENV": "demo",
          "KALSHI_API_KEY": "",
          "KALSHI_PRIVATE_KEY_PATH": "PATH TO YOUR RSA KEY FILE"
        }
      }
    }

    Local Development

    1. Create a .env file (see .env-example).

    2. Install deps: uv sync (add --extra dev for dev tools). Requires Python 3.10+.

    3. Run: uv run start.

    4. Test: uv run pytest.

    MCP Inspector

    bash
    npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-kalshi run start

    Testing & code quality

    bash
    uv sync --extra dev              # install dev tools (ruff, mypy, pytest, ...)
    uv run pytest                    # run the test suite
    uv run pytest --cov              # tests with a coverage report
    uv run ruff check src tests      # lint
    uv run black src tests           # format (add --check to verify only)
    uv run mypy                      # type check
    uv run pre-commit install        # (once) run ruff + black on every commit

    Tests are pure/offline — they exercise the order translation and confirm-gate, the HTTP client

    (via an injected httpx.MockTransport), the MCP tool registry, config, and PDF extraction, all

    without touching the live Kalshi API. CI (.github/workflows/ci.yml) runs ruff + black + mypy +

    pytest across Python 3.10–3.13 on every push/PR, and releases are gated on that same suite.

    Authentication

    Requests are signed with RSA-PSS (MGF1-SHA256, max salt). Each authenticated request sends

    KALSHI-ACCESS-KEY, KALSHI-ACCESS-TIMESTAMP, and KALSHI-ACCESS-SIGNATURE, where the signed

    message is timestamp_ms + METHOD + path (path includes /trade-api/v2, excludes the query

    string).

    Similar MCP

    Based on tags & features

    • ES

      Esp Rainmaker Mcp

      Python·
      9
    • PE

      Personalizationmcp

      Python·
      12
    • FA

      Fal Mcp Server

      Python·
      8
    • GG

      Gget Mcp

      Python·
      17

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • ES

      Esp Rainmaker Mcp

      Python·
      9
    • PE

      Personalizationmcp

      Python·
      12
    • FA

      Fal Mcp Server

      Python·
      8
    • GG

      Gget Mcp

      Python·
      17

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k