金融MCP服务器
定制的模型上下文协议 (MCP) 服务器,用于高级财务分析、股票监控和实时市场情报。该服务器提供一套用于投资组合管理、市场摘要、股票警报和上下文财务洞察的工具和 API 端点,旨在与 Claude Desktop 和其他兼容 MCP 的客户端无缝集成。
主要特点
- 实时股票价格监控:跟踪用户定义的股票和阈值的价格变动并发出警报。
- 投资组合管理:在持久投资组合中添加、删除和查看跟踪的股票。
- 市场摘要:检索实时全球市场数据,包括指数、涨幅最大/跌幅最大的股票和新闻头条。
- 情境财务洞察:分析用户查询、提取财务实体、获取和总结相关新闻并生成可操作的提示。
- 自动警报:接收有关价格阈值、交易机会和系统错误的电报通知。
- 可定制配置:基于 JSON 的部门和股票配置,可实现灵活的警报。
- 强大的日志记录和错误处理:详细的日志和错误消息,以实现透明度和故障排除。
系统概述
核心端点和工具
- financial_context(查询:str)
- 从用户查询中提取股票代码和关键词,获取并总结相关新闻,并返回结构化上下文和提示以供下游分析。
- 市场摘要()
- 返回全球市场的实时摘要,包括指数、主要推动者和新闻标题。
- 获取投资组合()
- 添加股票(股票代码:str) /删除股票(股票代码:str)
- 从投资组合中添加或删除股票,并进行缓存失效和验证。
- 投资组合警报(随机字符串:str)
- 返回投资组合或特定股票代码(如果提供)的所有触发警报。
- 检查股票警报(股票代码:str) /单个股票警报(股票代码:str)
自动警报
- Telegram 集成:向配置的 Telegram 聊天发送格式化的警报和摘要。
- 交易机会:检测并通知可操作的交易信号。
上下文摘要
- 新闻摘要器:使用本地 LLM(Ollama/Mistral)生成带有情感标签的金融新闻文章详细摘要。
- 提示生成器:构建一个市场感知提示,供下游 LLM 或助手使用。
文件结构
config/
alerts_config.json # Main alert configuration (sector/ticker/thresholds)
tech_alerts_config.json # Tech sector-specific alerts
services/
alerts.py # Core alert logic
tech_alerts.py # Tech sector alert logic
telegram_alerts.py # Telegram integration
market_summary.py # Market data and news
summarizer.py # News summarization (LLM)
fetcher.py # Web data fetching
context_builder.py # Prompt/context construction
intent_parser.py # Financial entity extraction
portfolio.py # Portfolio management
server.py # MCP server entry point and API definitions
requirements.txt # Python dependencies
配置和定制
警报配置( config/alerts_config.json
)
- 按行业组织股票,并具有可自定义的上限/下限价格阈值和描述。
- 示例结构:
{
"Tech Giants": {
"AAPL": {"above": 200, "below": 180, "description": "Apple Inc."}
},
"Financial": {
"JPM": {"above": 160, "below": 140, "description": "JPMorgan Chase"}
}
}
环境变量
在.env
文件或系统环境中设置这些:
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id
SERPAPI_API_KEY=your_serpapi_key
从 Claude Desktop 安装和运行
先决条件
- Python 3.7+
- Claude Desktop (或任何兼容 MCP 的客户端)
- Telegram 机器人凭证(用于警报)
- 互联网连接(用于市场/新闻数据)
分步指南
- 克隆存储库
git clone <this-repo-url>
cd Finance_MCP_Server
- 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- 安装依赖项
pip install -r requirements.txt
- 配置环境变量
- 使用您的 API 密钥和令牌在项目根目录中创建一个
.env
文件:TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id
SERPAPI_API_KEY=your_serpapi_key
- 编辑警报配置
- 修改
config/alerts_config.json
和config/tech_alerts_config.json
来设置您的股票、行业和阈值。
- 使用 CLI 安装 MCP 服务器
- 使用 MCP CLI 安装并注册 Claude Desktop 的服务器:
mcp install server.py --name "Financial MCP Server"
- 这会将服务器注册为自定义 MCP 工具,使其可以被 Claude Desktop 和其他 MCP 客户端发现。
- 通过 MCP CLI 运行 MCP 服务器
- 使用 MCP CLI 启动服务器:
- 服务器将启动并通过 stdio 监听 MCP 请求。
- 从 Claude Desktop 连接
- 在 Claude Desktop 中,添加一个新的自定义 MCP 服务器连接。
- 将可执行文件/命令设置为
mcp run server.py
(或从 MCP CLI 列表中选择已注册的“Financial MCP Server”)。 - Claude Desktop 将使用 MCP 协议与服务器通信,从而启用所有描述的工具和端点。
示例:Claude Desktop MCP 服务器配置
安装并注册 Financial MCP 服务器后,您可以将其添加到 Claude Desktop 配置中。以下是claude_desktop_config.json
示例代码片段:
{
"mcpServers": {
"Financial-MCP-Server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"server.py"
],
"env": {
"SERPAPI_API_KEY": "",
"TELEGRAM_BOT_TOKEN": "",
"TELEGRAM_USER_ID": "",
"OPENAI_API_KEY": "",
"ALPHA_VANTAGE_API_KEY": ""
}
}
}
}
- 根据需要使用实际的 API 密钥和令牌更新
env
部分。 - 此配置确保 Claude Desktop 可以使用正确的环境和命令行参数启动并与您的 Financial MCP Server 通信。
在 Claude Desktop 中使用工具
安装并连接您的自定义金融 MCP 服务器后,所有可用工具将自动显示在 Claude Desktop 的工具菜单中。您可以单独启用或禁用每个工具,从而轻松直接从 Claude 界面访问财务背景分析、市场摘要、投资组合管理和股票警报等功能。
下面的屏幕截图显示了如何在 Claude Desktop 中列出和切换 MCP 服务器中的工具:

- 可以根据需要启用或禁用每个工具(例如
financial_context
、 market_summary
、 add_stock
等)。 - 通过这种无缝集成,您可以使用 Claude Desktop 中的自然语言和基于工具的工作流程与您的财务分析服务器进行交互。
使用示例
- 获取市场摘要:使用
market_summary
工具获取实时指数、推动者和新闻。 - 管理投资组合:使用
add_stock
、 remove_stock
和get_portfolio
来更新和查看您跟踪的股票。 - 接收警报:配置阈值并接收价格变动和交易机会的电报通知。
- 上下文分析:使用
financial_context
分析查询、提取股票代码并获取摘要新闻和市场感知提示。
故障排除和日志
- 所有日志都写入项目根目录中的
financial_mcp.log
。 - 为了调试,请检查日志文件并确保您的环境变量和配置文件正确。
- 如果您遇到 Telegram 或新闻获取问题,请验证您的 API 密钥和互联网连接。