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
- 进入 Nix 环境并启动:
- 服务器配置(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 实时接收工具调用的流式反馈
- 服务端支持插件发现与工具注册,客户端可通过相同的接口调用插件内的工具