Praktor MCP 服务集合

使用说明

  • 项目简介

    • Praktor 提供了一组用 TypeScript/Node 实现的 MCP(模型上下文协议)服务器,用于向 LLM 客户端暴露多种工具、记忆、提示和任务等能力。服务器通过标准的 MCP 接口接收 JSON-RPC 风格的请求,返回统一的 JSON 响应,并通过 NATS 等消息总线实现与网关和其他组件的通信与编排。
  • 主要功能点

    • 多个 MCP 服务器实例:praktor-nix、praktor-memory、praktor-profile、praktor-tasks、praktor-file、praktor-swarm 等,分别实现工具查询、执行、记忆、任务调度、文件传输等能力。
    • 传输方式:stdio(本地进程间通信,基于标准输入输出)以及可扩展的 HTTP 传输等,满足不同部署场景。
    • 与云端/网关集成:通过 NATS 实现与网关、调度器、代理和扩展系统的异步通信与事件通知。
    • 安全与扩展性:通过扩展系统(MCP 服务器注入/插件扩展等)实现工具的动态注册和外部服务的接入,具备对接 vault、secret 引用以及权限控制的能力。
    • 高度模块化:每个 MCP 服务器独立实现,便于按需启用、替换与扩展。
  • 安装步骤

    • 请先准备好运行环境后端:安装 Node.js 运行时、可选的 NATS 服务、以及 Praktor 网关依赖。
    • 启动环境时,需要确保 gateway/nats 服务可用,然后通过 MCP 服务器进程启动(由具体部署脚本/容器管理器来完成)。
    • 详细依赖和环境变量的配置请参阅各 MCP 服务器的启动命令与参数注释。
  • 服务器配置(MCP 客户端需要的配置信息,示例说明) 下面给出 MCP 客户端需要的配置信息描述,实际使用时将以 JSON 形式提供给 AGENT_EXTENSIONS 环境变量。注意:以下为描述性信息,不含代码块。

    全局配置包含以下 MCP 服务器条目(以实际部署的服务器名称为例):

    • praktor-nix:
      • type: stdio
      • command: node
      • args: ["/app/mcp-nix.mjs"]
      • env: { "NATS_URL": "nats://gateway-host:4222", "AGENT_ID": "<agent-id>" }
    • praktor-memory:
      • type: stdio
      • command: node
      • args: ["/app/mcp-memory.mjs"]
      • env: { "NATS_URL": "nats://gateway-host:4222", "AGENT_ID": "<agent-id>" }
    • praktor-profile:
      • type: stdio
      • command: node
      • args: ["/app/mcp-profile.mjs"]
      • env: { "NATS_URL": "nats://gateway-host:4222", "AGENT_ID": "<agent-id>" }
    • praktor-tasks:
      • type: stdio
      • command: node
      • args: ["/app/mcp-tasks.mjs"]
      • env: { "NATS_URL": "nats://gateway-host:4222", "AGENT_ID": "<agent-id>" }
    • praktor-file:
      • type: stdio
      • command: node
      • args: ["/app/mcp-file.mjs"]
      • env: { "NATS_URL": "nats://gateway-host:4222", "AGENT_ID": "<agent-id>" }
    • praktor-swarm(按需启用):
      • type: stdio
      • command: node
      • args: ["/app/mcp-swarm.mjs"]
      • env: { "NATS_URL": "nats://gateway-host:4222", "AGENT_ID": "<agent-id>", "SWARM_CHAT_TOPIC": "<topic>" }

    说明

    • server.name 为 MCP 服务实例的唯一标识符,client 客户端通过该名称与之建立连接。
    • command/args 指定启动 MCP 服务器的可执行程序及参数,务必与实际部署路径匹配。
    • env 提供运行时所需的环境变量(如 NATS 地址、Agent 标识等)。
    • 客户端无需关心服务器内部实现细节,只需正确配置以上字段以连接并调用工具。
  • 基本使用方法

    • 启动 MCP 客户端后,客户机可以通过 MCP 的 JSON-RPC 机制向这些服务器发出请求,例如读取资源、调用工具、执行任务等。
    • 通过 STDIO/HTTP 等传输协议,MCP 客户端与服务器之间的消息将以 JSON-RPC 的请求和响应形式进行,服务器应返回相应的结果或错误信息。
    • 如需扩展,客户端可以注册额外的 MCP 服务器,或通过扩展机制注入额外的 MCP 服务,并通过查询接口将其合并到运行时上下文中。
  • 备注 -Praktor 的 MCP 服务器实现是面向开发者的扩展能力,主要用于将复杂的 AI 辅助能力以标准化的工具形式暴露给 LLM 客户端,便于在多种场景中快速接入和组合使用。

服务器信息