MCP DevTools 服务端

使用说明(Markdown格式)

项目简介

MCP DevTools 是用 Go 语言实现的 MCP 服务器端,旨在为大语言模型(LLM)客户端提供标准化的上下文信息和功能。核心能力包括:托管和管理 Resources(数据与数据访问能力)、注册和执行 Tools(外部功能调用),以及定义和渲染 Prompt 模板,支持可定制的对话与交互模式。服务器通过 JSON-RPC 与客户端通信,提供会话管理、能力声明,并可通过多种传输协议(STDIO、SSE、HTTP)进行交付,适合作为开发者工具的后端上下文服务。

主要功能点

  • MCP 服务器核心:接收 JSON-RPC 请求,向客户端工具注册、执行和返回结果
  • 资源与数据访问:集中管理资源,支持工具在后端访问数据
  • 工具注册与执行:集中注册工具,LLM 可以通过服务器调用外部功能
  • Prompt 模板定义与渲染:提供可定制的 Prompt 模板渲染与渲染上下文
  • 多传输协议支持:STDIO、SSE、以及基于 HTTP 的 StreamableHTTP 等传输方式
  • 会话与能力管理:会话生命周期、能力声明,以及可观测性(追踪、指标)支持
  • 安全与合规:内置安全子系统、可选的 OAuth、审计日志和访问控件
  • 插件式扩展:工具注册表、插件式工具注册和扩展接口,便于自定义工具生态

安装与运行

  • 安装前提:需要 Go 1.20+ 环境(详见项目 README 的 Quickstart 以及 manual installation 指引)
  • 快速构建与运行
    • 安装最新二进制:go install github.com/sammcj/mcp-devtools@HEAD
    • 或下载 Release 二进制并放入系统 PATH
    • 默认启动方式(stdio 通信):
      • 直接运行二进制,不需要额外参数即可作为 MCP 服务端监听并通过 STDIO 把 MCP 协议输出到客户端
    • 也可使用其它传输方式(示例命令):
      • Studio HTTP 传输:mcp-devtools --transport http --port 18080
      • SSE 传输:mcp-devtools --transport sse --port 18080
  • 配置说明
    • 如需要启用额外 Tools,可以在启动前设置环境变量 ENABLE_ADDITIONAL_TOOLS,及 DISABLED_TOOLS
    • 服务器会在启动时自动注册 Upstream Proxy Tools(如有配置),并初始化指标、遥测和安全子系统

服务器配置(MCP 客户端需要的配置示例)

以下是一个 JSON 配置示例,用于 MCP 客户端连接到 MCP DevTools 服务器。请注意这是客户端侧配置示例,描述服务器端的启动信息,以便客户端能够与之建立连接。

{ "server_name": "mcp-devtools", "command": "mcp-devtools", "args": ["--transport", "stdio"], "env": { "ENABLE_ADDITIONAL_TOOLS": "security,sequential_thinking,code_skim,code_rename", "DISABLED_TOOLS": "", "NOTE_FOR_HUMANS": "默认启用一组基础工具,您可以通过 ENABLE_ADDITIONAL_TOOLS/DISABLED_TOOLS 调整工具集合;该服务器提供资源、工具执行、提示模板等能力,供 LLM 客户端查询与调用" } } 注释与说明

  • server_name: MCP 服务器在客户端配置中的名称,需与实际部署中的服务器名称一致
  • command/args: 启动 MCP 服务器的命令与参数,示例中使用 stdio 传输模式
  • env: 启动时的环境变量,用于开启/禁用特定工具,以及提供其他运行时配置
  • 客户端不需要包含实现细节的代码块,但上述配置帮助 MCP 客户端在本地或远程环境中正确启动并连接 MCP 服务器

基本使用方法

  • 启动服务器
    • 使用标准二进制直接运行,系统会监听并通过选定传输方式对外提供 MCP 能力
  • 客户端连接
    • 在 MCP 客户端的配置中,使用上面的 server_name、command 与参数进行连接配置
    • 客户端随后可以发起读取资源、调用工具、获取 Prompts 等请求,服务器按 MCP 协议返回 JSON-RPC 响应
  • 运行时配置与扩展
    • 通过环境变量控制可用工具、代理工具、日志、追踪等
    • 工具注册表会在启动时加载,LLM 客户端可以通过统一接口调用不同工具

备注 本仓库实现包含完整的 MCP 服务器运行代码、工具注册、传输层实现以及安全、观测等跨切面能力,具备可运行的后端 MCP 服务器能力,且具备可配置的工具生态与扩展能力,符合 MCP 服务器实现的要素。

服务器信息