项目简介
FMP金融数据MCP服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型(LLM)客户端提供丰富的金融市场数据和分析工具。它利用Financial Modeling Prep (FMP) API,以标准化的MCP协议向LLM应用提供上下文信息和功能,从而增强LLM在金融分析领域的应用能力。
主要功能点
- 全面的金融数据访问: 提供股票、指数、ETF、商品、加密货币、外汇等多种金融市场数据。
- 强大的分析工具: 集成公司财务分析、技术指标计算、市场表现监控等工具,支持深入的数据分析。
- 灵活的Prompt模板: 内置分析Prompt模板,例如公司分析、财务报表分析、股票对比等,方便用户快速生成分析指令。
- 标准MCP协议支持: 完全兼容MCP协议,可以通过Stdio, SSE等多种传输协议与MCP客户端通信。
- 易于部署和使用: 提供Docker镜像和详细的安装使用文档,方便用户快速部署和集成。
安装步骤
-
克隆仓库:
git clone https://github.com/cdtait/fmp-mcp-server.git cd fmp-mcp-server -
配置环境 (推荐使用uv):
# 安装 uv (如果尚未安装) curl -LsSf https://astral.sh/uv/install.sh | sh export PATH=~/.local/bin/:${PATH} # 创建并激活虚拟环境 uv venv source .venv/bin/activate # 或在Windows上: .venv\Scripts\activate # 安装依赖 uv pip install -e . -
设置 FMP API 密钥:
- 复制 '.env.template' 文件为 '.env':
cp .env.template .env - 编辑 '.env' 文件,将 'your_api_key_here' 替换为您的 Financial Modeling Prep API 密钥。
- 复制 '.env.template' 文件为 '.env':
服务器配置
以下 JSON 配置信息可用于 MCP 客户端 (例如 Claude Desktop 或 MCP Inspector) 连接到 FMP金融数据MCP服务器。
{ "serverName": "FMP Financial Data MCP Server", "command": "python", "args": [ "-m", "src.server", "--sse", "--port", "8000" ], "transport": "sse", "baseUrl": "http://localhost:8000/sse" }
参数注释:
- 'serverName': 服务器名称,可自定义。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 启动命令的参数列表:
- '-m src.server': 运行 'src' 目录下的 'server.py' 文件作为模块。
- '--sse': 以 SSE (Server-Sent Events) 模式运行服务器,支持HTTP连接。
- '--port 8000': 指定服务器监听端口为 '8000'。您可以根据需要修改端口,并确保 MCP 客户端配置的 'baseUrl' 与此端口一致。
- 'transport': 传输协议设置为 'sse',表示使用 Server-Sent Events。
- 'baseUrl': MCP 客户端连接服务器的 URL,默认为 'http://localhost:8000/sse'。如果修改了端口,请同步修改此URL。
注意:
- 确保在运行服务器之前已正确设置 FMP API 密钥,否则服务器将使用演示模式,数据可能受限。
- 您可以使用 Docker 运行服务器,具体方法请参考仓库 README 文档。
基本使用方法
-
启动服务器: 根据上述 "服务器配置" 中的 'command' 和 'args',启动 FMP金融数据MCP服务器。如果您使用 MCP Inspector,可以直接使用 'mcp dev src/server.py' 命令。
-
连接 MCP 客户端: 在 MCP 客户端(如 Claude Desktop 或 MCP Inspector)中,按照 "服务器配置" 部分提供的 JSON 信息进行配置,并连接到服务器。
-
使用工具和资源: 连接成功后,您可以在 MCP 客户端中探索和使用服务器提供的工具 (Tools)、资源 (Resources) 和 Prompt 模板 (Prompts),例如:
- 使用 "get_company_profile" 工具获取公司概况。
- 使用 "get_quote" 工具查询股票实时报价。
- 使用 "financial-statement://{symbol}/{statement_type}/{period}" 资源获取财务报表数据。
- 使用 "company_analysis" Prompt 模板生成公司分析指令。
-
示例查询 (在 MCP 客户端中向LLM提问):
- "使用公司概况工具告诉我关于苹果公司的财务状况"
- "查询特斯拉股票的最新价格"
- "使用股票对比Prompt模板比较苹果、微软和谷歌的股票"
更多详细使用方法和示例,请参考仓库 README 文档和测试用例。
信息
分类
商业系统