DataPulse MCP Server

使用说明(Markdown 格式):

  • 项目简介
    • DataPulse 提供一个 MCP 服务器实现,用于向 MCP 客户端(如实现了 MCP 的大模型或代理)提供可访问的 Resources、Tools 与 Prompts,并通过 JSON-RPC 协议进行通信。服务器具备本地运行能力(无外部依赖时的快速回退实现)以及若环境中存在 FastMCP 时的正式集成路径。
  • 主要功能点
    • MCP 核心能力
      • 注册、暴露并执行工具(Tools),通过 JSON-RPC 调用相应的方法。
      • 提供对资源、任务、故事、告警路由等资源的查询与操作接口,供 LLM 客户端获取上下文与能力。
      • 通过本地服务器实现快速回退(Local MCP)以及在有 FastMCP 时的更完善支持。
    • 运行与集成
      • 支持以两种方式启动 MCP 服务:
        • 本地回退模式(默认):python -m datapulse.mcp_server,使用标准输入输出(stdio)进行 JSON-RPC 交互。
        • FastMCP 模式(若环境中安装了 mcp.server.fastmcp):使用差异化的 MCP 实现提升性能与并发能力。
    • 与 DataPulse 的结合点
      • Tool 列表包括 read_url、read_batch、list_sources、list_packs、read_url、query_feed、build_digest 等,覆盖数据读取、查询、 digest 与故事工作流等 MCP 客户端常用能力。
      • 服务器内部通过 DataPulseReader 调用底层数据读取与分析逻辑,将结果以 MCP 兼容的 JSON-RPC 响应返回给客户端。
  • 安装步骤
    • 安装及依赖
      • 使用常规 Python 环境安装 DataPulse(推荐开发模式):
        • 安装并进入开发模式:pip install -e .
      • 如需整合 FastMCP,请确保环境中可用相应的 mcp.server.FastMCP 实现。
    • 启动 MCP 服务器
      • 本地回退模式(标准实现,最常用):在项目目录下执行
        • python -m datapulse.mcp_server
      • FastMCP 集成模式(如果环境可用):确保安装了 FastMCP 组件后,执行同样的入口,服务器会自动切换到正式的 FastMCP 实现并注册工具。
  • 服务器配置(MCP 客户端所需的唯一信息) 说明:MCP 客户端需要配置 MCP 服务器的启动信息(server name、command、args 等),以便建立连接并向 MCP 服务器发起 JSON-RPC 请求。下方为示例配置项,格式为 JSON,便于直接在客户端配置中使用(具体字段含义在注释中说明): { "server_name": "DataPulse MCP Server", "command": "python -m datapulse.mcp_server", "args": [], "notes": "默认以 stdio 方式运行;如环境中安装了 FastMCP,可切换为 FastMCP 实现并保持同样的入口参数。" } 说明
    • server_name: MCP 服务器的名称,便于在多服务器环境中标识。
    • command:启动 MCP 服务器所执行的命令字符串(不要包含额外的代码片段,仅给出实际执行指令)。
    • args:启动命令的参数数组,如需要传入特定选项(如 --stdio、--list-tools 等),可将其放在此处。
    • 备注:客户端无需包含实现细节代码,仅依赖上述启动信息即可连接 MCP 服务器。
  • 基本使用方法
    • 启动后,客户端可以通过 MCP 协议向服务器发送 JSON-RPC 请求,例如:
      • 初始化并查询工具列表
      • 调用 specific tool 获取数据
      • 读取资源、执行任务、获取情报工作流相关信息
    • 服务器会返回符合 MCP 规范的 JSON-RPC 响应,包含结果、错误信息或通知。
    • 如需调试、查看工具清单或健康状态,可以在命令行使用:
      • python -m datapulse.mcp_server --list-tools
      • python -m datapulse.mcp_server --call health
    • 放置在生产或开发环境中时,请确保 Python 环境与依赖已就绪,并根据需要选择 stdio 或 FastMCP 的连接方式。

服务器信息