使用说明

项目简介

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 作为默认传输协议,简化部署和集成。

安装步骤

  1. 安装 Go 环境: 确保您的机器上已安装 Go 语言环境 (Go 1.23.4 或更高版本)。
  2. 安装 'mcp-go-tools': 使用 'go install' 命令安装 'mcp-go-tools' 工具。
    go install github.com/ksysoev/mcp-go-tools/cmd/mcp-go-tools@latest
    安装成功后,'mcp-go-tools' 命令应该在您的 '$GOPATH/bin' 目录下。

服务器配置

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"'。

基本使用方法

  1. 启动服务器: 在 MCP 客户端中配置好服务器信息后,启动 'go-codestyle' 服务器。服务器将监听 Stdio 输入输出,等待客户端请求。

  2. 客户端请求工具: 客户端可以使用 MCP 协议的 'tools/call' 方法调用 'codestyle' 工具。 例如,请求获取 "testing" 和 "code" 两个类别的 Go 代码风格指南:

    {
      "method": "tools/call",
      "params": {
        "name": "codestyle",
        "arguments": {
          "categories": "testing,code"
        }
      }
    }

    服务器会根据请求的类别,返回相应的 Go 代码风格指南信息。LLM 客户端可以利用这些信息来指导 Go 代码的生成和改进。

  3. 查看日志: 服务器默认将日志输出到标准输出。您可以使用 '--log-file' 参数将日志输出到文件,方便问题排查。例如:

    mcp-go-tools server --config config.yaml --log-file=server.log

    您还可以通过 '--log-level' 和 '--log-text' 参数调整日志级别和格式。

注意: 'mcp-go-tools' 目前处于积极开发阶段,功能可能会有所变动,请关注仓库的更新和文档。

信息

分类

开发者工具