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 服务器实现的要素。