kalshi
Enables AI agents to read Kalshi prediction market data, manage portfolios, and place or cancel trades only with explicit user approval.
README
Kalshi Prediction Markets Plugin for Cursor
A Cursor marketplace plugin that connects to the Kalshi prediction markets API, enabling AI agents to read markets and place trades with user approval.
Features
- Read Market Data: Browse markets, check prices, view orderbooks
- Portfolio Management: Check balance and view positions
- Order Placement: Place and cancel orders (only with explicit user approval)
- Demo & Production: Supports both demo and production environments
- Secure Authentication: RSA-PSS signature-based authentication
Installation
1. Create API Keys
Visit https://kalshi.com/account/profile and:
- Click "Create New API Key"
- Save your Key ID (KALSHI_ACCESS_KEY)
- Download and save your Private Key (KALSHI_PRIVATE_KEY) - you won't be able to retrieve it again!
For testing, you can also create keys on the demo environment at https://demo.kalshi.com/account/profile.
2. Install the Plugin
- Open Cursor
- Go to Settings → Plugins → Marketplace
- Search for "kalshi"
- Click Install
Or clone this repository and install locally:
git clone https://github.com/evanparrott/kalshi
3. Configure Variables
In Cursor, go to Settings → Plugins → kalshi and set:
- KALSHI_ACCESS_KEY: Your API Key ID from Kalshi
- KALSHI_PRIVATE_KEY: Your RSA private key (entire PEM file contents)
- KALSHI_BASE_URL (optional):
- Production:
https://external-api.kalshi.com(default) - Demo:
https://external-api.demo.kalshi.co
- Production:
Available Tools
Read-Only Tools (Safe)
kalshi_get_balance- Check account balance and portfolio valuekalshi_list_markets- Browse available prediction marketskalshi_get_market- Get details about a specific marketkalshi_get_orderbook- View current orderbook with priceskalshi_get_positions- View your current positionskalshi_list_orders- View your current orders
Write Tools (Require User Approval)
kalshi_create_order- Place a new orderkalshi_cancel_order- Cancel an existing order
Usage Examples
Browse Markets
"What prediction markets are available on Kalshi?"
Check Balance
"What's my Kalshi account balance?"
Get Market Info
"Show me details about the market HIGHNY-24JAN01-T60"
Place an Order (Requires Confirmation)
"Buy 10 YES contracts on HIGHNY-24JAN01-T60 at 56 cents"
The agent will:
- Show you the market details
- Display the current orderbook
- Ask for your explicit confirmation
- Only then place the order
Safety Features
- Skill File: The plugin includes a skill file that agents must read before trading
- Explicit Approval Required: Orders are never placed without user confirmation
- No Price Guessing: Agents must use actual orderbook prices
- Clear Confirmations: All trade parameters are confirmed before execution
- Demo Mode: Test safely with fake money on the demo environment
Demo vs Production
Demo Environment
- Base URL:
https://external-api.demo.kalshi.co - Uses fake money for testing
- Separate account and API keys
- Perfect for testing the plugin
Production Environment
- Base URL:
https://external-api.kalshi.com - Uses real money
- Default if KALSHI_BASE_URL is not set
Always test with demo first!
Development
Prerequisites
- Node.js 18 or higher
- npm
Local Development
# Clone the repository
git clone https://github.com/evanparrott/kalshi
cd kalshi
# Install dependencies
npm install
# Set environment variables
export KALSHI_ACCESS_KEY="your-key-id"
export KALSHI_PRIVATE_KEY="$(cat path/to/your/private-key.pem)"
export KALSHI_BASE_URL="https://external-api.demo.kalshi.co"
# Run the server
npm start
Testing
The MCP server communicates via stdio. You can test it with the MCP Inspector or integrate it directly into Cursor.
Publishing to Cursor Marketplace
This plugin is designed to be submitted to the Cursor marketplace:
-
Ensure all requirements are met:
- Public GitHub repository
- Valid
.cursor-plugin/plugin.json - Valid
.cursor-plugin/mcp.json - Skill file at
skills/kalshi-trading/SKILL.md - Working MCP server
- No secrets in the repository
-
Submit at: https://cursor.com/marketplace/publish
-
Provide:
- Repository URL
- Plugin description
- Usage examples
- Any special installation notes
API Reference
For full Kalshi API documentation, visit:
Security Notes
- Never commit your API keys or private key to version control
- Store private keys securely
- Use demo environment for testing
- Private keys cannot be recovered - save them immediately when generated
- The plugin uses RSA-PSS SHA256 signatures for authentication
Troubleshooting
"Failed to parse KALSHI_PRIVATE_KEY"
Ensure your private key is in PEM format and includes the full key with headers:
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
"Unauthorized" errors
- Verify your KALSHI_ACCESS_KEY is correct
- Ensure KALSHI_PRIVATE_KEY matches the key for your KALSHI_ACCESS_KEY
- Check you're using the right base URL (demo vs production)
"Market not found" errors
- Verify the ticker symbol is correct
- Check the market status with
kalshi_get_market - Markets may be closed or settled
License
MIT License - see LICENSE file for details.
Author
Evan Parrott
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Disclaimer
This is an unofficial plugin. Use at your own risk. Trading prediction markets involves financial risk. Always understand what you're trading and never trade more than you can afford to lose.
Links
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.