Agent Skills
返回列表
💻

MCP 客户端语言服务器代码智能

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/give-mcp-clients-language-server-code-intelligence。

技能介绍

它解决什么问题

编码类 Agent 在动手改代码之前,往往只能看到文件的文本内容。它能猜出某行代码在调用什么,却无法确定符号的定义位置、引用范围,也无法感知未声明的语法错误或类型不匹配。结果是:重命名时漏改引用、跨文件跳转只能靠正则搜索、带着编译错误就提交。

这个技能的做法是把 LSP(Language Server Protocol) 的能力封装成 MCP 工具,让 MCP 客户端在编辑前先做语义检查。

它如何工作

核心是把语言服务器挂到 MCP 通道上,对外暴露一组代码智能工具:

  • definition:跳到符号的定义处,而不是同名文本的第一次出现
  • reference:列出符号的所有引用点,重命名前先看清影响面
  • rename:由语言服务器执行符号级重命名,而非全局文本替换
  • diagnostics:读取当前文件的诊断信息,拿到类型错误、未定义变量等问题

典型流程是:Agent 收到任务 → 先用 reference 摸清符号被哪些文件使用 → 用 diagnostics 确认当前代码已处于可编译状态 → 再执行 rename 或编辑 → 编辑后重新拉取诊断做自检。

适用边界与注意点

  • 只覆盖 LSP 本身支持的语言。上游测试覆盖 go、rust、python(pyright)、typescript,其他语言取决于你是否自行安装对应语言服务器
  • 诊断质量完全取决于本地语言服务器本身,工具层不做额外推断
  • 需要 MCP 客户端和 Go 工具链作为运行前提,Go 环境不完整会直接失败
  • 重命名在语言服务器能解析的范围内可靠;跨模块或构建时生成的符号仍需人工确认

使用场景

  • 在重构跨多文件的接口时,修改参数类型前先定位所有相关字段的定义与引用点,避免漏改导致编译失败。
  • 把项目里已有的类名重命名以统一命名风格时,让语言服务器执行符号级重命名而不是全文本替换,防止误改同名字符串。
  • 完成一批代码修改后,在提交前拉取当前文件的诊断信息,确认没有未定义的变量和类型错误。

适合人员

  • 构建AI编码助手的开发者,希望为Agent接入LSP语义分析,让它在编辑前理解代码结构。
  • 负责维护大型后端代码库的工程师,经常需要安全地重构遗留代码,需要可靠的重命名和引用检查工具来降低风险。
  • 关注代码质量的技术负责人,希望在代码提交前自动拦截类型错误,减少代码审查阶段的返工。