内容
# Kalshi MCP 服务器
Kalshi 交易 API 的 FastMCP 服务器。
## 设置
此仓库提供 `fastmcp/`,因此请从仓库根目录运行命令:
```bash
python -m kalshi_mcp.server
```
默认情况下,服务器使用 Kalshi 的演示 API 主机。可通过环境变量进行配置:
```bash
export KALSHI_ENV=demo
export KALSHI_API_KEY_ID="your-key-id"
export KALSHI_PRIVATE_KEY_PATH="/path/to/kalshi-private-key.pem"
```
您也可以直接提供 `KALSHI_PRIVATE_KEY`。支持转义换行。
除非明确启用,否则交易工具将被禁用:
```bash
export KALSHI_ENABLE_TRADING=true
```
即便如此,`order_create`、`order_cancel`、`rfq_create` 和 `rfq_delete` 仍需要每次调用时设置 `confirm=true`。
## 工具覆盖
服务器公开了 49 种工具,涵盖核心 Predictions REST API 领域:
- 交易所状态、时间表、公告和用户数据时间戳
- 市场、市场订单簿、市场交易、烛台和系列
- 事件、事件元数据、事件费用变更、事件烛台和多变量事件
- 投资组合余额、子账户余额、头寸、成交、结算、存款和取款
- 订单、订单查找、订单队列位置、V2 创建订单和 V2 取消订单
- 账户限制、API 使用进度、端点成本和 API 密钥列表
- 历史截止日期、历史市场、历史烛台、历史交易、历史订单和历史成交
- 通信 ID、RFQ、报价、创建 RFQ 和删除 RFQ
工具名称按前缀分组,适用于显示工具为扁平列表的 IDE 和 MCP 客户端:
- `exchange_*`
- `market_*`
- `series_*`
- `event_*`
- `portfolio_*`
- `order_*`
- `account_*`
- `historical_*`
- `communications_*`、`rfq_*` 和 `quote_*`
## 本地 MCP 配置
许多 IDE 和 MCP 客户端可以通过 `mcp.json` 配置运行此服务器。使用此结构并为您的机器调整路径/密钥:
```json
{
"mcpServers": {
"kalshi": {
"command": "python",
"args": ["-m", "kalshi_mcp.server"],
"cwd": "",
"env": {
"KALSHI_API_KEY_ID": "your-key-id",
"KALSHI_PRIVATE_KEY_PATH": "/path/to/kalshi-private-key.pem"
}
}
}
}
```
对于公共市场数据工具,可以省略 `env` 块。身份验证的投资组合/订单工具需要 `KALSHI_API_KEY_ID` 和 `KALSHI_PRIVATE_KEY_PATH` 或 `KALSHI_PRIVATE_KEY`。
`cwd` 包含在内,因为这是提供 `fastmcp/` 的源代码checkout。如果您将此软件包安装到 MCP 客户端使用的 Python 环境中,则不需要 `cwd`。
可选环境变量:
- `KALSHI_ENV=production` 从演示环境切换到生产环境。默认为 `demo`。
- `KALSHI_ENABLE_TRADING=true` 启用写入工具,如订单放置和 RFQ 创建。这些工具仍然需要每次调用时设置 `confirm=true`。
## 备注
Kalshi 身份验证请求使用 RSA-PSS 对时间戳、HTTP 方法和请求路径(不含查询参数)的串联进行签名。