Kalshi MCP server
{
"mcpServers": {
"9crusher-kalshi": {
"command": "uvx",
"args": [
"mcp-server-kalshi"
],
"env": {
"KALSHI_API_KEY": "<kalshi_api_key>",
"KALSHI_PRIVATE_KEY_PATH": "/path/to/directory",
"BASE_URL": "https://..."
}
}
}
}{
"mcpServers": {
"9crusher-kalshi": {
"command": "uvx",
"args": [
"mcp-server-kalshi"
],
"env": {
"KALSHI_API_KEY": "<kalshi_api_key>",
"KALSHI_PRIVATE_KEY_PATH": "/path/to/directory",
"BASE_URL": "https://..."
}
}
}
}{
"mcpServers": {
"9crusher-kalshi": {
"command": "uvx",
"args": [
"mcp-server-kalshi"
],
"env": {
"KALSHI_API_KEY": "<kalshi_api_key>",
"KALSHI_PRIVATE_KEY_PATH": "/path/to/directory",
"BASE_URL": "https://..."
}
}
}
}{
"servers": {
"9crusher-kalshi": {
"command": "uvx",
"args": [
"mcp-server-kalshi"
],
"env": {
"KALSHI_API_KEY": "${input:kalshi_api_key}",
"KALSHI_PRIVATE_KEY_PATH": "${input:kalshi_private_key_path}",
"BASE_URL": "${input:base_url}"
}
}
},
"inputs": [
{
"id": "kalshi_api_key",
"type": "promptString",
"description": "Kalshi api key",
"password": true
},
{
"id": "kalshi_private_key_path",
"type": "promptString",
"description": "Kalshi private key path",
"password": true
},
{
"id": "base_url",
"type": "promptString",
"description": "Base url",
"password": true
}
]
}{
"mcpServers": {
"9crusher-kalshi": {
"command": "uvx",
"args": [
"mcp-server-kalshi"
],
"env": {
"KALSHI_API_KEY": "<kalshi_api_key>",
"KALSHI_PRIVATE_KEY_PATH": "/path/to/directory",
"BASE_URL": "https://..."
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall uvx mcp-server-kalshiversion 0.2.1
What it does
An MCP server that connects Claude and other agents to Kalshi prediction markets. It exposes tools for discovering and researching markets, reading settlement rules and contract PDFs, checking account balances and positions, and executing trades—all defaulting to Kalshi's sandbox environment.
- Browse available prediction markets on Kalshi, filter by category or series, and retrieve detailed market information including rules and settlement sources.
- Analyze market data such as order books, candlestick charts, and recent trades to inform trading decisions before placing orders.
- Place, amend, cancel, or decrease orders on Kalshi markets with a preview-first workflow that requires explicit confirmation before any trade executes.
Tools this server exposes
| Tool | Does |
|---|---|
| list_markets | List Kalshi markets with optional filters. |
| get_market | Retrieve details for a specific market. |
| list_events | List events on Kalshi. |
| get_event | Retrieve details for a specific event. |
| list_series | List market series. |
| get_series | Retrieve details for a specific series. |
| get_market_orderbook | Retrieve the current order book for a market. |
| get_market_candlesticks | Retrieve candlestick chart data for a market. |
| get_market_trades | Retrieve recent trades for a market. |
| get_market_rules | Get consolidated market rules including settlement sources and early-close conditions. |
| fetch_rules_pdf | Download and extract text from the legal contract PDF for a market. |
| get_exchange_status | Check if Kalshi markets are currently open. |
| get_exchange_schedule | Retrieve Kalshi's market hours schedule. |
| get_balance | Retrieve your account balance. |
| get_positions | Retrieve your current positions across markets. |
| get_fills | Retrieve your order fills. |
| get_settlements | Retrieve your settlement history. |
| create_order | Place a new order; returns a preview unless confirm=true. |
| cancel_order | Cancel an existing order. |
| amend_order | Amend an existing order; returns a preview unless confirm=true. |
| decrease_order | Decrease the quantity of an existing order. |
| list_orders | List your orders. |
| get_order | Retrieve details for a specific order. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.