Skip to main content

📊 ashare-mcp 📈

License Python Package Manager MCP

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配置示例

功能特点


股票基础数据

历史行情数据

财务报表数据

宏观经济数据

指数成分股

数据分析报告

先决条件

  1. Python 环境: Python 3.10+
  2. 依赖管理: 推荐使用 uv 包管理器,也支持 pip
  3. 数据来源: 基于 Baostock 数据源,无需付费账号。在此感谢 Baostock。
  4. 提醒: 本项目于 Windows 环境下开发,但支持跨平台运行。

数据更新时间

以下是 Baostock 官方数据更新时间,请注意查询最新数据时的时间点 Baostock 官网

每日数据更新时间:

  • 当前交易日 17:30,完成日 K 线数据入库
  • 当前交易日 18:00,完成复权因子数据入库
  • 第二自然日 11:00,完成分钟 K 线数据入库
  • 第二自然日 1:30,完成前交易日"其它财务报告数据"入库
  • 周六 17:30,完成周线数据入库

每周数据更新时间:

  • 每周一下午,完成上证 50 成份股、沪深 300 成份股、中证 500 成份股信息数据入库

所以说,在交易日的当天,如果是在 17:30 之前询问当天的数据,是无法获取到的。

工具列表

该 MCP 服务器提供以下工具:

🔍 展开查看全部工具
🏛️ 股票市场数据 📊 财务报表数据 🔎 市场概览数据
  • get_historical_k_data
  • get_stock_basic_info
  • get_dividend_data
  • get_adjust_factor_data
  • get_profit_data
  • get_operation_data
  • get_growth_data
  • get_balance_data
  • get_cash_flow_data
  • get_dupont_data
  • get_trade_dates
  • get_all_stock
📈 指数相关数据 🌐 宏观经济数据 ⏰ 日期工具 & 分析
  • get_stock_industry
  • get_sz50_stocks
  • get_hs300_stocks
  • get_zz500_stocks
  • get_deposit_rate_data
  • get_loan_rate_data
  • get_required_reserve_ratio_data
  • get_money_supply_data_month
  • get_money_supply_data_year
  • get_shibor_data
  • get_latest_trading_date
  • get_stock_analysis

贡献指南

欢迎提交 Issue 或 Pull Request 来帮助改进项目。贡献前请先查看现有 Issue 和文档。

☕️ 请作者喝杯咖啡

如果这个项目对你有帮助,欢迎请我喝杯咖啡 ❤️

支付宝收款码

许可证

本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcpcn_ashare_mcp-0.2.1.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcpcn_ashare_mcp-0.2.1-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file mcpcn_ashare_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: mcpcn_ashare_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.16

File hashes

Hashes for mcpcn_ashare_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c7aca734e33cbe04004d0dc50f8f061742fe6a0faaab08d0fcb60db9c8ab0fb5
MD5 aa5e19a8598cf2c73af4c167162ebf5b
BLAKE2b-256 47457e5e5535a1d1dbe6cb38bc3e9645689906dac9de2b2ab85c88352544bbe5

See more details on using hashes here.

File details

Details for the file mcpcn_ashare_mcp-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcpcn_ashare_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2712aa7fd47f4b4840958d7186c74cb9fbcce0373ec87c270045ccf17831095f
MD5 3603487a91b0e0a3f67e27fbad4d8dae
BLAKE2b-256 53ff3542d53b047b6c5b144ade8a6753611ac503997ec6a317a93958b7682781

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page