InfiniClaw MCP 服务端

使用说明(Markdown 格式)

  • 项目简介

    • InfiniClaw 的 MCP 服务器端实现,作为后端服务向 LLM 客户端暴露资源、工具以及可渲染的 Prompt 模板,采用 JSON-RPC 风格的通信(通过标准化的 MCP 服务进行请求/响应),并在容器化与跨进程环境中运行。
  • 主要功能点

    • 资源与数据访问:托管并管理 Resources/Resources 数据,提供上下文所需的数据访问能力。
    • 工具注册与执行:暴露工具接口,LLM 客户端可调用外部功能,服务器端负责执行并返回结果。
    • Prompt 模板与渲染:定义并渲染 Prompt 模板,支持自定义交互模式,方便灵活地与 LLM 交互。
    • 会话与能力声明:支持会话管理、能力声明以及对外暴露的能力清单。
    • 多传输协议支持:核心实现以 StdIO 传输为主,未来可扩展为 SSE/WebSocket 等传输协议。
    • 安全与扩展性:通过插件化工具注册、IPC 机制和严格的路径/权限校验,为复杂的后端上下文服务提供安全、可扩展的框架。
  • 安装步骤

    • 确保 Node.js 运行环境就绪(推荐使用 Node.js 16+)。
    • 获取代码:将仓库克隆到本地或直接使用现有目录。
    • 安装依赖:在仓库根目录执行 npm install(或使用你们的包管理器进行安装)。
    • 启动 MCP 服务器(示例用法,具体取决于你的运行环境与包装方式):
      • 通过命令行直接启动实现:使用 Node/NPM 运行对应入口文件。
      • 也可通过 MCP 客户端约定的启动命令来连接此 MCP 服务器。
  • 服务器配置(MCP 客户端使用的启动信息,JSON 格式,包含 server name、command、args 等)

    • 服务器名称:nanoclaw
    • 启动命令:npx
    • 参数(示例): [ "tsx", "external/nanoclaw/container/agent-runner/src/ipc-mcp-stdio.ts" ]
    • 说明:
      • server_name 用于在 MCP 客户端注册和识别此服务。
      • command/args 指定用于启动 MCP 服务器的可执行命令及启动参数。上述示例通过 tsx 运行 TypeScript 文件 ipc-mcp-stdio.ts,该文件中实现了 MCP 服务器的核心逻辑(包括 MCP 服务注册、工具暴露、以及 stdio 传输等)。
      • 实际部署时,请根据你的运行环境(容器、裸机、CI/CD 等)调整路径、工作目录与环境变量。
  • 基本使用方法

    • MCP 客户端通过 JSON-RPC 风格的请求与服务器通信,获取资源、调用工具、获取 Prompt 等。
    • 服务器端在启动后会暴露多种工具,如发送消息、调度任务、列出任务、注册群组等,客户端通过调用这些工具实现对资源与功能的访问。
    • 会话管理与能力声明帮助 LLM 客户端理解可用的能力和上下文边界,并支持多种传输方式的扩展。
    • 适用于需要以标准化后端上下文服务支撑 LLM 的应用,如多资源管理、工具执行以及可自定义的提示渲染。

服务器信息