mcpField
K
kalshi

kalshi

Local
github.com/yakub268Finance1Updated 36w ago

About kalshi

kalshi is an MCP server for Kalshi prediction markets, for users who need to search markets, inspect accounts, and submit limit orders. It provides market and portfolio data with RSA-PSS authentication and request throttling.

Key features

  1. 01Search markets by keyword
  2. 02View market details and order books
  3. 03Check balances and positions
  4. 04Find markets trending by volume
  5. 05Submit limit orders

Use cases

  1. 01Find prediction markets on a specific topic
  2. 02Review market prices, volume, and order books
  3. 03Check positions and submit a limit order

MCP support

The MCP server provides six tools and two resources for market search, account review, and order placement. It uses local RSA-PSS signing, with built-in request throttling and retries for 429 responses.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"yakub268-kalshi": {
"command": "uvx",
"args": [
"kalshi-mcp"
],
"env": {
"KALSHI_API_KEY": "<KALSHI_API_KEY>",
"KALSHI_PRIVATE_KEY_PATH": "<KALSHI_PRIVATE_KEY_PATH>"
}
}
}
}
Run commanduvx kalshi-mcp
Environment variables to set
KALSHI_API_KEYSecretYour Kalshi API key ID
KALSHI_PRIVATE_KEY_PATHSecretPath to your Kalshi RSA private key file (.pem)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypikalshi-mcp0.1.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Kalshi MCP Server

mcp-name: io.github.yakub268/kalshi

MCP Python

Model Context Protocol server for Kalshi prediction markets. Search, analyze, and trade prediction markets directly through Claude Desktop.

Built with production-grade authentication and rate limiting from a live trading system with 4+ months of uptime.

Features

Tools (6)
  • search_markets - Search by keyword, get prices/volume
  • get_market_details - Full market info + orderbook depth
  • get_portfolio - Account balance + open positions
  • get_trending_markets - Top markets by 24h volume
  • place_order - Execute limit orders
  • get_series_markets - All markets in a series (e.g., Fed events)
Resources (2)
  • kalshi://balance - Current account balance
  • kalshi://positions - Open positions list

Installation

Prerequisites
  1. Kalshi API credentials: Get from kalshi.com/profile/api-keys

    • Download your API key ID
    • Download the RSA private key (.pem file)
  2. Python 3.10+

Quick Install (PyPI)
pip install kalshi-mcp
From Source
# Clone repository
git clone https://github.com/yakub268/kalshi-mcp.git
cd kalshi-mcp

# Install dependencies
pip install -e .
Claude Desktop Configuration

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "kalshi": {
      "command": "python",
      "args": ["-m", "kalshi_mcp"],
      "env": {
        "KALSHI_API_KEY": "your-api-key-here",
        "KALSHI_PRIVATE_KEY_PATH": "C:\\Users\\YourName\\.trading_keys\\kalshi_private_key.pem"
      }
    }
  }
}

Note:

  • Replace your-api-key-here with your actual Kalshi API key
  • Update the private key path to where you saved your .pem file
  • On Windows, use double backslashes (\\) in paths
Test the Connection

Restart Claude Desktop, then try:

What's my Kalshi balance?

or

Search for bitcoin prediction markets

Usage Examples

Search for Markets
Search for markets about the Federal Reserve
Get Market Analysis
Show me details for ticker KXFED-26MAR19-B5.25
Check Portfolio
What's my current Kalshi portfolio?
Place an Order
Buy 10 contracts of KXHIGHNYC-26FEB20-B34.5 YES at 25 cents

Authentication

This server uses RSA-PSS signature authentication:

  1. Each request is signed with your private key
  2. Kalshi verifies the signature with your public key
  3. Thread-safe rate limiting (150ms between requests)
  4. Automatic retry on 429 rate limit errors

Security: Your private key never leaves your machine. The server only signs requests locally.

Rate Limiting

  • Built-in 150ms spacing between requests (~6.6 req/s)
  • Automatic exponential backoff on 429 errors (0.5s → 1s → 2s)
  • Safe for concurrent use across multiple Claude conversations

Architecture

Built on production code from a live Kalshi trading bot:

  • Authentication: Reused from kalshi_client.py (4+ months uptime)
  • Rate limiting: Shared across all client instances
  • Error handling: Battle-tested retry logic
  • Market discovery: Liquidity scoring from scanner.py

Contributing

Issues and PRs welcome! This is an open-source project built to fill a gap in the MCP ecosystem.

License

MIT License - see LICENSE file

Acknowledgments


Questions? Open an issue or reach out on GitHub.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.