MCP 语言服务器是一个运行语言服务器并提供与之通信工具的 Model Context Protocol (MCP) 服务器,它旨在为大型项目带来如小型项目般的高效开发体验,同时将语言服务器处理复杂任务的能力赋予大语言模型。
go install github.com/isaacphi/mcp-language-server@latest
npm install -g pyrightnpm install -g typescript typescript-language-servergo install golang.org/x/tools/gopls@latestrustup component add rust-analyzer将类似以下配置添加到你的 Claude Desktop 设置(或其他 MCP 支持的客户端)中:
{
"mcpServers": {
"language-server": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/Users/you/dev/yourpythoncodebase",
"--lsp",
"/opt/homebrew/bin/pyright",
"--",
"--stdio"
],
"env": {
"DEBUG": "1"
}
}
}
}
替换说明:
/Users/you/dev/yourpythoncodebase 为你项目的绝对路径。/opt/homebrew/bin/pyright 为你的语言服务器的路径(使用 which 命令查找,例如 which pyright)。-- 符号后的参数都会作为语言服务器的参数传递。--stdio 替换为其他后端需要的参数。在开发环境中,请参考 配置 进行设置。
Claude 桌面搭配 文件系统 服务器在小型项目上使用体验出色,但在大型项目上有所不足。此项目旨在为大型项目带来类似小型项目的高效体验。
语言服务器在处理 LLM 经常遇到困难的任务方面表现出色,例如精确理解类型、理解关系以及提供准确的符号引用。该项目将这些工具带给 LLM,且 LSP 是 MCP 的明显灵感来源,实现了两者的结合。
read_definition:检索任何符号(函数、类型、常量等)的完整源代码定义。find_references:定位符号在代码库中的所有使用和引用。get_diagnostics:为特定文件提供诊断信息,包括警告和错误。get_codelens:检索代码摘要提示以获取更多上下文和代码操作。execute_codelens:运行代码摘要操作。apply_text_edit:允许对文件进行多项文本编辑。在幕后,此 MCP 服务器可以处理语言服务器的 workspace/applyEdit 请求,因此它可以执行诸如请求重构、添加导入、格式化代码等操作。每个工具都支持各种选项以自定义输出,例如包含行号或附加上下文。行号对于 apply_text_edit 能够进行准确编辑是必要的。
请按照 https://golang.org/doc/install 的说明进行操作。
go install github.com/isaacphi/mcp-language-server@latest
npm install -g pyrightnpm install -g typescript typescript-language-servergo install golang.org/x/tools/gopls@latestrustup component add rust-analyzer⚠️ 预 Beta 质量 ⚠️
我已经测试过此服务器与以下语言服务器:
但它应该兼容许多其他语言服务器。
此代码库使用了 gopls 处理 LSP 通信的修改后的代码。有关详细信息,请参阅 ATTRIBUTION。
mcp-golang 用于 MCP 通信。
包括
env: {
"DEBUG": 1
}
以获取详细的 LSP 和应用程序日志。请在报告问题时提供尽可能多的信息。
以下功能在我的雷达上:
⚠️ 重要提示
目前项目处于预 Beta 质量阶段,使用时可能存在不稳定情况。
💡 使用建议
在报告问题时,请包含详细的 LSP 和应用程序日志(通过设置
env: { "DEBUG": 1 }获取),以提供尽可能多的信息。