使用说明
财务建模准备(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密钥.
- 前往官方注册页面:
https://site.financialmodelingprep.com/register - 使用您的电子邮件创建一个免费帐户。
- 注册后,导航到您的 仪表盘→ 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。
- 安装Cloudflare隧道
- 身份验证:
cloudflared login - 运行隧道:输出示例:
cloudflared tunnel --url http://127.0.0.1:8000https://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服务器)一起使用(需要付费计划)
-
打开 ChatGPT→ 设置→ 应用程序和连接器→ 开发人员模式打开。您需要一个付费(ChatGPT Plus)帐户才能打开开发人员模式。 您需要此模式来创建和连接到您自己的自定义MCP服务器。
-
返回“应用程序和连接器”并单击 创建
-
粘贴您的隧道URL:
https://whatever-subdomain-assigned-to-you.trycloudflare.com/mcp/
- 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端点 |
玩得开心
干杯, 达米安