MCP金融服务器
A. 模型上下文协议 为AI助手(Claude、ChatGPT等)提供访问权限的服务器 实时财务数据、报告分析和风险度量.
使用官方MCP Python SDK、yfinance和NumPy构建。
______________________________________________________________________
工具
市场数据
| 工具 | 说明 |
|---|---|
stock_quote | 当前价格、交易量、变化、市值 |
stock_history | 历史OHLCV数据(任何时期/间隔) |
company_info | 公司简介、行业、市盈率、贝塔系数、52周区间 |
报表解析
| 工具 | 说明 |
|---|---|
parse_report | 从财务PDF中提取关键指标(自动检测IFRS/GAAP) |
balance_sheet | 从PDF中提取资产、负债和权益 |
compare_financial_reports | 比较两个报告PDF并显示指标变化 |
风险指标
| 工具 | 说明 |
|---|---|
value_at_risk | 任何置信水平下的参数和历史风险值 |
sharpe_ratio | 风险调整后的回报率及其解释 |
portfolio_risk | 多资产组合波动率和相关性矩阵 |
______________________________________________________________________
设置
1.克隆存储库
git clone https://github.com/AIassistent2025/mcp-finance-server.git
cd mcp-finance-server2.创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate3.安装依赖项
pip install -r requirements.txt______________________________________________________________________
用法
运行服务器
python main.py服务器通过以下方式进行通信 标准 默认情况下(标准MCP传输)。
连接到克劳德桌面
添加到您的Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"finance": {
"command": "python",
"args": ["/absolute/path/to/mcp-finance-server/main.py"]
}
}
}然后问克劳德:
- *“AAPL目前的价格是多少?”*
- *“计算过去2年TSLA的夏普比率”*
- *“在99%的置信度下,对NVDA投资50000美元的风险价值是多少?”*
- *“分析投资组合的风险:40%AAPL,30%MSFT,30%GOOGL”*
- *“解析此财务报告并提取关键指标”*
连接到任何MCP客户端
服务器可与任何兼容MCP的客户端配合使用。使用stdio传输:
python main.py或者以编程方式集成:
from src.server import mcp
mcp.run()______________________________________________________________________
项目结构
mcp-finance-server/
├── src/
│ ├── __init__.py
│ ├── server.py # MCP server — tool registration via FastMCP
│ ├── market_data.py # Stock quotes, history, company info (yfinance)
│ ├── report_parser.py # PDF parsing for IFRS/GAAP financial reports
│ └── risk_metrics.py # VaR, Sharpe ratio, portfolio risk (NumPy)
├── tests/
│ ├── __init__.py
│ └── test_core.py # 20 unit tests with mocked external calls
├── main.py # Entry point
├── requirements.txt
├── .env.example
└── .gitignore______________________________________________________________________
运行测试
pytest tests/ -v所有外部API调用(yfnance)都是模拟的——测试可以离线快速运行。
______________________________________________________________________
为什么选择MCP金融?
在处理精确的财务数据时,传统的人工智能交互往往会出现“上下文漂移”和“幻觉”。这 模型上下文协议(MCP) 通过以下方式解决此问题:
- 将逻辑与推理分离: 人工智能对策略进行推理,而MCP服务器提供地面实况数据。
- 标准化接口: 任何LLM(Claude、ChatGPT等)都可以使用这些工具,而无需对每个API进行自定义提示工程。
- 安全与隐私: 财务数据保留在本地或受信任的环境中,只与模型共享必要的上下文。
______________________________________________________________________
功能深潜
📊 实时市场情报
由...驱动 yfinance,我们的工具提供的不仅仅是价格。我们提取交易量动态、行业分类和关键估值比率(市盈率、贝塔系数),为AI提供股票行情的360度视图。
📄 IFRS/GAAP文件摄取
这 parse_report 该工具不仅能读取文本;它使用启发式驱动逻辑来识别标准财务表。它可以在不同的报告标准中区分“总资产”和“净资产”,确保AI进行准确的纵向分析。
📉 定量风险建模
我们实施了机构级风险指标:
- 风险价值(VaR): 使用历史模拟来估计潜在的投资组合缩减。
- 夏普比率: 自动获取无风险利率,以提供风险调整后绩效的真实视图。
______________________________________________________________________
故障排除
- API费率限制:
yfinance它是免费的,但可以被限制。如果您遇到错误,请等待60秒或使用VPN/代理。 - PDF解析问题: 确保PDF是基于文本的报告(不是扫描图像)。对于扫描的PDF,请使用OCR预处理器。
- 路径错误: 始终使用 绝对路径 当提供
pdf_path到工具。
______________________________________________________________________
贡献
欢迎投稿!无论是添加新的风险指标,支持更多的代理API,还是改进PDF解析逻辑,都可以随时打开PR。
______________________________________________________________________
许可证
麻省理工学院
