关于 ashareport
ashareport 是查询中国 A 股市场数据的命令行工具和 stdio MCP 服务,涵盖行情、历史数据、新闻、财务报表、指标、内部交易及本地交易时间信息。市场数据工具需要配置数据端点。
主要功能
- 01股票历史数据
- 02实时行情与新闻
- 03财务报表和指标
- 04内部交易数据
- 05本地时间与交易日信息
- 06可配置数据源回退
适用场景
- 01查看股票历史价格
- 02获取实时行情或公司新闻
- 03检查财务报表和指标
- 04查询最近交易日
MCP 相关
提供九种 A 股数据及时间信息工具。市场数据工具向 `ASHAREPORT_API_URL` 配置的端点发送请求;`get_time_info` 在本地运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| adjust | string | 否 | 价格调整模式,例如 qfq(前复权)、hfq(后复权)或 none。 |
| source | string | 否 | 要查询的数据源,例如 yahoo、sina 或 eastmoney。 |
| symbol | string | 是 | 股票代码,例如 AAPL。 |
| end_date | string | 否 | 历史数据范围的结束日期,格式为 YYYY-MM-DD。 |
| fallback | boolean | 否 | 为 true 时,如果所选数据源失败,则改用其他数据源。 |
| interval | string | 否 | K 线间隔单位,例如 day、week 或 month。 |
| recent_n | number | 否 | 仅返回最近的 N 根 K 线。 |
| start_date | string | 否 | 历史数据范围的开始日期,格式为 YYYY-MM-DD。 |
| indicators_list | array | 否 | 与 K 线一起计算的技术指标,例如 SMA 或 RSI。 |
| interval_multiplier | number | 否 | 周期倍数,例如 interval 为 minute 时,5 表示 5 分钟 K 线。 |
详细介绍
ashareport
ashareport 将九种 A 股(中国大陆)股票数据工具——历史数据、实时行情、新闻、资产负债表、利润表、现金流、内部交易和财务指标,以及一个本地时间工具——作为命令行程序和 stdio MCP 服务提供。
数据工具的工作方式(请先阅读)
原始设计是在进程内运行 Python 行情数据库。此 TypeScript 重构改用端点执行器:设置
export ASHAREPORT_API_URL="https://your-data-endpoint.example"
之后,每个数据工具都会向 {ASHAREPORT_API_URL}/<tool> POST JSON {tool, source, params},并返回端点的 JSON 答案。若未设置该变量,数据工具会返回错误:
upstream data endpoint not configured: set ASHAREPORT_API_URL ...。
get_time_info 完全在本地运行,无需端点。
来源回退在本地按文档所列顺序实现:
| Domain | Source order |
|---|---|
| 历史数据 | eastmoney → eastmoney_direct → sina → ths |
| 实时行情 | eastmoney_direct → eastmoney → xueqiu → ths(未提供股票代码时跳过 xueqiu/ths) |
| 新闻 | eastmoney → ths |
| 报表 / 指标 | sina → eastmoney_direct |
先尝试请求的来源;如果 fallback 不为 false,再按领域顺序尝试,直到获得第一个非空结果。如果所有来源都失败,错误会列出每个来源及其错误。
默认值:interval 为 day,adjust 为 none;历史数据的 recent_n 为 100,其他近期 N 条工具的 recent_n 为 10。
indicators_list 会直接传递给端点,不会在本地计算。get_time_info 从今天开始向前查找,跳过星期六和星期日,以确定最近的交易日;不会考虑交易所节假日。
安装
npx @reneturcios/ashareport get_time_info
docker run -i ghcr.io/cloudcorprecords/ashareport # MCP server
命令行界面
ashareport get_hist_data --symbol 600519 --interval day --recent-n 20
ashareport get_realtime_data --symbol 600519
ashareport get_realtime_data # market-wide, symbol optional
ashareport get_news_data --symbol 600519
ashareport get_balance_sheet --symbol 600519
ashareport get_income_statement --symbol 600519
ashareport get_cash_flow --symbol 600519
ashareport get_inner_trade_data --symbol 600519
ashareport get_financial_metrics --symbol 600519
ashareport get_time_info
ashareport --version
退出码:0 表示成功,1 表示工具错误,2 表示用法错误。
MCP 服务
npx -y @reneturcios/ashareport mcp
{
"mcpServers": {
"ashareport": {
"command": "npx",
"args": ["-y", "@reneturcios/ashareport", "mcp"],
"env": { "ASHAREPORT_API_URL": "https://your-data-endpoint.example" }
}
}
}
工具
| 工具 | 必需参数 | 其他参数 |
|---|---|---|
get_hist_data | symbol | interval、interval_multiplier、start_date、end_date、adjust、source、fallback、indicators_list、recent_n |
get_realtime_data | —(symbol 可选) | source、fallback |
get_news_data | symbol | source、fallback、recent_n |
get_balance_sheet | symbol | source、fallback、recent_n |
get_income_statement | symbol | source、fallback、recent_n |
get_cash_flow | symbol | source、fallback、recent_n |
get_inner_trade_data | symbol | — |
get_financial_metrics | symbol | source、fallback、recent_n |
get_time_info | — | —(本地:ISO 时间、Unix 时间戳、最近交易日) |
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner, fake-fetch only, no network
npm run dev # run the CLI from source via tsx
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。