A股市场数据分析 MCP 服务器 - 基于 Model Context Protocol 的 A 股市场数据分析工具
Project description
A股mcp。
本项目是一个基于专注于 A 股市场的 MCP 服务器,它提供股票基本信息、历史 K 线数据、财务指标、宏观经济数据等多种查询功能,理论上来说,可以回答有关 A 股市场的任何问题,无论是针对大盘还是特定股票。
🚀 快速开始
方式一:正式环境安装(推荐)
使用 uvx 安装(推荐)
# 安装并运行(一次性执行)
uvx ashare-mcp
使用 pip 安装
# 安装到当前环境
pip install ashare-mcp
# 运行 MCP 服务器
ashare-mcp
方式二:本地开发环境
使用 uv 进行本地开发
# 1. 克隆项目
git clone <your-repo-url>
cd A股数据分析
# 2. 创建虚拟环境
uv venv
# 3. 激活虚拟环境
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# 4. 安装依赖
uv sync
# 5. 运行 MCP 服务器
python -m a_share_mcp.mcp_server
使用 pip 进行本地开发
# 1. 克隆项目
git clone <your-repo-url>
cd A股数据分析
# 2. 创建虚拟环境
python -m venv .venv
# 3. 激活虚拟环境
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# 4. 安装开发依赖
pip install -e .
# 5. 运行 MCP 服务器
python -m a_share_mcp.mcp_server
使用:在 MCP 客户端中配置服务器
在支持 MCP 的客户端(如 VS Code 插件、CherryStudio 等)中,你需要配置如何启动此服务器。
方法一:使用 JSON 配置的 IDE (例如 Cursor、VSCode、Trae 等)
对于需要编辑 JSON 文件来配置 MCP 服务器的客户端,你需要找到对应的能配置 MCP 的地方(各个 IDE 和桌面 MCP Client 可能都不一样),并在 mcpServers 对象中添加一个新的条目。
JSON 配置示例:
{
"mcpServers": {
"ashare-mcp": {
"name": "ashare-mcp",
"type": "stdio",
"isActive": true,
"registryUrl": "",
"command": "uvx",
"args": [
"ashare-mcp"
]
}
}
}
如果 uvx 命令不在 PATH 中,请使用完整路径:
{
"mcpServers": {
"ashare-mcp": {
"name": "ashare-mcp",
"type": "stdio",
"isActive": true,
"registryUrl": "",
"command": "/path/to/uvx",
"args": [
"ashare-mcp"
]
}
}
}
方法二:使用 CherryStudio
在 CherryStudio 的 MCP 服务器配置界面中,按如下方式填写:
- 名称:
ashare-mcp - 描述:
A股市场数据分析 MCP 服务器 - 类型: 选择 标准输入/输出 (stdio)
- 命令:
uvx - 参数:
ashare-mcp - 环境变量: 留空
如果 uvx 命令不在 PATH 中,请使用完整路径:
- 命令:
/path/to/uvx - 参数:
ashare-mcp
项目结构
a_share_mcp/
│
├── mcp_server.py # 主服务器入口文件
├── pyproject.toml # 项目依赖配置
├── README.md # 项目说明文档
│
├── docs/ # 项目文档
│ ├── baostock_com.md # Baostock API文档
│ ├── mcp_server_docs.md # 服务器文档
│ └── dev_docs/ # 开发文档
│ ├── AppFlow.md
│ ├── ImplementationPlan.md
│ └── PRD.md
│
├── src/ # 源代码目录
│ ├── __init__.py
│ ├── baostock_data_source.py # Baostock数据源实现
│ ├── data_source_interface.py # 数据源接口定义
│ ├── utils.py # 通用工具函数
│ │
│ ├── formatting/ # 数据格式化模块
│ │ ├── __init__.py
│ │ └── markdown_formatter.py # Markdown格式化工具
│ │
│ └── tools/ # MCP工具模块
│ ├── __init__.py
│ ├── base.py # 基础工具函数
│ ├── stock_market.py # 股票市场数据工具
│ ├── financial_reports.py # 财务报表工具
│ ├── indices.py # 指数相关工具
│ ├── market_overview.py # 市场概览工具
│ ├── macroeconomic.py # 宏观经济数据工具
│ ├── date_utils.py # 日期工具
│ └── analysis.py # 分析工具
│
└── resource/ # 资源文件
└── img/ # 图片资源
├── img_1.png # CherryStudio配置示例
└── img_2.png # CherryStudio配置示例
功能特点
股票基础数据 |
历史行情数据 |
财务报表数据 |
宏观经济数据 |
指数成分股 |
数据分析报告 |
先决条件
- Python 环境: Python 3.10+
- 依赖管理: 推荐使用
uv包管理器,也支持pip - 数据来源: 基于 Baostock 数据源,无需付费账号。在此感谢 Baostock。
- 提醒: 本项目于 Windows 环境下开发,但支持跨平台运行。
数据更新时间
以下是 Baostock 官方数据更新时间,请注意查询最新数据时的时间点 Baostock 官网
每日数据更新时间:
- 当前交易日 17:30,完成日 K 线数据入库
- 当前交易日 18:00,完成复权因子数据入库
- 第二自然日 11:00,完成分钟 K 线数据入库
- 第二自然日 1:30,完成前交易日"其它财务报告数据"入库
- 周六 17:30,完成周线数据入库
每周数据更新时间:
- 每周一下午,完成上证 50 成份股、沪深 300 成份股、中证 500 成份股信息数据入库
所以说,在交易日的当天,如果是在 17:30 之前询问当天的数据,是无法获取到的。
工具列表
该 MCP 服务器提供以下工具:
🔍 展开查看全部工具
| 🏛️ 股票市场数据 | 📊 财务报表数据 | 🔎 市场概览数据 |
|---|---|---|
|
|
|
| 📈 指数相关数据 | 🌐 宏观经济数据 | ⏰ 日期工具 & 分析 |
|
|
|
贡献指南
欢迎提交 Issue 或 Pull Request 来帮助改进项目。贡献前请先查看现有 Issue 和文档。
☕️ 请作者喝杯咖啡
如果这个项目对你有帮助,欢迎请我喝杯咖啡 ❤️
许可证
本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters