返回市场
MCP-GOPLS服务器

MCP-GOPLS服务器

作者:Yantrio41 星标更新:2025-06-06

项目介绍

MCP-GOPLS

一个封装了gopls的MCP(模型上下文协议)服务器,提供Go语言服务器的功能。

⚠️ 警告:整个项目由Claude Code生成,未经人工代码审查。虽然它通过了测试并看起来功能正常,请在生产环境中极其谨慎地使用。代码尚未经过安全、性能或边界情况的审计。请参阅DESIGN.md以获取AI生成的设计文档。

功能

所有gopls语言服务器的功能现已实现:

  • GoToDefinition:导航到符号的定义
  • FindReferences:查找符号的所有引用
  • GetDiagnostics:获取编译错误和静态分析结果
  • Hover:获取光标下的符号信息
  • SearchSymbol:在整个工作区中搜索符号(支持部分匹配)
  • RenameSymbol:重命名工作区中的符号(直接更改文件)
  • FindImplementers:查找所有实现接口的类型
  • ListDocumentSymbols:获取文件中定义的符号大纲
  • FormatCode:根据gofmt标准格式化Go源代码(直接更改文件)
  • OrganizeImports:组织导入语句(分组和排序导入,直接更改文件)

安装

go install github.com/yantrio/mcp-gopls/cmd/mcp-gopls@latest

与Claude集成

Claude Code

  1. 安装mcp-gopls:

    go install github.com/yantrio/mcp-gopls/cmd/mcp-gopls@latest
    
  2. 添加到Claude Code:

    claude mcp add mcp-gopls "$(which mcp-gopls)"
    
  3. 重启Claude Code:

    claude restart
    
  4. 验证安装:

    claude mcp list
    

Claude Desktop

  1. 安装mcp-gopls(同上)

  2. 编辑Claude Desktop配置:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  3. mcpServers部分添加以下内容:

    {
      "mcpServers": {
        "mcp-gopls": {
          "command": "mcp-gopls",
          "args": []
        }
      }
    }
    

    或者使用自定义工作区:

    {
      "mcpServers": {
        "mcp-gopls": {
          "command": "mcp-gopls",
          "args": ["-workspace", "/path/to/your/go/project"]
        }
      }
    }
    
  4. 重启Claude Desktop

使用方法

# 使用默认设置运行(使用PATH中的gopls和当前目录作为工作区)
mcp-gopls

# 指定gopls路径和工作区
mcp-gopls -gopls /path/to/gopls -workspace /path/to/project

# 使用环境变量
export GOPLS_PATH=/path/to/gopls
export MCP_GOPLS_WORKSPACE=/path/to/project
mcp-gopls

要求

  • Go 1.24.3+
  • gopls(Go语言服务器)

安装gopls

go install golang.org/x/tools/gopls@latest

开发

# 克隆仓库
git clone https://github.com/yantrio/mcp-gopls
cd mcp-gopls

# 构建项目
go build ./cmd/mcp-gopls

# 运行测试
go test ./...

许可证

MIT