A-Share MCP
Proporciona datos del mercado de acciones A, incluyendo información básica, líneas K históricas, indicadores financieros y datos macroeconómicos utilizando Baostock.
Documentación
Este proyecto es un servidor MCP centrado en el mercado de acciones A de China. Proporciona múltiples funciones de consulta, como información básica de acciones, datos históricos de velas K, indicadores financieros, datos macroeconómicos, etc. En teoría, puede responder cualquier pregunta sobre el mercado de acciones A, ya sea sobre el mercado en general o sobre acciones específicas.
Estructura del proyecto
a_share_mcp/
│
├── mcp_server.py # 主服务器入口文件
├── pyproject.toml # 项目依赖配置
├── README.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配置示例
Características
Datos básicos de acciones | Datos históricos de cotizaciones | Datos de estados financieros |
Datos macroeconómicos | Componentes de índices | Informes de análisis de datos |
Requisitos previos
- Entorno de Python: Python 3.10+
- Gestión de dependencias: usar el gestor de paquetes
uvpara instalar dependencias - Fuente de datos: basado en la fuente de datos de Baostock, sin necesidad de cuenta de pago. Agradecemos a Baostock.
- Nota: este proyecto se desarrolló en un entorno Windows.
Horario de actualización de datos
A continuación se muestra el horario oficial de actualización de datos de Baostock. Tenga en cuenta el momento al consultar los datos más recientes Sitio web oficial de Baostock
Horario de actualización diaria de datos:
- 17:30 del día de negociación actual: se completan los datos de velas K diarias
- 18:00 del día de negociación actual: se completan los datos de factores de ajuste
- 11:00 del segundo día natural: se completan los datos de velas K por minuto
- 1:30 del segundo día natural: se completan los "otros datos de informes financieros" del día de negociación anterior
- 17:30 del sábado: se completan los datos de velas semanales
Horario de actualización semanal de datos:
- Cada lunes por la tarde: se completan los datos de información de los componentes del SSE 50, CSI 300 y CSI 500
Por lo tanto, en el día de negociación, si consulta los datos del día antes de las 17:30, no podrá obtenerlos.
Instalación del entorno
Ejecute en el directorio raíz del proyecto:
Para iniciar el servidor MCP de acciones A, siga estos pasos:
# 1. 创建虚拟环境(仅创建,不会安装任何包)
uv venv
# 2. 激活虚拟环境
# Windows
.venv\Scripts\activate
# macOS/Linux
# source .venv/bin/activate
# 3. 安装所有依赖(必须在激活的虚拟环境中执行)
uv sync
Uso: configurar el servidor en un cliente MCP
En un cliente compatible con MCP (como el complemento de VS Code, CherryStudio, etc.), debe configurar cómo iniciar este servidor. Se recomienda usar uv.
Método 1: IDE con configuración JSON (por ejemplo, Cursor, VSCode, Trae, etc.)
Para clientes que requieren editar archivos JSON para configurar el servidor MCP, debe encontrar el lugar correspondiente para configurar MCP (puede variar según el IDE o el cliente MCP de escritorio) y agregar una nueva entrada en el objeto mcpServers.
Ejemplo de configuración JSON (reemplace la ruta con su ruta absoluta real):
{
"mcpServers": {
"a-share-mcp": {
"command": "uv", // 或者 uv.exe 的绝对路径, 例如: "C:\\path\\to\\uv.exe"
"args": [
"--directory",
"C:\\Users\\YourName\\Projects\\a_share_mcp", // 替换为你的项目根目录绝对路径,不一定是C盘,按实际的填写
"run",
"python",
"mcp_server.py"
],
"transport": "stdio"
// "workingDirectory": "C:\\Users\\YourName\\Projects\\a_share_mcp", // 使用 uv --directory 后,此项可能不再必需,但建议保留作为备用
}
// ... other servers ...
}
}
Notas:
command: asegúrese de que el comandouvo la ruta absoluta deuv.exesea accesible y ejecutable para el cliente.args: asegúrese de que la lista de parámetros esté completa y en el orden correcto.- Escape de rutas: las rutas deben escribirse con doble barra invertida
\\.Esto es específico del sistema Windows. Si está en macOS o Linux, las rutas usan la barra diagonal / como separador de directorios, por lo que no se necesita este escape.
workingDirectory: aunqueuv --directorydebería resolver el problema del directorio de trabajo, si el cliente aún muestra el errorModuleNotFoundError, intente configurar explícitamente este campo como la ruta absoluta del directorio raíz del proyecto en la configuración del cliente.
Método 2: usar CherryStudio
En la interfaz de configuración del servidor MCP de CherryStudio, complete de la siguiente manera:
-
Nombre:
a-share-mcp(o personalizado) -
Descripción:
本地 A 股 MCP 服务器(o personalizado) -
Tipo: seleccione Entrada/Salida estándar (stdio)
-
Comando:
uv(o la ruta absoluta de uv.exe en el sistema) -
Fuente de gestión de paquetes: predeterminada
-
Parámetros:
- Primer parámetro:
--directory - Segundo parámetro:
C:\\Users\\YourName\\Projects\\a_share_mcp - Tercer parámetro:
run - Cuarto parámetro:
python - Quinto parámetro:
mcp_server.py
- Asegúrese de que todos los parámetros estén separados por saltos de línea; de lo contrario, se producirá un error (¿no es esto una guía paso a paso?)
- Primer parámetro:
-
Variables de entorno: (generalmente vacío)
Trucos (imprescindible): A veces, después de completar los parámetros en CherryStudio, al hacer clic en el botón de interruptor en la esquina superior derecha, no hay respuesta. En ese caso, simplemente haga clic en cualquier botón del menú izquierdo para salir de la interfaz de configuración de MCP y luego vuelva a la interfaz de configuración de MCP; verá que MCP ya está configurado con la luz verde.
Ejemplo de uso en CherryStudio: En teoría, puede hacer cualquier pregunta sobre el mercado de acciones A :)


Notas importantes:
- Asegúrese de que el campo comando contenga
uvo su ruta absoluta válida y ejecutable. - Asegúrese de que el campo parámetros contenga los cinco parámetros en el orden correcto.
Lista de herramientas
Este servidor MCP actualmente proporciona 41 herramientas que cubren datos integrales de acciones, informes financieros, macroeconomía, análisis de fechas y más. A continuación se muestra la lista completa:
🔍 Expandir para ver todas las herramientas
| 🏛️ Datos del mercado de acciones (Stock) | 📊 Datos de estados financieros (Finance) |
|---|---|
|
|
| 🔎 Mercado e índices (Market & Index) | 🌐 Macroeconomía y otros (Macro & Utils) |
|
|
Guía de contribución
Las contribuciones son bienvenidas. Envíe un Issue o Pull Request para ayudar a mejorar el proyecto. Antes de contribuir, revise los Issues y la documentación existentes.
☕️ Invite al autor a un café
Si este proyecto le resulta útil, ¡siéntase libre de invitarme a un café! ❤️
Licencia
Este proyecto está bajo la licencia MIT; consulte el archivo LICENSE para más detalles.
Resumen de esta actualización (2025-12-25)
Esta actualización agrega la herramienta de resumen de indicadores financieros, que agrega 6 categorías de datos financieros en una interfaz de consulta conveniente.
🆕 Nueva herramienta
- Resumen de indicadores financieros:
get_fina_indicatorobtiene de un solo clic 6 categorías de indicadores financieros (rentabilidad, eficiencia operativa, capacidad de crecimiento, solvencia, flujo de caja, análisis DuPont), devolviendo datos combinados por trimestre.