Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aigroup-market-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
🤖 AIGroup Market MCP Server
🚀 基于 Tushare 和百度新闻的专业金融数据 MCP(Model Context Protocol)服务器,提供全面的金融市场数据查询服务。
👨💻 作者信息
作者: Jackdark425@gmail.com 研究团队: AIGroup 项目定位: 专业的金融数据服务平台,专注于为AI应用提供实时、准确的金融市场数据
📋 项目简介
AIGroup Market MCP Server 是一个专为金融数据分析打造的 MCP 服务器,集成了多个专业数据源,为用户提供实时、准确的金融市场数据。通过标准化接口,支持股票、基金、宏观经济、新闻资讯等多种金融数据的查询和分析。
✨ 核心特性
🎯 多数据源集成
- Tushare API: 专业的金融数据服务平台,提供股票、基金、宏观经济等权威数据
- 百度新闻爬虫: 实时抓取财经新闻资讯,确保信息时效性
- 多市场支持: A股、美股、港股、加密货币、外汇、期货等全市场覆盖
🛠️ 丰富功能模块
- 📈 股票行情数据: 日K线、分钟K线,支持技术指标计算
- 🏢 公司财务数据: 资产负债表、利润表、现金流量表等完整财务信息
- 💰 基金数据: 基金净值、持仓信息、基金经理详情
- 📰 新闻资讯: 财经新闻、7×24小时热点新闻
- 📊 宏观经济: CPI、GDP、货币政策等宏观经济指标
- 💸 市场交易: 大宗交易、资金流向、融资融券数据
- 🏛️ 指数数据: 沪深300、上证指数等市场指数信息
⚡ 技术优势
- 实时数据更新: 毫秒级数据获取和处理
- 技术指标计算: 内置MACD、RSI、KDJ、布林带等专业指标
- 灵活输出格式: 支持 Markdown、CSV、JSON等多种格式
- 智能缓存机制: 高效的数据缓存,提升查询性能
- 错误处理完善: 全面的异常处理和错误恢复机制
🚀 快速开始
环境要求
- Node.js: >= 18.0.0
- npm: >= 8.0.0
- Tushare Token: 需要有效的 Tushare API 令牌(免费注册获取)
方式一:NPM 安装(推荐)
这是最简单的使用方式,无需克隆代码,直接通过 npx 使用:
配置环境变量
创建
.env文件或设置系统环境变量:export TUSHARE_TOKEN=your_tushare_token_here
直接使用
# 启动 MCP 服务器 npx aigroup-market-mcp # 或启动 HTTP 服务器 npx aigroup-market-mcp-http
方式二:从源码安装
适合需要修改或开发的场景:
克隆项目
git clone https://github.com/yourusername/aigroup-market-mcp.git cd aigroup-market-mcp
安装依赖
npm install
环境配置
复制环境配置文件:
cp .env.example .env编辑
.env文件,填入你的配置:# Tushare API 配置 TUSHARE_TOKEN=your_tushare_token_here TUSHARE_API_URL=https://api.tushare.pro # 服务器配置 PORT=3000 NODE_ENV=development构建项目
npm run build启动服务
# 开发模式 npm run dev # 生产模式 npm start
📖 使用指南
MCP 服务器配置
方式一:使用 NPM 包(推荐)
在你的 MCP 客户端配置文件(如 RooCode 的 .roo/mcp.json 或 Claude Desktop 的配置文件)中添加:
{
"mcpServers": {
"aigroup-market-mcp": {
"command": "npx",
"args": [
"-y",
"aigroup-market-mcp"
],
"env": {
"TUSHARE_TOKEN": "your_tushare_token_here"
},
"alwaysAllow": [
"current_timestamp",
"finance_news",
"stock_data",
"stock_data_minutes",
"index_data",
"macro_econ",
"company_performance",
"fund_data",
"fund_manager_by_name",
"convertible_bond",
"block_trade",
"money_flow",
"margin_trade",
"company_performance_hk",
"company_performance_us",
"csi_index_constituents",
"dragon_tiger_inst",
"hot_news_7x24"
]
}
}
}方式二:使用本地路径
如果你克隆了源码并在本地构建,可以使用:
{
"mcpServers": {
"aigroup-market-mcp": {
"command": "node",
"args": [
"build/index.js"
],
"cwd": "/path/to/aigroup-market-mcp",
"env": {
"TUSHARE_TOKEN": "your_tushare_token_here"
},
"alwaysAllow": [
"current_timestamp",
"finance_news",
"stock_data",
"stock_data_minutes",
"index_data",
"macro_econ",
"company_performance",
"fund_data",
"fund_manager_by_name",
"convertible_bond",
"block_trade",
"money_flow",
"margin_trade",
"company_performance_hk",
"company_performance_us",
"csi_index_constituents",
"dragon_tiger_inst",
"hot_news_7x24"
]
}
}
}工具使用示例
🕐 获取当前时间戳
// 查询东八区时间
{
"tool": "current_timestamp",
"arguments": {
"format": "datetime"
}
}
// 返回示例:
// ## 🕐 当前东八区时间
// 格式: datetime
// 时间: 2025-10-18 14:30:25
// 时区: 东八区 (UTC+8)
// 星期: 星期六📈 查询股票数据
// 查询股票行情(支持技术指标)
{
"tool": "stock_data",
"arguments": {
"code": "000001.SZ",
"market_type": "cn",
"start_date": "20241015",
"end_date": "20241017",
"indicators": "macd(12,26,9) rsi(14)"
}
}📰 搜索财经新闻
// 搜索特定关键词新闻
{
"tool": "finance_news",
"arguments": {
"query": "腾讯 股票"
}
}🏢 查询公司财务数据
// 查询公司财务指标
{
"tool": "company_performance",
"arguments": {
"ts_code": "000001.SZ",
"data_type": "indicators",
"start_date": "20240901",
"end_date": "20241017"
}
}🛠️ 工具清单
| 工具名称 | 功能描述 | 数据来源 |
|---|---|---|
current_timestamp |
获取当前东八区时间戳 | 系统生成 |
finance_news |
财经媒体新闻搜索 | 百度新闻爬虫 |
stock_data |
股票历史行情数据 | Tushare |
stock_data_minutes |
分钟K线数据 | Tushare |
index_data |
股票指数数据 | Tushare |
macro_econ |
宏观经济数据 | Tushare |
company_performance |
A股公司综合表现数据 | Tushare |
fund_data |
公募基金数据 | Tushare |
fund_manager_by_name |
基金经理信息查询 | Tushare |
convertible_bond |
可转债数据 | Tushare |
block_trade |
大宗交易数据 | Tushare |
money_flow |
资金流向数据 | Tushare |
margin_trade |
融资融券数据 | Tushare |
company_performance_us |
美股公司业绩数据 | Tushare |
csi_index_constituents |
中证指数成分股数据 | Tushare |
dragon_tiger_inst |
龙虎榜机构成交明细 | Tushare |
hot_news_7x24 |
7×24热点新闻 | Tushare |
📊 数据源说明
Tushare 数据源
Tushare 是专业的金融数据服务平台,提供以下类型数据:
- 股票数据: A股、美股、港股日K线、分钟K线
- 财务数据: 资产负债表、利润表、现金流量表、财务指标
- 基金数据: 基金净值、持仓信息、基金经理信息
- 宏观经济: CPI、PPI、GDP、货币政策等
- 市场数据: 大宗交易、资金流向、融资融券
- 指数数据: 沪深300、上证指数等市场指数
百度新闻爬虫
自主研发的百度新闻爬虫系统:
- 实时抓取: 实时抓取百度新闻搜索结果
- 智能解析: 自动解析新闻标题、摘要、发布时间、来源
- 关键词匹配: 支持多关键词组合搜索
- 去重机制: 智能去重,避免重复内容
🏗️ 项目架构
aigroup-market-mcp/
├── 📁 src/
│ ├── 📁 core/ # 核心模块
│ │ ├── ToolManager.ts # 工具管理器
│ │ ├── toolRegistry.ts # 工具注册中心
│ │ └── errors.ts # 错误处理
│ │
│ ├── 📁 tools/ # 工具模块
│ │ ├── stockData/ # 股票数据工具集
│ │ ├── companyPerformanceDetail/ # 财务详情工具
│ │ ├── crawler/ # 新闻爬虫模块
│ │ └── *.ts # 各个工具文件
│ │
│ ├── 📁 utils/ # 工具函数
│ └── 📁 config.ts # 配置文件
│
├── 📁 .roo/ # MCP配置
├── 📁 docs/ # 文档
├── 📁 exports/ # 数据导出目录
└── 📁 csv_exports/ # CSV导出目录架构特点
- 模块化设计: 每个工具都是独立的模块,便于维护和扩展
- 统一接口: 所有工具都继承
BaseTool类,确保接口一致性 - 依赖注入: 通过
ToolManager统一管理工具注册和调用 - 错误隔离: 完善的错误处理机制,确保服务稳定性
🔧 开发指南
添加新工具
创建工具类
import { BaseTool } from '../core/ToolManager.js'; export class NewTool extends BaseTool { readonly name = 'new_tool'; readonly description = '新工具描述'; readonly parameters = { type: 'object', properties: { param1: { type: 'string', description: '参数说明' } }, required: ['param1'] }; async execute(args: any) { // 工具实现逻辑 return { content: [{ type: 'text', text: '执行结果' }] }; } }
注册工具 在
src/core/toolRegistry.ts中注册新工具:import { NewTool } from '../tools/NewTool.js'; export function registerAllTools(manager: ToolManager): void { // 注册新工具 manager.registerTool(new NewTool()); }
更新MCP配置 在
.roo/mcp.json的alwaysAllow数组中添加新工具名称。
调试技巧
- 使用
npm run dev启动开发模式,支持热重载 - 查看控制台日志,了解工具执行过程
- 使用环境变量
DEBUG=true启用详细日志 - 通过
ToolManager的getToolCount()方法检查工具注册状态
📝 更新日志
查看 CHANGELOG.md 获取详细的版本更新信息。
🤝 贡献指南
欢迎提交 Issue 和 Pull Request!在贡献代码前,请:
- Fork 本项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
🙏 致谢
- Tushare: 优秀的金融数据服务平台
- 百度新闻: 丰富的新闻资讯来源
- MCP 社区: 为跨平台工具集成提供的优秀协议
💡 提示: 如需获取 Tushare API 令牌,请访问 https://tushare.pro 注册并申请免费额度。
📧 联系我们: 有任何问题或建议,请通过 Issue 或者邮件联系我们(作者邮箱:Jackdark425@gmail.com)。