Serena:为编码智能体提供符号级 IDE 能力的 MCP 工具
Serena 是一个通过 MCP 接入各类 AI 客户端的开源工具,为编码智能体提供符号级代码检索、编辑、重构与调试能力,而非依赖行号或简单文本搜索。它支持语言服务器(默认,覆盖 40 多种语言)与付费 JetBrains 插件两种后端,不同后端支持的能力范围不同。
工具定位
Serena 自我定位为「编码智能体的 IDE」,通过模型上下文协议(MCP)为已 有的 AI 客户端补充 IDE 式能力。它本身不调用 LLM,实际工作由客户端中的模型编排工具完成。与基于行号、原始搜索模式的低层做法相比,其工具围绕符号与代码关系结构设计,用于在较大、较复杂的代码库中提升效率与可靠性。
两种后端
- 语言服务器(LSP):默认后端,通常是开源或可免费使用的实现,覆盖 40 多种编程语言,文中列举包括 Python、Java、TypeScript、Go、Rust、C/C++ 等。
- Serena JetBrains 插件:付费(提供免费试用),借助 JetBrains IDE 的分析能力,支持这些 IDE 所支持的语言与框架;Rider 与 CLion 不受支持。
能力范围(按后端区分)
- 检索:查找符号、文件大纲、引用查找、查询外部项目、诊断等两端均支持;在项目依赖中搜索、类型层级仅 JetBrains 插件提供。查找声明在语言服务器后端通常不适用于外部依赖中的声明;查找实现仅部分语言可用,受语言服务器能力限制。
- 重构:语言服务器后端仅支持符号重命名;JetBrains 插件还支持文件与目录重命名、移动、内联、删除传播。
- 符号编辑:替换符号体、在符号前后插入、安全删除,两端均支持。
- 交互式调试:仅 JetBrains 插件提供,可设置断点、检查变量、求值表达式并控制执行流。
其他特性
包含正则搜索、内容替换、目录与文件查找、读取文件、执行 shell 命令等基础工具;在 Claude Code、Codex 等智能体框架内使用时,这些工具通常默认关闭,因为框架自身已提供重叠能力。另有用于跨会话共享知识的记忆系统,可禁用。配置通过 YAML 分层进行,包括全局、CLI 启动、按项目、按执行上下文以及可组合的配置片段。
快速开始
前置条件是安装 uv。安装命令为 uv tool install -p 3.13 serena-agent,随后运行 serena init 初始化,默认使用语言服务器后端;如需 JetBrains 后端可加参数 -b JetBrains。README 明确提醒不要通过 MCP 或插件市场安装,因为其中的安装命令已过时。连接客户端需在客户端配置启动命令,或自行以 HTTP 模式启动服务并提供 URL。使用语言服务器后端时,部分语言可能还需额外安装依赖。
许可
按组件授权:SolidLSP(src/solidlsp)为 MIT,其余 Serena 应用部分为 GPL-3.0-or-later,两者组合分发整体受 GPL 约束;贡献需接受 CLA。
来源与核对说明
- oraios/serena ↗https://github.com/oraios/serena
本文经 AI 整理及独立自动校对,未做运行验证;自动校对仍可能遗漏问题,请以原始资料为准。
这篇内容对你有帮助吗?
点赞人数由服务器记录,收藏保存在当前浏览器。