corvid-agent MCP 服务端实现

使用说明(Markdown)

  1. 项目简介
  • 该仓库实现了一个基于模型上下文协议(MCP)的后端服务,核心职责是为大语言模型客户端提供标准化的上下文服务与能力。它支持资源管理、工具注册与执行、以及提示模板的渲染与应用,能够通过多种传输协议(HTTP/WS/标准输入输出等)与客户端通信。
  1. 主要功能点
  • MCP 核心能力
    • 资源与上下文管理:提供资源、内存、会话等能力的数据访问和管理。
    • 工具注册与执行:通过 MCP 工具体系注册多种工具,LLM 客户端可调用外部功能并获取结果。
    • 提示模板与对话上下文:支持灵活的 Prompt 渲染与历史上下文管理,便于多轮对话。
    • JSON-RPC/OpenAPI API:提供统一的 REST API 与 MCP 兼容的工具接口描述,便于客户端发现与调用。
  • 通信与对接
    • HTTP/WS/StdIO 等传输渠道,支持多模态对接与流式输出。
    • 外部 MCP 服务接入能力:可以通过 stdio 传输等方式接入外部 MCP 服务器,整合多源工具。
  • 安全与治理
    • 访问鉴权、受控工具权限、工具调度限制,以及审计、观测性和多租户隔离。
  • 开箱即用的架构
    • 提供 OpenAPI 自动化生成、丰富的工具集合、A2A/AIO 等集成,以及对外部服务的连接能力。
  1. 安装与运行步骤
  • 先决条件
    • Bun 运行时环境,以及对 Node/Bundler 的兼容性要求。
  • 安装依赖
    • 在仓库根目录执行 bun install(或等效的安装命令)。
  • 启动服务器
    • 运行 Bun 命令启动服务,默认监听端口 3000,HTTP/WS 服务对外暴露。
  • 环境变量与配置
    • 服务器对外暴露大量选项(如 API KEY、模型提供者、模型主机、数据库等),具体请参阅 .env.example 文件并按需配置。核心要点包括:API Key、数据库连接、模型提供者 APIKey、OpenAI/Anthropic 等接入键,以及对外桥接设置(Telegram/Discord/Slack 等)。
  • 外部 MCP 服务器接入
    • 该实现支持将外部 MCP 服务器作为“外部服务”接入,并在启动时通过 JSON 配置描述需要连接的服务器、命令、工作目录、环境变量等信息。通过该机制可以统一调度来自不同源的工具,扩展能力。
  1. 服务器配置(MCP 服务器配置描述) 说明:下面给出一个示例配置的描述性说明,实际使用时请用 JSON 格式按需填充。MCP 客户端无需该配置,只用于外部 MCP 服务对接。
  • 服务器名称(name):对应外部 MCP 服务器的标识,如 "github-mcp-server"。
  • 启动命令(command):启动该外部 MCP 服务器所使用的可执行命令,例如 bun。
  • 启动参数(args):命令行参数列表,指向用于暴露 MCP 工具的脚本,如 server/mcp/stdio-server.ts。
  • 工作目录(cwd):外部进程的工作目录(绝对路径)。
  • 环境变量(envVars):需要传递给外部 MCP 服务器的环境变量集合,例如 CORVID_AGENT_ID、CORVID_API_URL 等。
  • 是否启用(enabled):布尔值,指示该外部 MCP 服务器是否启用。
  • 代理/身份(agentId)等可选字段:用于标识在外部服务器中与之关联的本地代理标识。

示例(文本描述,不含代码块): { "name": "github-mcp-server", "command": "bun", "args": ["server/mcp/stdio-server.ts"], "cwd": "/abs/path/to/corvid-agent", "envVars": { "CORVID_AGENT_ID": "corvid-agent-001", "CORVID_API_URL": "http://localhost:3000" }, "enabled": true } 说明:以上配置用于外部 MCP 服务器接入 corvid-agent 的 MCP 服务端,外部服务器通过标准输入输出协议与 Corvid 的 MCP 服务端通信并注册其工具。

  1. 基本使用方法
  • 启动后端服务
    • 启动 corvid-agent 的 MCP 服务端,服务端将对外暴露 MCP/REST/OpenAPI 等接口。
  • 使用 MCP 客户端
    • 通过 MCP 客户端(实现端)来查询、注册资源,注册工具并执行工具调用,以及读取或渲染 Prompt 模板。具体使用请参考 MCP 客户端的文档。
  • 外部服务器对接
    • 如需接入外部 MCP 服务器,请提供上述 JSON 配置描述,External MCP Client Manager 会拉起外部进程并发现其工具,暴露为本服务器可调用的直接工具。
  • 安全与运维
    • 启用 APIKey 鉴权,确保仅授权客户端可以访问 API;利用日志、审计与观测组件对执行过程进行追踪与告警。
  • 常见场景
    • 通过 MCP 工具调用实现跨代理协作、跨系统的数据流转、跨模型的上下文扩展等能力。
  1. 关键词 模型上下文协议, 工具注册与执行, 多代理协作, JSON-RPC API, OpenAPI 自动化

  2. 分类 5

服务器信息