Pipulate MCP 后端服务器

使用说明(Markdown 格式,便于快速上手):

  • 项目简介
    • Pipulate 是一个基于 MCP 的本地优先后端服务器,旨在通过标准化的 JSON-RPC 风格通信向 LLM 客户端提供“上下文 + 功能”服务。核心能力包括:托管和管理 Resources(资源数据访问)、注册和执行 Tools(工具调用)、定义与渲染 Prompts(提示模板),并通过统一的 API 与客户端进行交互。
  • 主要功能点
    • MCP 核心能力:资源管理、工具注册与执行、提示模板渲染
    • JSON-RPC 风格的请求/响应通信,统一接口
    • 会话管理与能力声明
    • 支持多传输协议(如 StdIO、SSE、WebSocket)以实现实时交互
    • 插件式工作流(apps 目录下的插件/工作流自动发现与注册)
    • 本地优先的运行环境(通过 Nix Flakes 管理依赖,尽量避免云端接口)
  • 安装步骤
    • 进入 Nix 环境并启动:
      • nix develop
    • 启动 MCP 服务器:
      • python server.py
    • 进入浏览器访问: http://localhost:5001
  • 服务器配置(MCP 客户端必需的连接信息,JSON 格式,描述服务器的启动命令与参数等)
    • 服务器名称: pipulate-mcp-server
    • 启动命令(示例,需在实际环境中生效的路径可能不同):
    • 端点/接口: /mcp-tool-executor
    • JSON 配置示例(供 MCP 客户端在连接时参考,客户端不需要直接执行)
    • {
    • "server_name": "pipulate-mcp-server",
    • "command": [".venv/bin/python", "server.py"],
    • "args": [],
    • "rpc": "json-rpc",
    • "endpoint": "/mcp-tool-executor"
    • }
    • 注释说明:
      • server_name:服务器在 MCP 客户端配置中的标识名称,便于区分和日志定位
      • command/args:启动服务器的执行命令及参数(客户端无需执行此命令,仅用于配置示例)
      • rpc:通信协议类型,示例为 json-rpc
      • endpoint:服务端对外暴露的处理 MCP 请求的路径
      • 以上字段应由 MCP 客户端在连接服务器前读取,实际连接时客户端仅使用 server_name、endpoint 及 RPC 方式进行 JSON-RPC 调用
  • 基本使用
    • MCP 客户端向 /mcp-tool-executor 发送 JSON-RPC 请求,包含需要执行的 Tool 名称及参数,服务器返回执行结果的 JSON-RPC 响应或错误信息
    • 可通过 SSE/WebSocket 实时接收工具调用的流式反馈
    • 服务端支持插件发现与工具注册,客户端可通过相同的接口调用插件内的工具

服务器信息