kalshi

kalshi

Enables AI agents to read Kalshi prediction market data, manage portfolios, and place or cancel trades only with explicit user approval.

Category
Visit Server

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:

  1. Click "Create New API Key"
  2. Save your Key ID (KALSHI_ACCESS_KEY)
  3. 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

  1. Open Cursor
  2. Go to Settings → Plugins → Marketplace
  3. Search for "kalshi"
  4. 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

Available Tools

Read-Only Tools (Safe)

  • kalshi_get_balance - Check account balance and portfolio value
  • kalshi_list_markets - Browse available prediction markets
  • kalshi_get_market - Get details about a specific market
  • kalshi_get_orderbook - View current orderbook with prices
  • kalshi_get_positions - View your current positions
  • kalshi_list_orders - View your current orders

Write Tools (Require User Approval)

  • kalshi_create_order - Place a new order
  • kalshi_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:

  1. Show you the market details
  2. Display the current orderbook
  3. Ask for your explicit confirmation
  4. 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:

  1. 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
  2. Submit at: https://cursor.com/marketplace/publish

  3. 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

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured