SuperAPI AI 工具集

serena

Serena 是一个面向编码智能体的 MCP 工具包,项目定位为“为你的编码智能体打造的 IDE”。它通过 Model Context Protocol(MCP)与任意客户端/LLM 集成,基于语言服务器(LSP)在符号级别提供语义化的代码检索、编辑、重构与调试能力,而非依赖行号或简单文本搜索。其设计强调面向智能体的高层抽象,使智能体在大型复杂代码库中运行更快、更高效、更可靠。Serena 默认使用开源语言服务器后端,支持 40 多种编程语言;也可选用付费的 JetBrains 插件后端(提供免费试用),以复用 JetBrains IDE 的代码分析能力并支持其覆盖的语言与框架(Rider 和 CLion 不支持)。此外还提供用于长期智能体工作流的记忆系统,以及多层可组合的 YAML 配置体系。

访问官网

工具介绍

Serena 是一个用于编码的 MCP 工具包,提供语义检索与编辑能力,被描述为“为你的编码智能体打造的 IDE”。它集成任意客户端/LLM 的方式是通过 Model Context Protocol(MCP)。其面向智能体的工具设计包含健壮的高层抽象,区别于依赖行号或基础搜索模式等底层概念的做法,从而让智能体在更大、更复杂的代码库中运行得更快、更高效、更可靠。

【用途与定位】 Serena 为编码工作流提供必要工具,但实际工作仍需 LLM 来完成,由 LLM 编排工具使用。它可以扩展既有 AI 客户端的功能。多数现代 AI 聊天客户端直接支持 MCP,包括终端类客户端(如 Claude Code、Codex、OpenCode、Gemini-CLI)、IDE 及 IDE 助手插件(VSCode、Cursor、JetBrains IDE 的 Copilot、Junie、JetBrains AI Assistant 等)、桌面与网页客户端(如 Claude Desktop、Codex App、OpenWebUI)。Serena v2 已发布,带有新的基于 REPL 的智能体接口。

【主要能力】

  1. 语义层面的代码检索、编辑、重构与调试,基于对代码的符号理解,帮助智能体像资深开发者使用 IDE 能力那样发现和编辑代码。
  2. 代码检索工具让智能体在符号级别探索代码库,理解结构与关系,而无需读取整个文件。
  3. 符号化编辑工具比常见替代方案更不易出错,且更节省 token。
  4. 交互式调试(仅 JetBrains 插件提供):支持高度通用的调试工具,允许智能体设置断点、检查变量、求值表达式,并通过持久化的 REPL 风格界面控制执行流。
  5. 基础实用工具(用于补充完整性):search_for_pattern(跨代码库的灵活正则搜索)、replace_content(面向智能体优化的正则与字面文本替换)、list_dir / find_file(目录列表与文件搜索)、read_file(读取文件或文件片段)、execute_shell_command(运行 shell 命令,如构建、测试、linter)。当 Serena 用于 Claude Code 或 Codex 等智能体宿主环境时,这些工具通常默认禁用,因为宿主环境已提供重叠的文件、搜索和 shell 能力。
  6. 记忆管理:记忆系统对长期智能体工作流很关键,尤其在需要跨会话、跨用户、跨项目共享知识时。如果更倾向其他方案,可轻松禁用。

【语言支持与技术后端】 Serena 基于符号理解提供多用途代码查询与编辑功能,由两种可选技术驱动:

  1. 实现语言服务器协议(LSP)的语言服务器——默认使用的免费/开源方案。Serena 内置强大的语言服务器集成抽象层,底层语言服务器通常为开源项目或至少可免费使用。使用语言服务器后端时,支持 40 多种编程语言,包括 Ada / SPARK、AL、Angular、Ansible、Astro、Bash、BSL、C#、C/C++、Clojure、Crystal、CUE、Dart、Deno、Elixir、Elm、Erlang、Fortran、F#、GDScript、Gleam、GLSL、Go、Groovy、Haskell、Haxe、HLSL、HTML、Java、JavaScript、JSON、Julia、Kotlin、LaTeX、Lean 4、Lua、Luau、Markdown、MATLAB、mSL、Nextflow、Nix、OCaml、Pascal、Perl、PHP、PowerShell、Python、QML、R、Rego、Ruby、Rust、Scala、SCSS / Sass / CSS、Solidity、Svelte、Swift、SystemVerilog、Terraform、TOML、TypeScript、Vue、WGSL、Wolfram Language、YAML、Zig 等。
  2. Serena JetBrains 插件:付费插件(提供免费试用),利用 JetBrains IDE 强大的代码分析与编辑能力。该插件天然支持 JetBrains IDE 所支持的所有编程语言与框架,包括 IntelliJ IDEA、PyCharm、Android Studio、WebStorm、PhpStorm、RubyMine、GoLand 等(不支持 Rider 和 CLion)。

【使用方式】 将 Serena MCP 服务器连接到客户端有两种方式:向客户端提供启动命令以让其启动 MCP 服务器;或自行以 HTTP 模式启动 Serena MCP 服务器并向客户端提供 URL。 安装步骤(官方说明):不要通过 MCP 或插件市场安装 Serena,因为其中的安装命令已过时且非最优。 前置条件:Serena 由 uv 管理,安装 uv 是唯一必需的前置条件。 安装 Serena:通过 uv 安装(原文未给出具体命令内容,暂未提供)。安装成功后,shell 中应可用 serena 命令。使用语言服务器后端时,某些语言可能需要额外安装依赖,详见语言支持页面。 初始化 Serena:直接运行初始化命令以验证安装是否正确(原文未给出具体命令内容,暂未提供)。默认会设置为使用语言服务器后端;如需改用 JetBrains 后端,添加参数 -b JetBrains。无论哪种方式,都应收到初始化成功的提示。 配置客户端:通常需要在客户端中配置启动命令。针对 Claude Code、Codex、Claude Desktop、支持 MCP 的 IDE 及其他客户端(如本地与基于网页的 GUI)有具体设置说明。

【可配置性】 Serena 提供多层级(可组合)配置:全局配置;MCP 启动命令(CLI)配置;按项目配置(含本地覆盖);执行上下文特定配置(例如针对特定客户端);可动态组合的配置片段(模式)。可通过调整少量 YAML 启用的工具、工具描述、提示词、语言后端细节等。

【评估与反馈】 Serena 的“最终用户”本质上是 AI 智能体。官方设计了一个无偏评估提示,引导智能体执行约 20 项日常编码任务,以估计 Serena 工具与自身内置工具并用时的附加价值。不同环境下不同智能体独立得出相同结论:例如某智能体在 Claude Code 中对大型 Python 代码库表示,Serena 的 IDE 级语义工具是其工具集中最具影响力的补充,跨文件重命名、移动与引用查找可归结为一次原子调用;另一智能体在 Codex CLI 中对 Java 代码库表示,它会请求所有者添加 Serena,以获得缺失的 IDE 级符号、引用与重构理解;还有智能体在 Copilot CLI 中对大型多语言 monorepo 表示,Serena 使其在真实代码上更敏锐、更从容,尤其在符号感知导航、跨文件重构与 monorepo 依赖跳转方面。

【许可】 Serena 按组件授权:SolidLSP(src/solidlsp)采用 MIT 许可;Serena 应用(其余部分)采用 GPL-3.0-or-later。将两者组合的发行版整体受 GPL 约束。贡献需接受其 CLA。