Token导航 LogoToken导航TokenDH.com
serena (Oraios) logo
搜索检索SSE官方级别未说明来源级核验

serena (Oraios)

MCP Server

Serena是一款专为AI编码代理设计的集成开发环境工具,提供语义代码检索、编辑、重构和调试功能,支持40多种编程语言,适用于大型复杂代码库的开发工作。

工具数

28

提示词数

0

GitHub Stars

24,273

资源数

0
PythonClaude搜索Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

oraios

提供方

oraios

最后核验

2026/5/17 20:59

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

The IDE for Your Coding Agent

  • Serena提供必不可少的 语义代码检索、编辑、重构和调试工具 其类似于IDE的功能,

在符号级别操作并利用关系结构。

  • 它通过模型上下文协议与任何客户端/LLM集成(主控程序).

Serena的 代理优先工具设计 涉及强大的高级抽象,将其与 依赖于行号或原始搜索模式等低级概念的方法。

实际上,这意味着你的代理人在运作 更快、更高效、更可靠尤其是在较大和 更复杂的代码库。

\[!重要\] 不要通过MCP或插件市场安装Serena!它们包含过时和次优的安装命令。 相反,请遵循我们的 快速开始 说明。

快速演示

https://github.com/user-attachments/assets/8d11646e-b80e-4723-b9d7-32d6101b5f58

:tv:较长的视频: 《Serena 5分钟介绍》(YouTube)

我们的“最终用户”怎么说

虽然下载和设置Serena的是人类,但我们的最终用户本质上是人工智能代理。 作为真正应用Serena工具的人,他们最适合评估Serena。

我们设计了一个无偏见的评估提示,引导代理执行约20个常规编码任务, 代表日常开发工作, 以便估算Serena的工具与内置工具一起使用时的附加值。

以下是特工们不得不说的一句话总结:

在大型Python代码库上的Claude Code中的Opus 4.6(高):

“Serena的IDE支持的语义工具是我工具包中最具影响力的一个补充——跨文件重命名、移动和引用查找 将花费我8到12个小心的、容易出错的步骤合并为一个原子调用,我绝对会要求任何与我一起工作的开发人员进行设置。"

Java代码库上Codex CLI中的GPT 5.4(高):

“作为一名编码AI代理,我会要求我的所有者添加Serena,因为它让我对符号、引用和 重构,将脆弱的文本操作转化为语义重要的更平静、更快、更自信的代码更改。"

在大型多语言单仓库上的Copilot CLI中的GPT 5.4(中等):

“作为一名编程代理,我绝对会要求我的老板加上Serena,因为这会让我明显更敏锐、更冷静 真正的代码——尤其是符号感知导航、跨文件重构和单仓库依赖跳跃——而我仍然在学习 内置用于微小文本编辑和非代码工作的插件。”

不同环境中的不同代理独立地得出相同的结论。

_为您的代理提供它一直要求的工具,并将Serena MCP添加到您的客户中!_

查看我们的 文档 了解完整的方法和更详细的评估结果,或者对您选择的项目进行自己的评估。

Serena的工作原理

Serena提供了必要的 工具 对于编码工作流程, 但是需要LLM来做实际的工作,编排工具的使用。

Serena可以通过以下方式扩展现有AI客户端的功能 模型上下文协议. 大多数现代AI聊天客户端直接支持MCP,包括

  • 基于终端的客户端,如Claude Code、Codex、OpenCode或Gemini CLI,
  • 用于VSCode、Cursor和JetBrains IDE(Copilot、Junie、JetBrains AI assistant等)的IDE和IDE助手插件,
  • 桌面和web客户端,如Claude desktop、Codex App或OpenWebUI。

:tv:另请参见: 《Serena 5分钟介绍》(YouTube)

要将Serena MCP服务器连接到您的客户端,您可以

  • 向客户端提供启动命令,允许其启动MCP服务器,或
  • 以HTTP模式自行启动Serena MCP服务器,并向客户端提供URL。

请参阅 快速开始 关于如何开始的信息,请参阅下面的部分。

编程语言支持和语义分析能力

Serena提供了一套通用的代码查询和编辑功能 基于对代码的符号理解。 有了这些功能,您的代理可以像经验丰富的开发人员一样发现和编辑代码 利用IDE的功能。 Serena可以有效地找到正确的背景,做正确的事情,即使是在非常大的地方 复杂的项目!

有两种替代技术为这些功能提供动力:

  • 语言服务器 实现语言服务器协议(LSP)——自由/开源的替代方案

默认情况下使用。

  • Serena JetBrains插件,它利用了强大的代码分析和编辑功能

JetBrains IDE的功能(付费插件;免费试用)。

您可以根据自己的喜好和要求选择这些后端中的任何一个。

语言服务器

Serena采用了一个强大的抽象层,用于集成实现语言服务器协议(LSP)的语言服务器。 底层语言服务器通常是开源项目,或者至少可以免费使用。

当使用Serena的语言服务器后端时,我们提供 支持40多种编程语言,包括 Ada/SPARK、AL、Angular、Ansible、Bash、BSL、C#、C/C++、Clojure、Crystal、Dart、Elixir、Elm、Erlang、Fortran、F#、GDScript、GLSL、Go、Groovy、Haskell、Haxe、HLSL、HTML、Java、JavaScript、JSON、Julia、Kotlin、Lean 4、Lua、Luau、Markdown、MATLAB、mSL、Nix、OCaml、Perl、PHP、PowerShell、Python、R、Ruby、Rust、Scala、SCSS/Sas/CSS、Solidity、Svelte、Swift、TOML、TypeScript、WGSL、YAML和Ziggle。

Serena JetBrains插件

付费Serena JetBrains插件(免费试用) 利用JetBrains IDE强大的代码分析功能。 该插件自然支持JetBrains IDE支持的所有编程语言和框架, 包括IntelliJ IDEA、PyCharm、Android Studio、WebStorm、PhpStorm、RubyMine、GoLand,以及可能的其他产品(但Rider和CLion不受支持)。

查看我们的 文档页面 有关如何应用插件的更多详细信息和说明。

特性

Serena提供了广泛的工具,用于高效的代码检索、编辑和重构,以及 用于长期代理工作流的存储系统。

鉴于其广泛的范围,Serena通过提供多层配置系统来适应您的需求。

Details

检索

Serena的检索工具允许代理在符号级别探索代码库,理解结构和关系 而无需读取整个文件。

功能语言服务器JetBrains插件
查找符号
符号概述(文件大纲)
查找引用符号
在项目依赖关系中搜索--
类型层次结构--
查找声明yes\*yes
查找实现是\*\*
查询外部项目
诊断/检查

\*:通常不适用于外部依赖关系中的声明。

\*\*:仅适用于某些语言,受语言服务器功能的限制。

重构

如果没有精确的重构工具,代理就不得不求助于不可靠且昂贵的搜索和替换操作。

功能语言服务器JetBrains插件
重命名是(仅符号)是(符号、文件、目录)
移动(符号、文件、目录)--
内联--
传播删除(删除未使用的代码)--

符号编辑

Serena的符号编辑工具不太容易出错,并且比典型的替代品更具令牌效率。

功能语言服务器JetBrains插件
替换符号体
在符号后插入
在符号前插入
安全删除

交互式调试

Serena是JetBrains插件独有的,支持高度通用的调试工具, 它允许代理设置断点、检查变量、计算表达式和控制执行流 通过持久的REPL风格接口。

基本特性

除了语义能力之外,Serena还包括一组基本的实用程序以实现完整性。 当Serena在Claude Code或Codex等代理工具中使用时,这些工具通常默认禁用, 因为周围的线束已经提供了重叠的文件、搜索和shell功能。

  • search_for_pattern –在代码库中灵活搜索正则表达式
  • replace_content –基于正则表达式和文字文本替换的代理优化
  • list_dir / find_file –目录列表和文件搜索
  • read_file –读取文件或文件块
  • execute_shell_command –运行shell命令(例如构建、测试、linters)

内存管理

内存系统是长期代理工作流程的基本要素,尤其是在跨代理共享知识时 会话、用户和项目。 尽管它很简单,但我们收到了许多用户的积极反馈,他们倾向于将Serena的内存管理系统与他们的 代理的内部系统(例如。, AGENTS.md 文件)。 如果你喜欢使用其他东西,它很容易被禁用。

可配置性

Serena的活动工具、工具描述、提示、语言后端细节和许多其他方面 只需调整几行YAML,就可以根据具体情况灵活配置。 为了实现这一点,Serena提供了多级(可组合)配置:

  • 全局配置
  • MCP启动命令(CLI)配置
  • 每个项目配置(具有本地覆盖)
  • 特定于执行上下文的配置(例如,针对特定客户端)
  • 动态可组合配置片段(模式)

快速开始

先决条件Serena由以下人员管理 *紫外线*,以及 安装紫外线 这是唯一必需的先决条件。

\[!注意\] 使用语言服务器后端时,可能需要安装一些额外的依赖项来支持某些语言; 看 语言支持 详情请参阅页面。

安装SerenaSerena通过紫外线安装如下:

uv tool install -p 3.13 serena-agent@latest --prerelease=allow

成功安装后,命令 serena 应该在你的shell中可用。

初始化Serena.要初始化Serena并验证您的设置是否正常工作,只需运行:

serena init

默认情况下,这将设置Serena使用语言服务器后端。要使用JetBrains后端,请添加参数 -b JetBrains (见 JetBrains插件文档页面 更多使用细节)。\ 无论哪种方式,您都应该收到一条成功消息,表明Serena已成功初始化。

配置您的客户端。要将Serena连接到您首选的MCP客户端,您通常需要 在客户端中配置启动命令. 请点击链接,了解如何为Claude Code、Codex、Claude Desktop、启用MCP的IDE和其他客户端(如本地和基于网络的GUI)设置Serena的具体说明。

\[!提示\] 虽然快速入门很容易,但Serena是一个功能强大的工具包,有许多配置选项。 我们强烈建议您通读 用户指南 充分利用Serena。 具体来说,我们建议阅读。.. - Serena基于项目的工作流程 和 - 配置Serena.

用户指南

请参阅 用户指南 了解如何有效使用Serena的详细说明。

致谢

Serena的很大一部分,特别是对各种语言的支持,是由开源社区贡献的。 我们非常感谢许多贡献者,他们使这一切成为可能,并在制作Serena方面发挥了重要作用 今天是什么。

目录标签

目录标签

PythonClaude搜索语义代码检索本地部署可托管代码重构AI编码助手多语言支持JetBrains插件

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

SSE

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

28

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

SSEnone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP