Mcp Language Server

Mcp Language Server

🚀 MCP 语言服务器

MCP 语言服务器是一个模型上下文协议 (MCP) 服务器,它能够运行语言服务器并提供与之通信的工具,有助于在处理大型项目时为用户带来更优质的体验。

🚀 快速开始

项目的状态目前处于预 beta 质量阶段。此服务器已在以下语言服务器中进行过测试:

  • gopls (Go)
  • pyright (Python)
  • typescript - language - server (TypeScript)
  • rust - analyzer (Rust)

不过,它应该也能与许多其他语言服务器兼容。

✨ 主要特性

工具特性

  • read_definition:可检索代码库中任何符号(函数、类型、常量等)的完整源代码定义。
  • find_references:能够定位符号在代码库中的所有使用和引用。
  • get_diagnostics:为特定文件提供诊断信息,包括警告和错误。
  • get_codelens:检索代码 lens 提示,以获取额外的上下文和操作。
  • execute_codelens:执行一个代码 lens 操作。
  • apply_text_edit:允许对文件进行多个文本编辑。
  • hover:显示位置的文档、类型提示或其他悬停信息。
  • rename_symbol:在整个项目中重命名符号。

反馈相关特性

在配置中包含

env: {
"LOG_LEVEL": "DEBUG",
}

可获得详细的 LSP 和应用程序日志。将 LOG_LEVEL 设置为 DEBUG 能启用所有组件的详细日志记录。添加 LOG_COMPONENT_LEVELSwire:DEBUG 可显示原始 LSP JSON 消息。提交问题时请尽可能提供详细信息。

待实现功能

以下是一些待实现的功能:

  • [x] 读取定义
  • [x] 获取引用
  • [x] 应用编辑
  • [x] 获取诊断
  • [x] 代码 lens
  • [x] 悬停信息
  • [x] 重命名符号
  • [ ] 代码操作
  • [ ] 更好地处理上下文和取消
  • [ ] 添加 LSP 服务器配置选项和常见语言的预设
  • [ ] 在更高层次的抽象中创建工具,结合诊断、代码 lens、悬停和代码操作来读取定义或引用。

📚 详细文档

动机

Claude 桌面配合 文件系统 服务器在处理小型项目时效果出色,如同魔法一般。但当添加几个文件和导入项后,这种出色的体验就开始消失。本项目旨在在处理大型项目时也能带来类似的优质体验。

语言服务器在执行 LLM 经常容易出错的任务(如精确理解类型、理解关系、提供准确的符号引用)方面表现出色。该项目的目标是将这些工具带给 LLM。而且 LSP 似乎也是 MCP 的一个明显灵感来源,因此将它们结合起来是一个不错的选择。

状态说明

⚠️ 重要提示 目前项目处于预 beta 质量阶段。

反馈说明

💡 使用建议 若想获得详细的 LSP 和应用程序日志,可在配置中包含

env: {
"LOG_LEVEL": "DEBUG",
}

LOG_LEVEL 设置为 DEBUG 可启用所有组件的详细日志记录。添加 LOG_COMPONENT_LEVELSwire:DEBUG 可显示原始 LSP JSON 消息。提交问题时请尽可能提供详细信息,以便更好地反馈问题。

  • 0 关注
  • 0 收藏,18 浏览
  • system 提出于 2025-09-18 12:24

相似服务问题

相关AI产品