Stock Data MCP Server

  • 项目简介
    • Stock Data MCP Server 是一个基于 MCP 协议的后端服务,为大型语言模型(LLM)客户端提供标准化的股票与金融数据上下文。通过多数据源聚合和熔断器保护,保证数据获取的鲁棒性与可扩展性。
  • 主要功能点
    • 提供多种 MCP 工具(如股票检索、股票信息、历史价格、实时行情、相关新闻、财务数据等),以统一格式输出,便于 LLM 进行上下文理解与决策。
    • 多数据源自动故障转移:内置数据源管理器 DataFetcherManager,能在多源之间自动切换,提升稳定性。还集成熔断器,遇到错误时能快速切换或降级。
    • 实时与历史数据能力覆盖:覆盖股票、港股、美股及加密货币的数据请求,包含价格、成交、技术指标等多维信息,并尽量通过多源回退获取。
    • 支持多种传输协议:默认 STDIO,亦可通过 HTTP/SSE/WebSocket 方式与客户端进行 JSON-RPC 通信。
    • 服务端会话管理与能力声明:提供数据源状态、日线数据、板块、资金流向等能力的状态信息,便于监控与管理。
  • 安装步骤
    • 环境准备:需要一个支持 Python 的运行环境(推荐 Python 3.8+),以及网络权限以访问外部数据源 API。
    • 安装依赖(示例性步骤,实际环境请按实际需求安装):在可用的 Python 环境中安装必要的库,例如 fastmcp、akshare、efinance、requests、pandas、yfinance、tushare、baostock 等(具体依赖请参考项目实际需求与环境)。
    • 获取源码:将仓库克隆到本地或服务器。
    • 启动服务器(本地单机示例,具体可用模式以实际部署为准):
      • 直接以 Python 模块启动(默认 STDIO 模式),运行后端会监听并通过 MCP 协议提供服务。
      • 也可以结合现有的 MCP 管理入口,使用 uvx 等工具将其作为一个 MCP 服务对接到中心服务中。
    • 服务器监听与访问:默认端口可通过环境变量 PORT 配置,若使用 HTTP 传输可通过 http 或 SSE 传输模式访问。
  • 服务器配置(MCP 客户端配置用于连接并调用该服务器,客户端本身不需要)
    • 命令启动方式(示例,用于在 MCP 客户端框架中注册服务):
    • 服务器启动命令:uvx stock-data-mcp
    • MCP 客户端连接配置(JSON,客户端需要,非服务器端配置,示例为参考,不可直接在服务器端执行): { "server_name": "stock-data", "command": "uvx", "args": ["stock-data-mcp"], "description": "Stock Data MCP Server,提供股票数据相关工具与资源的 MCP 服务", "transport": "http", "url": "http://0.0.0.0:8808/mcp" }
    • 说明:以上配置用于 MCP 客户端注册与发现。MCP 服务器本身会暴露一个可通过 JSON-RPC 方式访问的入口,具体地址与传输方式可通过启动参数和环境变量配置。
  • 基本使用方法
    • 调用方式:通过 MCP 客户端向服务器发送 JSON-RPC 请求,调用已注册的工具(如 search、stock_prices、stock_realtime、stock_news 等),获取标准化的输出结果;服务器会处理请求、聚合数据并返回结构化响应。
    • 数据源与容错:当某一数据源不可用时,服务器会自动切换到备选源并返回最合适的结果,同时对失败进行记录和告警,以便运维跟踪。
    • 监控与状态:可以通过数据源状态接口查看各数据源的可用性、熔断器状态以及当前的作业健康情况,便于维护。

服务器信息