
MCP Language Server

2025.02.17
0
Go语言服务器代码分析代码编辑开发效率
isaacphi_mcp-language-server 是一个基于 Model Context Protocol (MCP) 的语言服务器,旨在为大型项目提供高效的代码分析和编辑功能。它通过集成多种语言服务器(如 pyright、tsserver、gopls、rust-analyzer 等),为开发者提供符号定义、引用查找、诊断信息、代码透镜等功能,帮助 LLMs 更准确地理解和操作代码。
View on GitHub
Overview
基本能力
产品定位
isaacphi_mcp-language-server 是一个为大型代码项目设计的语言服务器,通过 MCP 协议与语言服务器通信,提供高效的代码分析和编辑功能。
核心功能
read_definition
: 获取代码库中任何符号(函数、类型、常量等)的完整源代码定义。find_references
: 查找代码库中符号的所有使用和引用。get_diagnostics
: 提供特定文件的诊断信息,包括警告和错误。get_codelens
: 获取代码透镜提示,提供额外的上下文和操作。execute_codelens
: 执行代码透镜操作。apply_text_edit
: 允许以编程方式对文件进行多文本编辑。
适用场景
- 大型代码项目的代码分析和编辑。
- 需要与多种语言服务器集成的开发环境。
- 需要精确符号定义和引用查找的开发任务。
工具列表
read_definition
: 获取符号的完整源代码定义。find_references
: 查找符号的所有引用。get_diagnostics
: 获取文件的诊断信息。get_codelens
: 获取代码透镜提示。execute_codelens
: 执行代码透镜操作。apply_text_edit
: 对文件进行多文本编辑。
常见问题解答
- 如何调试?在配置中添加
"DEBUG": 1
以获取详细的 LSP 和应用日志。 - 支持哪些语言服务器?目前测试支持 pyright (Python)、tsserver (TypeScript)、gopls (Go)、rust-analyzer (Rust),但理论上兼容更多语言服务器。
使用教程
使用依赖
- 安装 Go: 参考 https://golang.org/doc/install
- 安装语言服务器(根据项目语言选择):
- Python (pyright):
npm install -g pyright
- TypeScript (tsserver):
npm install -g typescript typescript-language-server
- Go (gopls):
go install golang.org/x/tools/gopls@latest
- Rust (rust-analyzer):
rustup component add rust-analyzer
安装教程
- 安装服务:
go install github.com/isaacphi/mcp-language-server@latest
- 配置 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"
}
}
}
}
调试方式
- 在配置中添加
"DEBUG": 1
以获取详细日志。 - 运行服务并检查日志输出。