Kalshi 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.
Metadata
Release files for kalshi-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kalshi_mcp-0.1.1.tar.gz | 7.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kalshi_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.1 MB
Release files / kalshi_mcp-0.1.1.tar.gz
| Download URL | kalshi_mcp-0.1.1.tar.gz |
|---|---|
| Size | 7.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1cd9206506523bc87255d4b6e35d5d3bf754a94847d3759ebf540d93fdfefce4
|
|
BLAKE2b-256 checksum How to use checksums |
5b7fc8fe12a09ed12ec6bef6892097c72f90d115bb6ca3b5d00d56fdf005052f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / kalshi_mcp-0.1.1-py3-none-any.whl
| Download URL | kalshi_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5c9f610a9816fc45adac903eb4a5cfa593627eb49fe7555a509ed22cb18c4ca1
|
|
BLAKE2b-256 checksum How to use checksums |
88c7a8787463dd62db28306ffc7fb6f63c7c100edc1da25af219d959c079406a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|