README
🚀 LSP - MCP 服务器
LSP - MCP 服务器是一个支持多语言的开发平台,它整合了 Language Server Protocol (LSP) 和 Model Context Protocol (MCP),为开发者提供强大的代码管理和智能提示功能,极大提升开发效率。
🚀 快速开始
LSP - MCP 服务器通过整合 LSP 和 MCP,为开发者打造了强大的代码管理与智能提示功能。下面将详细介绍其安装、运行及使用的相关内容。
📦 安装指南
安装步骤
- 下载安装包:从官方仓库获取适用于目标语言的二进制文件。
- 配置环境变量:将 LSP - MCP 的可执行文件路径添加到系统 PATH 环境变量中。
- 启动服务器:
其中npx tritlo/lsp-mcp <LANGUAGE> <LSP_EXECUTABLE_PATH> <MCP_ENDPOINT><LANGUAGE>是目标语言(如haskell),<LSP_EXECUTABLE_PATH>是 LSP 实现的可执行文件路径,<MCP_ENDPOINT>是 MCP 服务的网络地址。
常用命令
- 启动服务器:
npx tritlo/lsp-mcp haskell /path/to/haskell-language-server-wrapper lsp - 停止服务器:使用 Ctrl + C 或发送 SIGINT 信号。
- 查看日志:通过配置文件指定日志输出路径,或在运行时启用调试模式。
✨ 主要特性
开发者工具
诊断工具
- 获取错误信息:
lsp-mcp-tool get-diagnostics --file /path/to/file - 订阅诊断更新:
lsp-mcp-tool subscribe resource/lsp-diagnostics://
悬浮提示工具
- 查询代码信息:
lsp-mcp-tool info-on-location --file /path/to/file --line 42 --column 10 --language_id haskell - 订阅悬浮提示更新:目前不支持实时订阅。
补全工具
- 获取代码补全建议:
lsp-mcp-tool get-completions --file /path/to/file --line 42 --column 10 --language_id haskell - 订阅补全更新:目前不支持实时订阅。
资源访问
资源 URI 格式
- 诊断资源:
lsp-diagnostics:// lsp-diagnostics:///path/to/file - 悬浮提示资源:
lsp-hover:///path/to/file?line={line}&column={column}&language_id={language_id} - 补全资源:
lsp-completions:///path/to/file?line={line}&column={column}&language_id={language_id}
资源订阅
- 列出可用资源:使用 MCP
resources/list端点。 - 订阅诊断更新:使用 MCP
resources/subscribe端点。
扩展机制
插件开发
- 创建插件目录:
lsp-mcp-plugin create my_plugin - 注册插件:
lsp-mcp-plugin register ./my_plugin
适配器开发
- 编写适配器代码:实现
LanguageAdapter接口。 - 注册适配器:
lsp-mcp-adapter register MyAdapter
📚 详细文档
故障排除
常见问题
- 无法启动服务器:检查环境变量配置和依赖项是否正确。
- 诊断信息缺失:确认目标文件已加载且语言适配器已启用。
- 补全功能异常:验证 MCP 端点连通性和 LSP 实现版本。
调试方法
- 日志分析:
lsp-mcp-server --debug > debug.log 2>&1 - 配置文件检查:确保
config.json中的参数设置无误。 - 依赖项验证:确认所有必要库和工具均已正确安装。
文档扩展
贡献指南
- 提交问题:通过 GitHub 提交 issue 报告 bug 或提出建议。
- 编写文档:为项目添加中文或其他语言的文档说明。
- 参与开发: fork 代码仓库,克隆后进行功能开发和测试。
联系方式
- 邮件支持:support@lsp - mcp.com
- 社区论坛:https://discussions.lsp - mcp.com
📄 许可证
LSP - MCP 服务器遵循 MIT 许可证,允许用户自由使用、修改和分发代码。具体许可内容请参考项目仓库中的 LICENSE 文件。
LSP - MCP 服务器凭借其强大功能和灵活的扩展机制,为开发者提供了高效、智能的代码管理环境。无论是诊断工具、悬浮提示还是代码补全功能,都能显著提升开发效率。
Scan to contact