AgentSpec MCP 服务器

使用说明(Markdown 格式)

  1. 项目简介
  • AgentSpec MCP 服务器是一个基于 MCP(Model Context Protocol)规范的后端服务。它通过 JSON-RPC 与客户端通信,提供对资源、工具、提示模板等的托管、查询和执行能力,支持多种传输方式(如标准输入输出、HTTP),并实现了会话管理、能力声明及多种实用工具。
  1. 主要功能点
  • MCP 级通信:实现 initialize、tools/list、tools/call、ping 等核心方法,按 MCP JSON-RPC 规范响应。
  • 资源与工具管理:提供资源、工具注册、调用、可用性检测等能力,支持多种工具定义与执行。
  • 提供与客户端的扩展能力:具备健康、审计、差异、生成、验证等工具模块,便于客户端对 AgentSpec 进行健康检查、合规审计、代码生成等操作。
  • 传输协议支持:默认使用 STDIO 传输,亦可通过 --http 启用 HTTP 传输,方便在持久化服务中与前端/编排系统对接。
  • 侧边协作与扩展:提供对集群配置、对端证明、资源与工具的协作能力,以适应多代理/多实例场景。
  1. 安装与运行
    1. 安装与构建
    • 在仓库根目录下安装依赖并构建 MCP 服务器(通常通过 pnpm/yarn/npm 完成依赖安装与打包构建)。
    1. 启动方式
    • STDIO 模式:直接执行 MCP 服务器脚本,通过标准输入输出进行 JSON-RPC 的交互,适用于短期任务或命令脚本流。
    • HTTP 模式:通过命令行参数 --http 启用 HTTP 传输,默认监听端口在 MCP_PORT 环境变量中指定,示例:
      • 启用 HTTP:node dist/index.js --http
      • 监听端口:MCP_PORT=3666
  1. 服务器配置(MCP 客户端侧的配置示例)
  • MCP 客户端需要了解服务器的启动参数,以便建立连接。以下为描述性配置字段的例子(非代码块,便于理解):
    • serverName: "agentspec"(服务器名称,示例只列举一个服务)
    • command: "node"(启动 MCP 服务器的可执行程序)
    • args: ["dist/index.js", "--http"](启动参数,示例为通过 HTTP 暴露 MCP)
    • transport: "http"(传输类型,若为 stdout/stdio 则为 "stdio")
    • url: "http://localhost:3666/mcp"(当传输为 http 时服务器暴露的端点)
    • healthEndpoint: "/health"(健康检查端点,客户端可用以探测服务器状态)
    • 注释:MCP 客户端在本仓库的描述中不需要实现配置读取逻辑;仅需知道服务器的启动命令和参数即可接入 MCP 网络。
  1. 基本使用方法
  • 通过 HTTP 使用示例(简要步骤):在客户端集成中配置服务器为 agentspec,使用 POST /mcp 发送 MCP JSON-RPC 请求,如 initialize、tools/list、tools/call、ping 等,服务器返回 JSON-RPC 响应。
  • 通过 STDIO 使用示例(简要步骤):将单条 JSON-RPC 请求写入进程标准输入,读取标准输出中的响应,继续后续请求。
  • 你可以基于此 MCP 服务器搭建一个面向 LLM 客户端的上下文服务,结合资源、工具、Prompts 的编排,完成对外部工具的调用、资源访问等能力。

服务器信息