使用说明
FMP MCP服务器
用于金融建模准备(FMP)API数据的模型上下文协议(MCP)服务器,设计用于与LLM驱动的交易策略集成。
概述
该服务器将关键FMP API端点包装成标准化MCP格式,为以下各项提供结构化财务数据:
- 收益意外数据(
get_eps_surprise) - 技术指标(
get_rsi,get_sma) - 分析师价格目标(
get_price_targets) - 内幕交易活动(
get_insider_trading) - 收益日历(
get_earnings_calendar)
这些端点是专门选择的,以支持PEAD(收益公告后漂移)策略、情绪回调策略,以及通过分析师共识和内幕交易活动监控进行风险管理。
先决条件
- Python 3.11或更新版本
- FMP API密钥(在 财务建模准备)
安装
本地设置
-
创建虚拟环境(可选但推荐):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装依赖项:
pip install -r requirements.txt -
设置环境变量:
cp .env.example .env编辑
.env并添加您的FMP API密钥。 -
启动服务器:
./start.sh # Or directly: python fmp_mcp_server.py
Docker设置
-
构建Docker镜像:
docker build -t fmp-mcp-server . -
运行容器:
docker run -p 8080:8080 --env-file .env fmp-mcp-server
用法
服务器运行后,您可以访问:
- API文件:
http://localhost:8080/docs - OpenAPI规范:
http://localhost:8080/openapi.json - MCP端点:
http://localhost:8080/mcp
MCP工具调用示例
获取AAPL的收益意外数据:
from langchain.tools import MCP
tools = MCP.from_url("http://localhost:8080/mcp").tools()
eps_data = tools.get_eps_surprise(symbol="AAPL")
print(eps_data)
获取NVDA的RSI数据:
rsi_data = tools.get_rsi(symbol="NVDA", time_period=14)
print(rsi_data)
与贸易船队整合
此服务器旨在与代理交易车队架构配合使用。这里提供的工具通过提供结构化财务数据来补充Insight Sentry API,这些数据对PEAD战略、风险管理和回溯测试特别有用。
端点
| 工具名称 | 目的 | 策略用例 |
|---|---|---|
get_eps_surprise |
结构化每股收益数据(实际/预期/意外) | PEAD策略,收益漂移 |
get_rsi |
RSI技术指标值 | 情绪回落,技术回溯测试 |
get_sma |
SMA技术指标值 | 技术分析、移动平均线策略 |
get_price_targets |
分析师共识和价格目标 | 长期风险过滤器 |
get_insider_trading |
内幕交易(买入/卖出) | 大型内幕交易的新闻暂停启发式 |
get_earnings_calendar |
即将到来的盈利事件 | PEAD策略,波动预测 |