金融数据MCP服务器

一个轻量级、生产就绪的MCP服务器,为AI代理或LLM应用提供实时金融数据,包括基本面、比率、价格数据、财报电话记录、宏观指标等。

  • by damianboh
  • Jupyter Notebook
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 damianboh/fmp_mcp_server

使用说明

财务建模准备(FMP)MCP服务器

此处为中篇文章说明: 构建您自己的财务数据MCP服务器,ChatGPT可以与之通信

轻便、可生产 模型上下文协议(MCP) 服务器带来 实时财务数据 直接发送到人工智能代理或LLM应用程序——基本面、比率、价格数据、成绩单、宏观指标等。

概述

这 财务建模准备MCP服务器 充当AI代理或LLM应用程序与 财务建模准备(FMP) API,提供一个结构化和安全的界面来查询真实世界的市场和公司数据。

此服务器为您的AI工具提供了一个可以调用的MCP端点:

  • 基础 –损益表、资产负债表、现金流量表
  • 估值指标 –市盈率、市盈率、净资产收益率、利润率、杠杆率
  • 新闻 –最新市场或特定股票的头条新闻
  • 收入记录 –公司电话的全文
  • 宏数据 –CPI、GDP、就业和活动日历
  • 内幕交易 –实时Form-4式交易

需求

要求 版本 注释
Python 3.9+ 推荐:3.10或更高版本
依赖关系 httpx, mcp, uvicorn, starlette 通过安装 pip install -r requirements.txt
环境 设置 FMP_API_KEY 默认为 "demo" 有费率限制

您需要财务建模准备(FMP)API密钥

以完全访问权限(超出限制)使用此MCP服务器 demo 钥匙),你需要自己的 FMP API密钥.

  1. 前往官方注册页面:
    https://site.financialmodelingprep.com/register
  2. 使用您的电子邮件创建一个免费帐户。
  3. 注册后,导航到您的 仪表盘→ API密钥 部分获取API密钥。

请注意,如果您使用免费版本的FMP API,某些FMP API端点可能无法工作。


安装

git clone https://github.com/damianboh/fmp_mcp_server.git
cd fmp-mcp-server
pip install -r requirements.txt

然后设置API密钥:

export FMP_API_KEY=your_fmp_api_key_here  # macOS/Linux
setx FMP_API_KEY your_fmp_api_key_here    # Windows

运行服务器

脚本支持 3种发射模式 通过 --transport cmd命令中的标志:

1️. STDIO模式(默认)

用于本地开发和通过CLI或ChatGPT桌面应用程序直接使用MCP。

python fmp_mcp_server.py

相当于:

python fmp_mcp_server.py --transport stdio

该模式仅通过标准输入/输出进行通信,非常适合嵌入本地AI环境。


2️. SSE模式(服务器发送事件)

用于通过以下方式进行流式输出 FastMCP的SSE传输.

python fmp_mcp_server.py --transport sse

这被像这样的框架所使用 LangChain MCP 或 OpenDevin 它们消耗事件流。


3️. 流式HTTP模式

运行a 斯塔利特/乌维科恩 用于远程访问的HTTP服务器(非常适合ChatGPT或云隧道)。

python fmp_mcp_server.py --transport streamable-http --host 127.0.0.1 --port 8000

您将看到:

Starting FMP MCP Server (Streamable HTTP mode) on http://127.0.0.1:8000
API Key configured: Yes
Streamable HTTP endpoint (path hint): http://127.0.0.1:8000/mcp/

然后测试:

curl http://127.0.0.1:8000/health

预期:

{"status": "healthy", "service": "fmp-mcp-server"}

向Web公开服务器

如果你想将服务器暴露给网络上托管的其他LLM,例如ChatGPT,你需要这样做。

选项A:Cloudflare隧道(推荐)

Cloudflare是快速、免费的,不需要安装ngrok。

  1. 安装Cloudflare隧道
  2. 身份验证:
    cloudflared login
    
  3. 运行隧道:
    cloudflared tunnel --url http://127.0.0.1:8000
    
    输出示例:
    https://fmp-mcp-server-sg.trycloudflare.com
    

复制此URL并将其用作您的 MCP服务器端点 在ChatGPT或任何支持MCP的客户端内。


选项B:Ngrok

ngrok http 8000

然后在MCP配置中使用转发的URL,例如:

https://1234-56-78-90-123.ngrok-free.app/mcp/

示例:与ChatGPT(自定义MCP服务器)一起使用(需要付费计划)

  1. 打开 ChatGPT→ 设置→ 应用程序和连接器→ 开发人员模式打开。您需要一个付费(ChatGPT Plus)帐户才能打开开发人员模式。 您需要此模式来创建和连接到您自己的自定义MCP服务器。

  2. 返回“应用程序和连接器”并单击 创建

  3. 粘贴您的隧道URL:

    https://whatever-subdomain-assigned-to-you.trycloudflare.com/mcp/
    
  1. ChatGPT现在将自动发现所有可用的工具和资源:
    • /stable/profile → 公司简介
    • /stable/ratios → 财务比率
    • /stable/earning-call-transcript → 收入记录
    • /stable/news → 股票新闻

你现在可以问这样的问题(耶!):



当ChatGPT首次尝试调用工具时,您需要单击“确认”,如下所示。



工具调用示例:



ChatGPT知道并且现在可以调用正确的FMP MCP工具。


包含的工具

类别 工具 描述
公司基础 company_profile 概述:价格、市值、首席执行官、行业、标识符
声明 income_statement, balance_sheet, cash_flow 不同时期的财务状况
比率 financial_ratios 市盈率、净资产收益率、利润率、杠杆率等。
价格数据 historical_price_eod_full 全OHLCV每日酒吧
成绩单 earnings_call_transcript 管理层问答和评论
宏观经济学 economic_indicators, economic_calendar GDP、CPI、NFP和日历事件
新闻资讯 stock_news_latest, stock_news_search 一般标题和特定股票的标题
内幕交易 insider_trading_latest 表4类近期内幕交易
公用事业 ping, when_should_i_use_fmp 健康检查和路由提示

何时使用此服务器

  • 你需要 事实的 股票或宏观数据
  • 你在分析 基础或成绩单
  • 你在建 检索增强生成 或 代理管道 依赖财务数据

健康检查

验证服务器是否正在运行:

curl http://127.0.0.1:8000/health

答复:

{"status": "healthy", "service": "fmp-mcp-server"}

高级选项

标志 描述 默认值
--host 主机接口 127.0.0.1
--port 服务器端口 8000
--path HTTP路径前缀 /mcp/
--stateless 在无状态HTTP模式下运行 False
--json-response 使用JSON响应(而不是SSE) False

例子:

python src/fmp_mcp_server.py --transport streamable-http --stateless --json-response

快速参考

目的 命令
在本地运行 python src/fmp_mcp_server.py
SSE流 python src/fmp_mcp_server.py --transport sse
HTTP端点 python src/fmp_mcp_server.py --transport streamable-http
健康检查 curl http://127.0.0.1:8000/health
通过Cloudflare公开 cloudflared tunnel --url http://127.0.0.1:8000
连接到ChatGPT 使用Cloudflare URL作为MCP端点

玩得开心

干杯, 达米安