内容
# 未来金融开放平台MCP服务器
一个MCP服务器,暴露了未来金融开放平台(Futu OpenD)的**只读投资研究**报价API(股票/期权/认购权/期货价格,财务数据,新闻/公告,股东,机构,宏观经济)作为MCP工具。它借用了您已经运行的、已登录的未来金融开放平台网关 - 无需单独认证。无交易,无订阅。
它封装了[官方未来金融技能包](https://openapi.futunn.com/skills/opend-skills.zip),保持不变,因此它与未来金融自己的字段解析逻辑保持同步。
## 安装和运行
### Claude 代码 / Claude 桌面版(标准输入输出)
```bash
claude mcp add futu-opend-mcp -- uvx futu-opend-mcp
```
或者,在PyPI版本发布之前,从git安装:
```bash
claude mcp add futu-opend-mcp -- uvx --from git+https://github.com/ER-EPR/futu-opend-mcp futu-opend-mcp
```
### 通过 mcpo 打开 WebUI(HTTP)
```bash
uvx mcpo --port 8000 -- futu-opend-mcp
# OpenAPI 在 http://localhost:8000,文档在 /docs
```
### MCP JSON 配置
将以下内容添加到 `~/.claude/settings.json`、`.mcp.json` 或 Claude 桌面版配置中:
**远程 OpenD(加密):**
```json
{
"mcpServers": {
"futu-opend": {
"command": "uvx",
"args": ["futu-opend-mcp"],
"env": {
"FUTU_OPEND_HOST": "您的opend主机",
"FUTU_OPEND_PORT": "11111",
"FUTU_OPEND_ENCRYPT": "true",
"FUTU_OPEND_RSA_KEY": "-----BEGIN RSA PRIVATE KEY-----\\nMIIC...\\n-----END RSA PRIVATE KEY-----"
}
}
}
}
```
**本地 OpenD(无加密):**
```json
{
"mcpServers": {
"futu-opend": {
"command": "uvx",
"args": ["futu-opend-mcp"],
"env": {
"FUTU_OPEND_ENCRYPT": "false"
}
}
}
}
```
提取用于环境变量的RSA密钥:
```bash
docker exec futu-opend cat /rsa/rsa_private_pkcs1.pem | awk '{printf "%s\\n", $0}'
```
## 配置(环境变量)
| 变量 | 默认值 | 用途 |
|---|---|---|
| `FUTU_OPEND_HOST` | `127.0.0.1` | OpenD主机 |
| `FUTU_OPEND_PORT` | `11111` | OpenD端口 |
| `FUTU_OPEND_RSA_KEY` | - | 共享RSA私钥的内联PEM |
| `FUTU_OPEND_RSA_KEY_FILE` | - | PEM文件的路径(替代上述方法) |
| `FUTU_OPEND_ENCRYPT` | `true` | 原型加密;`false`用于本地127.0.0.1 OpenD |
| `FUTU_OPEND_LOG_LEVEL` | `INFO` | 日志级别 |
OpenD和SDK共享一个RSA私钥(PKCS#1 1024位)。从dockerized OpenD获取:`docker compose logs opend | grep -A20 'NEW RSA PRIVATE KEY'`.
## 工具
大约50个只读工具,涵盖:价格/报价,搜索,筛选,财务数据,研究/估值,企业行动,股东,简介,资本流动,空头兴趣,期权,期权底层IV/HV,认购权/期货,板块,产业链,机构,宏观经济,分红,IPO和诊断。参见 `docs/superpowers/specs/2026-07-10-futu-opend-mcp-design.md`.
## 开发
```bash
pip install -e ".[dev]"
pytest -q -m "not integration" # 单元测试(无需OpenD)
ruff check .
```
实时OpenD集成测试标记为`integration`,当OpenD无法访问时会自动跳过。使用 `./scripts/sync_skill.sh` 重新提供官方技能包。
## 致谢
封装了官方的未来金融 `futuapi` 技能包(在 `src/futu_opend_mcp/_skill/futuapi/` 下保持不变)。该文件夹中的法律条款适用。
## License
MIT.