金融数据协议服务器

为金融建模准备(FMP)API数据设计的模型上下文协议(MCP)服务器,用于集成LLM驱动的交易策略,提供结构化的财务数据。

  • by leonas5555
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 leonas5555/fmp-mcp-server

使用说明

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(收益公告后漂移)策略、情绪回调策略,以及通过分析师共识和内幕交易活动监控进行风险管理。

先决条件

  1. Python 3.11或更新版本
  2. FMP API密钥(在 财务建模准备)

安装

本地设置

  1. 创建虚拟环境(可选但推荐):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 设置环境变量:

    cp .env.example .env
    

    编辑 .env 并添加您的FMP API密钥。

  4. 启动服务器:

    ./start.sh
    # Or directly:
    python fmp_mcp_server.py
    

Docker设置

  1. 构建Docker镜像:

    docker build -t fmp-mcp-server .
    
  2. 运行容器:

    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策略,波动预测

许可证

麻省理工学院