扩展能力

MCP 与 LSP 集成解析:Claude Code 如何接入外部能力

内置能力再多,也覆盖不了所有场景

Claude Code 的工具已经很多了,但一个现实问题是:
再强的内置工具,也不可能提前覆盖所有团队、所有仓库、所有工作流。

所以它一定要支持外部能力接入。
源码里最重要的两条扩展线,就是:

  • MCP
  • LSP
加载图表中...

MCP:把外部工具和资源接进来

services/mcp/* 可以看出,Claude Code 对 MCP 的支持并不浅:

  • 配置解析
  • 连接管理
  • 认证与 OAuth
  • channel 权限
  • 资源读取
  • 命令与工具映射

这说明 MCP 在 Claude Code 里不是装饰品,而是正式扩展机制。

从系统视角看,MCP 接进来的不只是“工具”

更准确地说,MCP 可能给 Claude Code 带来三类东西:

  • 新工具
  • 新命令
  • 新资源

这三类能力会直接改变当前 session 的能力版图。

加载图表中...

借助 MCP,Claude Code 可以拿到:

  • 额外工具
  • 额外命令
  • 额外资源

这会直接改变它在当前 session 里的能力边界。

LSP:接入语言层智能反馈

另一条线是 services/lsp/*
LSP 的意义和 MCP 不一样,它更偏向编程语言层面的能力增强,比如:

  • 诊断信息
  • 符号与语义信息
  • 语言服务反馈

这意味着 Claude Code 不只是“看文本文件”,还在努力接入语言工具链的结构化能力。

LSP 的价值不在“替代搜索”,而在“补结构化语义”

文件搜索很强,但它本质上还是文本层。
LSP 更擅长的是:

  • 符号和引用关系
  • 编译器/语言服务诊断
  • 更接近代码结构的反馈

这类能力对大型仓库尤其重要。

两者的分工

一个很实用的理解方式是:

  • MCP 更像接入外部世界和外部系统
  • LSP 更像接入代码语言自身的专业能力

前者扩宽能力边界,后者提高代码理解与编辑精度。

为什么这两条线这么关键

因为当一个 Agent 进入真实工程环境后,内置能力只是起点。
真正决定上限的,往往是它能不能:

  • 接公司内部系统
  • 接仓库专属资源
  • 接语言和 IDE 生态

MCP 和 LSP,正好就是这两条路。

小结

Claude Code 接入外部能力,不是靠临时拼插件,而是围绕 MCP 与 LSP 建立了比较完整的扩展结构。

这也是它从“工具”走向“平台”的重要标志之一。

用一句话区分两者

  • MCP:把外部世界接进 Claude Code
  • LSP:把代码语言自身的智能能力接进 Claude Code