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
- 01Search markets by keyword
- 02View market details and order books
- 03Check balances and positions
- 04Find markets trending by volume
- 05Submit limit orders
Use cases
- 01Find prediction markets on a specific topic
- 02Review market prices, volume, and order books
- 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.
uvx kalshi-mcpKALSHI_API_KEYSecretYour Kalshi API key IDKALSHI_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.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEKalshi MCP Server
mcp-name: io.github.yakub268/kalshi
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/volumeget_market_details- Full market info + orderbook depthget_portfolio- Account balance + open positionsget_trending_markets- Top markets by 24h volumeplace_order- Execute limit ordersget_series_markets- All markets in a series (e.g., Fed events)
Resources (2)
kalshi://balance- Current account balancekalshi://positions- Open positions list
Installation
Prerequisites
-
Kalshi API credentials: Get from kalshi.com/profile/api-keys
- Download your API key ID
- Download the RSA private key (.pem file)
-
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-herewith your actual Kalshi API key - Update the private key path to where you saved your
.pemfile - 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:
- Each request is signed with your private key
- Kalshi verifies the signature with your public key
- Thread-safe rate limiting (150ms between requests)
- 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
- Built with FastMCP
- Kalshi API documentation: docs.kalshi.com
- Production code from my trading bot arsenal
Questions? Open an issue or reach out on GitHub.
Comments
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.