Pipulate MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • Pipulate MCP 服务器是一套以 MCP(Model Context Protocol)为核心的后端服务器。它通过 JSON-RPC/HTTP/WebSocket 等协议向本地的 LLM 客户端提供资源管理、工具注册与执行,以及 Prompt 模板的渲染与输出。服务器负责会话状态、能力声明以及对多传输通道的支持,旨在为本地化 AI 应用提供可控、可扩展的上下文服务。
  • 主要功能点

    • 资源与数据管理:托管并访问本地化的 Resources 与数据库,确保上下文信息的持久化与可检索性。
    • 工具注册与执行:注册并执行外部功能,LLM 可以通过 MCP 调用工具实现与外部系统的交互。
    • Prompt 模板定义与渲染:将 Prompt 模板与工作流步骤渲染为可执行的 UI 与对话上下文。
    • JSON-RPC 通信:通过 JSON-RPC 风格的请求/响应进行消息交互。
    • 会话与能力声明:维护会话信息与服务能力,支持多种传输协议。
    • 多传输协议支持:HTTP/WS/SSE 等传输模式,确保与不同客户端的互操作性。
    • 本地化与可扩展性:内置本地 LLM、HTMX 渲染、Nix 环境和 Jupyter 集成,强调可重复性与可观察性。
  • 安装步骤

    • 依赖与环境
      • 推荐方法 A(Nix 统一环境,最接近原生设计):安装 Nix,执行 nix develop 进入开发环境后直接启动服务器。
      • 方法 B(直接使用 Python 环境):在具备 Python 环境的前提下,运行服务器入口脚本 server.py(需要满足依赖与虚拟环境配置)。
    • 快速步骤(方法 A,推荐)
      1. 安装 Nix,完成后重新打开终端。
      2. 运行 nix develop 进入 Pipulate 的开发环境。
      3. 启动服务器:在项目目录执行 python server.py(或者按照 nix 开发环境的启动脚本启动,具体根据本地配置)。
      4. 浏览器访问服务端端点,默认端口及路径与代码中声明的一致(如 http://localhost:5001)。
    • 基本运行信息
      • 服务器入口通常是 server.py,内部会启动必要的服务、WebSocket/SSE端点以及 MCP 相关调度。
      • MCP 客户端通常需要提供一个配置,包含服务器名称、启动命令及参数,以便建立连接与工具调用。
  • 服务器配置(MCP 客户端配置示例,JSON 格式) 注:以下为示例描述,实际客户端可按需连接;JSON 表达的是对 MCP 服务器的连接信息与调用格式,便于配置管理与自动化编排。 { "server_name": "pipulate-mcp-server", "command": "python", "args": ["server.py"], "description": "Pipulate MCP 服务器入口,提供资源、工具与 Prompts 的 MCP 服务端", "transport": "WebSocket/JSON-RPC", "endpoint": "http://localhost:5001/mcp-tool-executor", "notes": "客户端应通过该服务器执行 MCP 工具调用与获取结果" }

    配置要点说明

    • server_name:用于标识 MCP 服务端的名称,便于在多服务环境中区分。
    • command、args:MCP 客户端启动 MCP 服务器所需的命令及参数。示例中给出 python server.py,客户端通过该信息发起连接。
    • transport、endpoint:描述服务器支持的传输机制及用于工具执行的入口端点(JSON-RPC/HTTP-Gateway 风格的接口)。
    • 说明性备注:用于帮助 MCP 客户端理解如何与服务器对接,以及在不同环境中的调用约定。

服务器信息