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 实现提升性能与并发能力。
- 支持以两种方式启动 MCP 服务:
- 与 DataPulse 的结合点
- Tool 列表包括 read_url、read_batch、list_sources、list_packs、read_url、query_feed、build_digest 等,覆盖数据读取、查询、 digest 与故事工作流等 MCP 客户端常用能力。
- 服务器内部通过 DataPulseReader 调用底层数据读取与分析逻辑,将结果以 MCP 兼容的 JSON-RPC 响应返回给客户端。
- MCP 核心能力
- 安装步骤
- 安装及依赖
- 使用常规 Python 环境安装 DataPulse(推荐开发模式):
- 安装并进入开发模式:pip install -e .
- 如需整合 FastMCP,请确保环境中可用相应的 mcp.server.FastMCP 实现。
- 使用常规 Python 环境安装 DataPulse(推荐开发模式):
- 启动 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 的连接方式。
- 启动后,客户端可以通过 MCP 协议向服务器发送 JSON-RPC 请求,例如: