pai MCP 服务端实现

  • 项目简介

    • pai 是一个面向 LLM 的多用途后端平台,包含对话、内存、知识库、任务管理等能力。它在仓库中实现了一个基于 MCP 的服务器端入口,能够以标准化的方式向 MCP 客户端提供资源、工具和提示模板,并通过 JSON-RPC 进行交互。该实现覆盖 19 种工具,能与 Claude Code、Cursor、Windsurf 等 MCP 兼容代理对接,具备会话管理、能力声明和多传输协议的支持能力。
  • 主要功能点

    • MCP 服务端核心实现:通过 MCP SDK 启动并暴露 19 个工具,支持工具注册、执行和响应返回。
    • 资源与知识管理:提供资源、知识源、知识检索等能力,便于 LLM 在对话中调用数据访问功能。
    • 工具注册与执行:实现了 19 种工具(如 remember、recall、memory-context、beliefs、forget、memory-stats、memory-synthesize、task-list、task-add、task-done、task-edit、task-reopen、goal-list、goal-add、goal-done、knowledge-learn、knowledge-search、knowledge-sources、knowledge-forget),可被 MCP 客户端调用。
    • Prompt 模板与渲染:内置渲染结果的提示 catalog,提供 getResultRenderPrompt 等函数,用于定义交互与渲染结构化输出的 UI 组件。
    • JSON-RPC 交互与传输:MCP 服务器以标准化的 JSON-RPC 形式与客户端通信,支持通过不同传输协议进行数据传输(如标准输入/输出、SSE、WebSocket 等,具体实现通过 MCP Server 与 Transport 层)。
    • 会话与能力声明:实现了对话会话、模型上下文、能力声明等 MCP 基本能力,确保客户端可按协议约定获取资源和功能。
    • 与 LLM 提供方集成:支持 Ollama、本地/云 API(OpenAI、Anthropic、Google 等)等模型提供者的无缝切换与健康检查。
    • 模块化与扩展性:采用插件式架构,便于扩展工具、资源、Prompts、以及与外部 MCP 客户端的对接。
  • 安装与运行

    • 构建与启动 MCP 服务端的常规流程(与仓库的 Quick Start、构建脚本一致):
      • 先安装依赖并构建仓库(pnpm install、pnpm build)。
      • 构建产物包含 MCP 服务端入口脚本(如 packages/cli/dist/mcp.js)。
      • 启动 MCP 服务端入口,通常通过 node 指定入口文件运行,例如: node /absolute/path/to/packages/cli/dist/mcp.js
    • MCP 客户端配置说明(需提供给客户端使用,以下信息用于配置 JSON 客户端指向此 MCP 服务端):
      • serverName: "pai"
      • command: "node"
      • args: ["/absolute/path/to/packages/cli/dist/mcp.js"]
      • 注释:以上为 MCP 服务器的启动命令与入口脚本路径,请按实际部署环境的绝对路径填写。MCP 客户端本身不需要配置,只需使用这份服务器配置去连接并通过 MCP 协议与之通信。
  • 服务器配置示例(给 MCP 客户端使用的配置信息,JSON 格式,非代码块展示) { "serverName": "pai", "command": "node", "args": ["/absolute/path/to/packages/cli/dist/mcp.js"], "description": "pai MCP 服务端入口,暴露 19 种工具并实现资源/提示模板管理,使用 JSON-RPC 与 LLM 客户端对接。" }

  • 基本使用方法

    • 启动后,MCP 客户端可通过 JSON-RPC 调用 pai 服务端暴露的工具,进行记忆、检索、任务/目标管理等操作,并按需要获取与渲染 Prompt 的输出。
    • 客户端可通过配置将服务器路径与进入点加入到自身的 MCP 服务器列表,建立可重复利用的连接。
    • 如需扩展功能,可参考仓库中的 19 个工具实现,添加新的工具并在 MCP 服务端注册即可。
  • 关键词

    • MCP 服务端实现、LLM 工具、JSON-RPC、资源管理、 prompts 渲染
  • 分类ID

    • 6

服务器信息