项目简介

MCP LSP Go 是一个 MCP 服务器,旨在弥合 AI 助手和 Go 语言工具之间的差距。它利用 Language Server Protocol (LSP) 与 gopls (Go 官方语言服务器) 通信,并将 gopls 的强大代码分析功能以 MCP 工具的形式暴露给 AI 助手,从而使 AI 助手能够更好地理解和操作 Go 代码。

主要功能点

  • Go 代码分析: 利用 gopls 提供的先进 Go 语言分析能力。
  • 代码导航: 支持跳转到定义、查找引用等功能,帮助 AI 助手理解代码结构。
  • 代码质量检查: 提供代码诊断信息,例如错误和警告,辅助 AI 助手进行代码审查。
  • 代码信息提示: 提供悬停信息和代码补全建议,提升 AI 助手与代码交互的效率。

安装步骤

  1. 安装 Go: 确保您的系统已安装 Go 1.21 或更高版本。
  2. 安装 gopls: 运行以下命令安装 gopls (Go 语言服务器):
    go install golang.org/x/tools/gopls@latest
    确保 'gopls' 命令在您的 PATH 环境变量中可用。
  3. 安装 MCP LSP Go 服务器: 运行以下命令安装 MCP LSP Go 服务器:
    go install github.com/hloiseaufcms/mcp-gopls/cmd/mcp-gopls@latest
    安装成功后,'mcp-gopls' 命令将在您的 PATH 环境变量中可用。

服务器配置

MCP 服务器需要配置在 MCP 客户端中,以便客户端能够连接并使用其提供的工具。以下是 Cursor 编辑器配置 'mcpServers' 的示例,其他 MCP 客户端的配置方式可能类似。

{
  "mcpServers": {
    "mcp-gopls": {
      "command": "mcp-gopls"
    }
  }
}

配置参数说明:

  • 'mcpServers': 配置 MCP 服务器的根节点。
  • 'mcp-gopls': 服务器名称,可以自定义,用于在客户端中标识该服务器。
  • 'command': 启动 MCP LSP Go 服务器的命令,这里设置为 'mcp-gopls', 假设 'mcp-gopls' 命令已添加到系统的 PATH 环境变量。

基本使用方法

  1. 启动 MCP LSP Go 服务器: 在终端中运行 'mcp-gopls' 命令即可启动服务器。服务器默认通过标准输入/输出 (stdio) 与客户端通信。

  2. 在 MCP 客户端中使用: 在支持 MCP 协议的 AI 助手或编辑器中配置并连接 'mcp-gopls' 服务器后,即可通过自然语言指令调用服务器提供的工具,例如:

    # 请求 AI 助手查找函数定义
    你能帮我找到这个项目中 'ServeStdio' 函数的定义吗?
    
    # 请求 AI 助手检查代码错误
    我的 main.go 文件里有什么错误吗?
    
    # 请求 AI 助手获取符号信息
    Go 语言中 'Context.WithTimeout' 函数是做什么用的?

    AI 助手会将这些自然语言请求转换为对 MCP 工具的调用,并利用 MCP LSP Go 服务器提供的 Go 语言分析能力来响应您的请求。

信息

分类

开发者工具