Go语言服务器功能

一个基于gopls的Go语言服务器,提供代码导航、诊断、重构等功能,适用于Go开发者。

  • by Yantrio
  • Go
  • 本地部署
  • 46 星标
  • 更新于
在 GitHub 查看 Yantrio/mcp-gopls

使用说明

MCP-GOPLS

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

⚠️ 警告:整个项目是由 克劳德代码 无需人工代码审查。当它通过测试并显示功能正常时,请与 格外小心 在生产环境中。该代码尚未经过安全性、性能或边缘情况的审核。看 设计.md 用于AI生成的设计文档。

特性

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

  • GoTo定义:导航到符号的定义
  • 查找引用:查找对符号的所有引用
  • GetDiagnostics:获取编译错误和静态分析结果
  • 悬停:获取光标下符号的信息
  • 搜索符号:在整个工作区中搜索符号(支持部分匹配)
  • 重命名符号:在整个工作区重命名符号(将更改直接应用于文件)
  • 查找实施者:查找实现接口的所有类型
  • 列表文档符号:获取文件中定义的符号轮廓
  • 格式代码:根据gofmt标准格式化Go源代码(将更改应用于文件)
  • 组织导入:组织导入语句(对导入进行分组和排序,将更改应用于文件)

安装

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

与Claude整合

克劳德代码

  1. 安装mcp-gopls:

    go install github.com/yantrio/mcp-gopls/cmd/mcp-gopls@latest
    
  2. 添加到克劳德代码:

    claude mcp add mcp-gopls "$(which mcp-gopls)"
    
  3. 重新启动Claude代码:

    claude restart
    
  4. 验证安装:

    claude mcp list
    

克劳德桌面

  1. 安装mcp-gopls(与上述相同)

  2. 编辑Claude桌面配置:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %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. 重新启动克劳德桌面

用法

# Run with default settings (uses gopls in PATH and current directory as workspace)
mcp-gopls

# Specify gopls path and workspace
mcp-gopls -gopls /path/to/gopls -workspace /path/to/project

# Using environment variables
export GOPLS_PATH=/path/to/gopls
export MCP_GOPLS_WORKSPACE=/path/to/project
mcp-gopls

需求

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

安装gopls

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

发展

# Clone the repository
git clone https://github.com/yantrio/mcp-gopls
cd mcp-gopls

# Build the project
go build ./cmd/mcp-gopls

# Run tests
go test ./...

许可证

麻省理工学院