Kalshi交易接口服务器

MCP服务器为Claude Code等代理工具提供与Kalshi交易平台的一站式接口,支持市场浏览、研究、规则查阅及交易执行。

  • by 9crusher
  • Python
  • 本地部署
  • 32 星标
  • 更新于
在 GitHub 查看 9crusher/mcp-server-kalshi

使用说明

MCP服务器Kalshi

MCP服务器为Claude Code和其他代理提供一流的接口 卡尔希。它是为端到端交易而构建的:浏览市场、研究市场、阅读 精确 定居点 规则(包括提取合同条款PDF)和执行交易——所有这些都是通过MCP工具完成的。

亮点

  • 发现 — list_markets, get_market, list_events, get_event, list_series, get_series(Kalshi没有免费的文本搜索; list_markets 过滤器就是搜索。)
  • 研究 — get_market_orderbook, get_market_candlesticks, get_market_trades.
  • 深层规则 — get_market_rules 巩固市场 rules_primary/rules_secondary, 早期关闭条件、定居来源和一系列禁令; fetch_rules_pdf 下载并提取实际法律合同PDF的文本,以便代理人阅读。
  • 交换 — get_exchange_status, get_exchange_schedule (市场是否开放,以及开放时间)。
  • 投资组合 — get_balance, get_positions, get_fills, get_settlements.
  • 交易 — create_order, cancel_order, amend_order, decrease_order, 加 list_orders / get_order.

默认安全

  • 服务器的目标是Kalshi的 演示(沙盒) 环境,除非您明确设置 KALSHI_ENV=prod.
  • 下单工具(create_order, amend_order)要求 confirm=true没有它,他们 返回a 预览 --一个人类可读的摘要和确切的有效载荷——什么都不放。
  • 凭据是 optional:所有市场/规则工具均未经身份验证。仅投资组合 订单工具需要一个API密钥+RSA私钥。

直观的订单模型

Kalshi的V2订单API引用了YES分支的所有内容(bid/ask 以定点美元计)。 此服务器公开自然模型-- action (买入/卖出)+ side (是/否)+整体 分 限价——并对其进行翻译(包括买入否⇄ 卖出YES价格反转)。

配置

变量 默认值 用途
KALSHI_ENV demo demo (沙盒)或 prod (真钱)。导出基本URL
KALSHI_API_KEY (无) Kalshi API密钥ID。只有经过身份验证的工具才需要。
KALSHI_PRIVATE_KEY_PATH (无) RSA私钥的路径 .pem。经过身份验证的工具需要。
BASE_URL (派生) 可选的显式REST基础覆盖(必须包括 /trade-api/v2).

看 .env-example.在获取API证书 docs.kalshi.com/getting_arted/api_keys 以及通过 演示环境指南.

克劳德桌面(uvx)

"mcpServers": {
  "kalshi": {
    "command": "uvx",
    "args": ["mcp-server-kalshi"],
    "env": {
      "KALSHI_ENV": "demo",
      "KALSHI_API_KEY": "<YOUR KALSHI API KEY>",
      "KALSHI_PRIVATE_KEY_PATH": "PATH TO YOUR RSA KEY FILE"
    }
  }
}

克劳德桌面(Docker)

"mcpServers": {
  "kalshi": {
    "command": "docker",
    "args": ["run", "--rm", "-i",
      "--mount", "type=bind,src=/Users/username,dst=/Users/username",
      "-e", "KALSHI_ENV", "-e", "KALSHI_API_KEY", "-e", "KALSHI_PRIVATE_KEY_PATH",
      "mcp-server-kalshi"],
    "env": {
      "KALSHI_ENV": "demo",
      "KALSHI_API_KEY": "<YOUR KALSHI API KEY>",
      "KALSHI_PRIVATE_KEY_PATH": "PATH TO YOUR RSA KEY FILE"
    }
  }
}

本地开发

  1. 创建一个 .env 文件(参见 .env-example).
  2. 安装deps: uv sync (添加 --extra dev 用于开发工具)。需要Python 3.10+。
  3. 运行: uv run start.
  4. 测试: uv run pytest.

MCP检查员

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-kalshi run start

测试和代码质量

uv sync --extra dev              # install dev tools (ruff, mypy, pytest, ...)
uv run pytest                    # run the test suite
uv run pytest --cov              # tests with a coverage report
uv run ruff check src tests      # lint
uv run black src tests           # format (add --check to verify only)
uv run mypy                      # type check
uv run pre-commit install        # (once) run ruff + black on every commit

测试是纯/离线的——它们执行订单转换和确认门,即HTTP客户端 (通过注射 httpx.MockTransport),MCP工具注册表、配置和PDF提取,所有 而不接触现场的卡尔希API。CI(.github/workflows/ci.yml)运行ruff+黑色+mypy+ pytest跨Python 3.10-3.13在每个推送/PR上运行,发布都在同一套件上进行。

认证

请求由RSA-PSS(MGF1-SHA256,最大盐)签名。每个经过身份验证的请求都会发送 KALSHI-ACCESS-KEY, KALSHI-ACCESS-TIMESTAMP,以及 KALSHI-ACCESS-SIGNATURE,其中签名 消息是 timestamp_ms + METHOD + path (路径包括 /trade-api/v2,排除查询 字符串)。