eastmoney-skills2mcp
by essos-bot
README.md
# EastMoney Skills → MCP
基于 [Model Context Protocol](https://modelcontextprotocol.io/) 的东方财富金融数据工具集,把东方财富 / 妙想的金融能力封装为 11 个 MCP Tool,可直接接入 Claude Code、Cursor 等 AI 客户端,用自然语言查询 A 股行情、财报、选股、热点、自选股、LOF 套利等。
## 功能(11 个 Tool)
| Tool | 说明 | 依赖 |
|------|------|------|
| `diagnose_stock` | 综合诊股:评分、五维图、估值状态、公司概况 | 公开接口 |
| `financial_data` | 财务数据:主要指标 / 利润表 / 现金流量表 | 公开接口 |
| `screen_stocks` | 智能选股:ROE、净利润增长、营收增长、股息率、市值等多条件筛选 | 公开接口 |
| `hotspot_discovery` | 热点发现:行业 / 概念 / 地域板块排行 | 公开接口 |
| `earnings_review` | 业绩点评:盈利预测 + 机构评级 | 公开接口 |
| `finance_news_search` | 金融资讯搜索:自然语言查询公告 / 研报 / 新闻 | **妙想 API Key** |
| `mx_data_query` | 妙想金融数据查询:自然语言查行情 / 财务 / 估值等 | **妙想 API Key** |
| `mx_stock_screen` | 妙想智能选股:自然语言描述条件选股 | **妙想 API Key** |
| `mx_self_select_query` | 查询我的自选股列表 | **妙想 API Key** |
| `mx_self_select_manage` | 管理自选股(自然语言添加 / 删除) | **妙想 API Key** |
| `lof_arbitrage_report` | LOF 基金套利日报:场内外溢 / 折价率排行 | 公开接口 |
> 标注 **妙想 API Key** 的工具需配置环境变量 `MX_APIKEY`(见下)。
## 获取妙想 API Key
妙想官方申请入口:<https://marketing.dfcfs.com/views/finskillshub/indexZfdcxNpu?appfenxiang=1>
申请后将获得的 Key 配置到环境变量 `MX_APIKEY`。
## 快速开始
```bash
# 安装依赖
npm install
# 编译
npm run build
# 配置环境变量
cp .env.example .env
# 编辑 .env 填入 MX_APIKEY、AUTH_TOKEN 等
# 启动服务
npm start
```
服务默认监听 `http://0.0.0.0:9000/mcp`。
## 配置
通过 `.env` 文件或环境变量配置:
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `PORT` | `9000` | 服务端口 |
| `AUTH_TOKEN` | (空) | Bearer token 认证密钥,留空则不启用认证 |
| `MX_APIKEY` | (空) | 东方财富妙想 API Key,妙想系列工具必需 |
| `ALLOWED_HOSTS` | `localhost,127.0.0.1,::1` | 允许访问的 Host(逗号分隔),公网 / 域名部署时按需添加 |
`.env` 示例:
```
PORT=9000
AUTH_TOKEN=your-secret-token
MX_APIKEY=your-miaoxiang-api-key
```
## 接入 Claude Code
### 方式一:stdio 模式(推荐,一行命令添加)
无需单独启动服务,Claude Code 会自动拉起进程:
```bash
claude mcp add miaoxiang -- node /path/to/eastmoney-skills2mcp/dist/index.js --stdio
```
加 `-s user` 全局生效(所有项目可用):
```bash
claude mcp add -s user miaoxiang \
--env MX_APIKEY=your-key \
--env AUTH_TOKEN=your-token \
-- node /path/to/eastmoney-skills2mcp/dist/index.js --stdio
```
### 方式二:HTTP 模式(远程服务器部署)
需先启动服务(`npm start`),然后通过 URL 连接:
```bash
# 本机
claude mcp add --transport http miaoxiang http://localhost:9000/mcp \
--header "Authorization: Bearer your-secret-token"
# 远程服务器
claude mcp add --transport http -s user miaoxiang http://YOUR_SERVER:9000/mcp \
--header "Authorization: Bearer your-secret-token"
```
### 方式三:配置文件
在项目根目录创建 `.mcp.json`:
```json
{
"mcpServers": {
"miaoxiang": {
"url": "http://localhost:9000/mcp",
"headers": {
"Authorization": "Bearer your-secret-token"
}
}
}
}
```
### 管理命令
```bash
claude mcp list # 查看已添加的 MCP 服务
claude mcp remove miaoxiang # 移除
```
## 接入 Cursor
在 Cursor Settings → MCP 中添加:
```json
{
"mcpServers": {
"miaoxiang": {
"url": "http://localhost:9000/mcp",
"headers": {
"Authorization": "Bearer your-secret-token"
}
}
}
}
```
## 使用示例
在 AI 客户端中直接用自然语言调用:
- "帮我诊断一下贵州茅台,代码 600519"
- "查一下宁德时代最近 4 期的财务数据"
- "筛选 ROE 大于 15%、市值超 500 亿的半导体股票"
- "今天 A 股行业板块热点有哪些"
- "中国平安的机构评级怎么样"
- "把贵州茅台加入我的自选股"
- "今天 LOF 基金有哪些溢价套利机会"
## 技术栈
- Node.js 18+ / TypeScript 5.x
- `@modelcontextprotocol/sdk` v1.x (Streamable HTTP transport)
- Express 5 + Zod
## 免责声明
本工具仅供学习交流,所有数据来自东方财富、新浪、天天基金等公开 / 第三方接口。使用者需自行遵守各数据源的服务条款与相关法律法规,本工具不提供任何投资建议,投资决策风险自负。
## License
[MIT](./LICENSE)
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues