基本能力
产品定位
MCP Language Server 是一个为大型代码项目设计的语言服务器,旨在通过集成多种语言服务器的功能,提供高效的代码分析和编辑工具。
核心功能
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:按照 Go 官方安装指南 进行安装。
- 安装语言服务器:
- 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
安装教程
- 安装 MCP Language Server:
bash
go install github.com/isaacphi/mcp-language-server@latest - 配置 Claude Desktop 或类似 MCP 客户端,添加如下配置:
json
{
"mcpServers": {
"language-server": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/Users/you/dev/yourcodebase",
"--lsp",
"/opt/homebrew/bin/pyright-langserver",
"--",
"--stdio"
],
"env": {
"DEBUG": "1"
}
}
}
}
调试方式
- 在配置中添加
DEBUG=1
环境变量以获取详细日志。 - 确保语言服务器的路径正确,可以通过
which
命令查找路径。 - 确保工作空间路径正确。