使用说明
项目简介
MCP Go 工具服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,专门为 Go 语言开发场景设计。它旨在通过标准化的 MCP 协议,向大型语言模型 (LLM) 客户端提供 Go 语言相关的代码生成工具和风格指南。该服务器可以帮助 LLM 更好地理解和生成高质量、符合 Go 语言习惯的代码。
主要功能点
- Go 代码风格指南: 提供 Go 语言 idiomatic 代码风格、最佳实践和常用模式的定义,帮助 LLM 生成符合 Go 语言规范的代码。
- 可配置规则: 通过 YAML/JSON 配置文件灵活定义和管理 Go 语言代码生成规则和风格指南。
- 命令行界面: 提供友好的命令行界面,方便用户启动和管理 MCP 服务器。
- 结构化日志: 支持 JSON 和文本格式的结构化日志输出,方便监控和调试服务器运行状态。
- 标准 MCP 协议: 基于 'github.com/metoro-io/mcp-golang' 库实现,遵循 MCP 协议标准,易于与各种 MCP 客户端集成。
- Stdio 传输: 使用 Stdio 作为默认传输协议,简化部署和集成。
安装步骤
- 安装 Go 环境: 确保您的机器上已安装 Go 语言环境 (Go 1.23.4 或更高版本)。
- 安装 'mcp-go-tools': 使用 'go install' 命令安装 'mcp-go-tools' 工具。
安装成功后,'mcp-go-tools' 命令应该在您的 '$GOPATH/bin' 目录下。go install github.com/ksysoev/mcp-go-tools/cmd/mcp-go-tools@latest
服务器配置
MCP 服务器主要通过命令行参数和配置文件进行配置。以下是在 MCP 客户端 (例如 Cline) 中配置 'mcp-go-tools' 服务器的示例 JSON 配置:
{ "serverName": "go-codestyle", "command": "mcp-go-tools", "args": ["server", "--config", "/path/to/your/config.yaml"], "env": {}, "description": "Go Code Style Guide Server" }
配置参数说明:
- 'serverName': 服务器名称,客户端用于标识和引用此服务器,可以自定义,例如 'go-codestyle'。
- 'command': 启动 MCP 服务器的命令,这里是 'mcp-go-tools'(确保此命令在客户端可执行环境的 PATH 环境变量中,或者使用绝对路径)。
- 'args': 传递给 'mcp-go-tools' 命令的参数列表。
- '"server"': 指定 'mcp-go-tools' 运行 server 子命令,启动 MCP 服务器。
- '"--config"': 指定配置文件路径,例如 '"/path/to/your/config.yaml"'。 请将 '/path/to/your/config.yaml' 替换为您实际的配置文件路径。 您需要根据实际情况创建和配置 'config.yaml' 文件,该文件定义了 Go 代码风格规则。示例配置文件 'example.config.yaml' 可以参考仓库根目录。
- 'env': 环境变量,如果需要可以设置,通常为空 '{}'。
- 'description': 服务器描述,用于在客户端界面显示,可以自定义,例如 '"Go Code Style Guide Server"'。
基本使用方法
-
启动服务器: 在 MCP 客户端中配置好服务器信息后,启动 'go-codestyle' 服务器。服务器将监听 Stdio 输入输出,等待客户端请求。
-
客户端请求工具: 客户端可以使用 MCP 协议的 'tools/call' 方法调用 'codestyle' 工具。 例如,请求获取 "testing" 和 "code" 两个类别的 Go 代码风格指南:
{ "method": "tools/call", "params": { "name": "codestyle", "arguments": { "categories": "testing,code" } } }服务器会根据请求的类别,返回相应的 Go 代码风格指南信息。LLM 客户端可以利用这些信息来指导 Go 代码的生成和改进。
-
查看日志: 服务器默认将日志输出到标准输出。您可以使用 '--log-file' 参数将日志输出到文件,方便问题排查。例如:
mcp-go-tools server --config config.yaml --log-file=server.log您还可以通过 '--log-level' 和 '--log-text' 参数调整日志级别和格式。
注意: 'mcp-go-tools' 目前处于积极开发阶段,功能可能会有所变动,请关注仓库的更新和文档。
信息
分类
开发者工具