A-Share MCP
Fornece dados do mercado de ações A, incluindo informações básicas, K-lines históricos, indicadores financeiros e dados macroeconômicos usando Baostock.
Documentação
Este projeto é um servidor MCP focado no mercado de ações A, que oferece diversas funções de consulta, como informações básicas de ações, dados históricos de candles K, indicadores financeiros, dados macroeconômicos e muito mais. Em teoria, pode responder a qualquer pergunta sobre o mercado de ações A, seja sobre o mercado como um todo ou sobre ações específicas.
Estrutura do Projeto
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配置示例
Recursos
Dados básicos de ações | Dados históricos de mercado | Dados de demonstrações financeiras |
Dados macroeconômicos | Ações componentes de índices | Relatórios de análise de dados |
Pré-requisitos
- Ambiente Python: Python 3.10+
- Gerenciamento de dependências: use o gerenciador de pacotes
uvpara instalar as dependências - Fonte de dados: baseado na fonte de dados Baostock, sem necessidade de conta paga. Agradecemos à Baostock.
- Observação: este projeto foi desenvolvido em ambiente Windows.
Horários de atualização dos dados
A seguir estão os horários oficiais de atualização de dados da Baostock. Preste atenção ao horário ao consultar os dados mais recentes Site oficial da Baostock
Horários de atualização diária dos dados:
- Dia de negociação atual às 17:30, conclusão da inserção dos dados de candles K diários
- Dia de negociação atual às 18:00, conclusão da inserção dos dados de fatores de ajuste
- Segundo dia natural às 11:00, conclusão da inserção dos dados de candles K por minuto
- Segundo dia natural às 1:30, conclusão da inserção dos "outros dados de relatórios financeiros" do dia de negociação anterior
- Sábado às 17:30, conclusão da inserção dos dados de candles semanais
Horários de atualização semanal dos dados:
- Toda segunda-feira à tarde, conclusão da inserção dos dados das ações componentes do SSE 50, CSI 300 e CSI 500
Portanto, no próprio dia de negociação, se você consultar os dados do dia antes das 17:30, não será possível obtê-los.
Instalação do ambiente
Execute na raiz do projeto:
Para iniciar o servidor MCP de ações A, siga os passos abaixo:
# 1. 创建虚拟环境(仅创建,不会安装任何包)
uv venv
# 2. 激活虚拟环境
# Windows
.venv\Scripts\activate
# macOS/Linux
# source .venv/bin/activate
# 3. 安装所有依赖(必须在激活的虚拟环境中执行)
uv sync
Uso: configurando o servidor em um cliente MCP
Em clientes que suportam MCP (como plugins do VS Code, CherryStudio, etc.), você precisa configurar como iniciar este servidor. Recomenda-se usar uv.
Método 1: IDE com configuração JSON (por exemplo, Cursor, VSCode, Trae, etc.)
Para clientes que exigem edição de arquivos JSON para configurar o servidor MCP, você precisa encontrar o local correspondente para configurar o MCP (pode variar entre IDEs e clientes MCP de desktop) e adicionar uma nova entrada no objeto mcpServers.
Exemplo de configuração JSON (substitua o caminho pelo seu caminho absoluto 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 ...
}
}
Observações importantes:
command: certifique-se de que o comandouvou o caminho absoluto deuv.exeseja acessível e executável pelo cliente.args: certifique-se de que a lista de argumentos esteja completa e na ordem correta.- Escape de caminho: o caminho deve ser escrito com barras invertidas duplas
\\.Esta é uma particularidade do sistema Windows. Em sistemas macOS ou Linux, o caminho usa barra normal / como separador de diretórios, não sendo necessário esse escape.
workingDirectory: emborauv --directorydeva resolver o problema do diretório de trabalho, se o cliente ainda reportar o erroModuleNotFoundError, tente definir explicitamente este campo como o caminho absoluto da raiz do projeto na configuração do cliente.
Método 2: usando CherryStudio
Na interface de configuração do servidor MCP do CherryStudio, preencha da seguinte forma:
-
Nome:
a-share-mcp(ou personalizado) -
Descrição:
本地 A 股 MCP 服务器(ou personalizada) -
Tipo: selecione Entrada/Saída padrão (stdio)
-
Comando:
uv(ou preencha com o caminho absoluto do uv.exe no sistema) -
Fonte do gerenciador de pacotes: padrão
-
Argumentos:
- Primeiro argumento:
--directory - Segundo argumento:
C:\\Users\\YourName\\Projects\\a_share_mcp - Terceiro argumento:
run - Quarto argumento:
python - Quinto argumento:
mcp_server.py
- Certifique-se de que todos os argumentos estejam separados por quebras de linha (pressione Enter), caso contrário ocorrerá erro (está bem explicadinho, não está?)
- Primeiro argumento:
-
Variáveis de ambiente: (geralmente deixe em branco)
Dicas (obrigatório ler): Às vezes, após preencher os argumentos no CherryStudio e clicar no botão de alternância no canto superior direito, nada acontece. Nesse caso, basta clicar em qualquer botão do menu à esquerda para sair da tela de configuração do MCP e depois voltar à tela de configuração do MCP — você verá que o MCP já está configurado com a luz verde acesa.
Exemplo de uso no CherryStudio: Em teoria, você pode fazer qualquer pergunta sobre ações A :)


Aviso importante:
- Certifique-se de que
uvno campo comando, ou seu caminho absoluto, seja válido e executável. - Certifique-se de que os cinco argumentos no campo argumentos estejam preenchidos corretamente na ordem.
Lista de ferramentas
Este servidor MCP atualmente oferece 41 ferramentas, cobrindo dados abrangentes de ações, relatórios financeiros, macroeconomia, análise de datas e muito mais. A seguir está a lista completa:
🔍 Expandir para ver todas as ferramentas
| 🏛️ Dados do mercado de ações (Stock) | 📊 Dados de demonstrações financeiras (Finance) |
|---|---|
|
|
| 🔎 Mercado e índices (Market & Index) | 🌐 Macro e outros (Macro & Utils) |
|
|
Guia de contribuição
Sinta-se à vontade para enviar Issues ou Pull Requests para ajudar a melhorar o projeto. Antes de contribuir, consulte as Issues e a documentação existentes.
☕️ Pague um café para o autor
Se este projeto foi útil para você, sinta-se à vontade para me pagar um café ❤️
Licença
Este projeto é licenciado sob a licença MIT — consulte o arquivo LICENSE para mais detalhes
Visão geral desta atualização (2025-12-25)
Esta atualização adiciona a ferramenta de resumo de indicadores financeiros, que agrega 6 categorias de dados financeiros em uma interface de consulta conveniente.
🆕 Novas ferramentas
- Resumo de indicadores financeiros:
get_fina_indicatorobtém com um clique os 6 tipos de indicadores financeiros (lucratividade, capacidade operacional, capacidade de crescimento, capacidade de solvência, fluxo de caixa, análise DuPont), retornando dados consolidados por trimestre.