AgentSpec MCP 服务器

使用说明

  • 项目简介
    • 本仓库实现了一个符合 MCP(Model Context Protocol)标准的后端服务器,负责向 LLM 客户端提供上下文信息和能力,包括对资源(Resources)的管理、工具(Tools)的注册与执行,以及 Prompt 模板(Prompts)的渲染。服务器通过 JSON-RPC 与客户端通信,支持多传输通道(stdio 和 HTTP),并提供会话管理、能力声明,以及健康检查、审计、资源读取等服务。
  • 主要功能点
    • JSON-RPC 核心请求处理与响应
      • initialize、tools/list、tools/call、ping 等基础方法
    • 资源、工具、Prompts 的托管与执行能力
    • 与多种 MCP 相关工具与服务的对接入口:validate、health、audit、scan、diff、gap、listAgents、proof、generate 等后端工具
    • 双传输模式支持
      • stdio(命令行/脚本环境常用,默认传输)
      • HTTP(持久服务,http://host:port/mcp,/health 等端点)
    • 健康检查与操作员辅助
      • 提供 health、gap、proof 等接口,用于运行时健康状态与一致性验证
  • 安装与运行步骤
    • 安装依赖并构建
      • 安装依赖并编译源码(项目通常使用 TypeScript + tsup 构建,生成 dist/index.js)
    • 启动方式
      • 以 stdio 传输启动:node dist/index.js
      • 以 HTTP 传输启动:node dist/index.js --http
        • 通过环境变量 MCP_PORT 可自定义端口(默认为 3666)
    • 服务健康与可用性
      • 通过 GET /health 可以快速确认 MCP 服务器实例处于就绪状态
      • 通过 POST /mcp 进行 JSON-RPC 请求测试基本功能(例如 initialize、tools/list、ping)
  • 服务器配置(供 MCP 客户端使用的配置信息) 说明:MCP 客户端需要知道如何启动并连接到 MCP 服务器。本字段给出一个示例配置,以便在客户端侧集中管理连接信息(名称、启动命令与参数等)。注意:实际部署中,MCP 客户端不需要你在代码中包含服务器实现细节;这里的配置仅用于描述连接和启动参数。示例仅作参考,实际字段名称与实现可能因部署框架而异。 { "serverName": "agentspec", "transport": "http", "command": "node", "args": ["dist/index.js", "--http"], "env": { "MCP_PORT": "3666" }, "notes": "HTTP 模式启动,端口通过 MCP_PORT 指定;如使用 stdio 模式,请删掉 --http,并将 transport 设为 stdio。" } 使用要点:
    • serverName: MCP 服务器在客户端侧的标识名称,便于区分多服务器场景。
    • command / args: 启动 MCP 服务器的命令及参数,确保客户端能够以相同方式启动并连接。
    • env: 如需自定义端口、地址等,请在 env 中设置相应变量。
    • transport 注解:HTTP 模式为远程可访问的服务,stdio 模式为本地流式传输。
  • 基本使用方法
    • 启动前提
      • 已安装依赖并构建成功
      • Node.js 环境就绪(若以 HTTP 启动,需确保端口对外可访问)
    • 启动命令
      • stdio 模式:node dist/index.js
      • HTTP 模式:node dist/index.js --http
    • 健康与验证
      • 访问 /health 获取 MCP 服务器状态
      • 使用 JSON-RPC 测试初始化、工具列表、工具调用等能力,确保服务器能正确响应
    • 与客户端集成的要点
      • MCP 客户端需要了解服务器的启动命令与参数,以便在集群中统一化部署(例如 Operator/控制平面侧的容器编排)
      • 客户端依赖 JSON-RPC 的标准请求格式,服务端返回标准 JSON-RPC 响应

服务器信息