使用说明
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"
}
}
}
本地开发
- 创建一个
.env文件(参见.env-example). - 安装deps:
uv sync(添加--extra dev用于开发工具)。需要Python 3.10+。 - 运行:
uv run start. - 测试:
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,排除查询
字符串)。