MCP.so
登录

Serena MCP Server

@oraios

基本信息

分类

开发工具

许可证

MIT

传输方式

stdio

作者

oraios

关于 Serena MCP Server

强大的编程 MCP 工具包,提供语义检索与编辑能力——你的智能体的 IDE

连接前先了解

文档核对日期:2026-10-25

适合什么场景

Serena 适合基于符号的代码导航和编辑。语言服务器或 JetBrains 后端可提供超出普通文本搜索的代码结构信息。

配置与限制

上游当前快速开始使用 uv 安装 serena-agent,再运行 serena init,并明确提醒市场中的命令可能过时。请按源文档的客户端指南配置,同时确认目标编程语言受支持。

本说明依据所列文档核对,未代表通过账户认证的实际连接测试;建议检查项需要在你的环境执行。

Serena MCP Server 配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

{
  "mcpServers": {
    "serena": {
      "command": "uv",
      "args": [
        "tool",
        "install",
        "-p",
        "3.13",
        "serena-agent"
      ]
    }
  }
}

Serena MCP Server 工具

工具列表暂未提供

当前收录暂时没有可展示的工具列表,不代表服务没有工具。请查阅项目文档了解支持的能力。

工具是从 README 中自动提取的。维护者可以在 ## Tools 标题下列出工具,即可填充这部分内容。

概览

什么是 Serena MCP Server?

Serena MCP 是 Oraios 推出的开源编码智能体工具包,为 AI 智能体提供类似 IDE 的语义级代码检索、编辑、重构和调试工具,以符号为单位工作,而不是依赖行号或纯文本搜索。

Serena 可接入任何 MCP 客户端,例如 Claude Code、Codex、Cursor、VS Code 或 Claude Desktop。它的代码分析能力来自两种后端之一:免费开源的语言服务器(LSP,默认后端,支持 40 多种语言),或付费的 Serena JetBrains Plugin(使用 JetBrains IDE 自身的代码分析能力,提供免费试用)。项目自称“编码智能体的 IDE”,在大型、复杂的代码库中收益最明显。

如何使用 Serena MCP Server?

唯一的前置条件是 uv。维护者不建议通过 MCP 或插件市场安装 Serena,因为那里的安装命令已过时且不够理想。在终端中安装并初始化:

uv tool install -p 3.13 serena-agent
serena init

serena init 默认配置语言服务器后端;若要改用 JetBrains 插件后端,加上 -b JetBrains 参数。部分语言需要额外安装语言服务器依赖(见文档中的 Language Support 页面)。

Claude Code

最快的方式是运行 serena setup claude-code。如需手动为所有项目添加:

claude mcp add --scope user serena -- serena start-mcp-server --context claude-code --project-from-cwd

仅为当前项目添加:

claude mcp add serena -- serena start-mcp-server --context claude-code --project "$(pwd)"

运行 /mcp 确认连接。如果 Serena 启动太慢,调高 MCP_TIMEOUT(例如 export MCP_TIMEOUT=60000)。文档还提供了可选的 serena-hooks 命令,用于在长会话中提醒智能体使用 Serena 的工具。

Claude Desktop

打开 File / Settings / Developer / MCP Servers / Edit Config,添加:

{
  "mcpServers": {
    "serena": {
      "command": "serena",
      "args": ["start-mcp-server", "--context=desktop-app"]
    }
  }
}

通过 File / Exit 完全退出 Claude Desktop 后再重新打开。

VS Code

运行 MCP: Add Server,选择 Command (stdio),输入 serena start-mcp-server --context=vscode(全局)或 serena start-mcp-server --context=vscode --project ${workspaceFolder}(工作区)。

Cursor

文档没有 Cursor 专属页面。对于 Cursor、Windsurf、Cline、Roo Code 等支持 MCP 的 IDE,文档建议添加 serena start-mcp-server 启动命令并加上 --context ide,以减少工具重复。

Codex

运行 serena setup codex,或在 ~/.codex/config.toml 中添加:

[mcp_servers.serena]
startup_timeout_sec = 15
command = "serena"
args = ["start-mcp-server", "--project-from-cwd", "--context=codex"]

Serena MCP Server 的主要功能

  • 符号级检索:查找符号、文件大纲、引用该符号的位置、声明和实现。
  • 符号级编辑:替换符号主体、在符号前后插入内容、安全删除。
  • 重构:通过语言服务器重命名符号;移动、内联和删除未使用代码需要 JetBrains 插件。
  • 交互式调试(仅 JetBrains 插件):通过持久的 REPL 设置断点、查看变量、计算表达式。
  • 免费的 LSP 后端支持 40 多种语言,包括 Python、TypeScript、Java、Go、Rust、C/C++ 和 C#。
  • 面向长期智能体工作流的记忆系统,可与 AGENTS.md 等文件配合使用,也可以关闭。
  • 分层 YAML 配置(全局、CLI、项目、上下文和模式),用于选择启用的工具和提示词。
  • Serena v2 新增可选的 REPL 接口:智能体通过运行 Python 调用 Serena 的 API,一次调用即可组合多个操作。

Serena MCP Server 工具

任何配置下都只会启用部分工具,主要由启动 Serena 时使用的 --context 决定。

  • 符号工具:导航用的 find_symbol、get_symbols_overview、find_referencing_symbols、find_declaration、find_implementations;编辑用的 replace_symbol_body、insert_after_symbol、insert_before_symbol、rename_symbol、safe_delete_symbol;get_diagnostics_for_file 按符号分组返回诊断信息。
  • JetBrains 工具(可选):jet_brains_move、jet_brains_inline_symbol、jet_brains_type_hierarchy、jet_brains_run_inspections、jet_brains_debug。
  • 文件与 Shell 工具:read_file、list_dir、find_file、search_for_pattern、replace_content、execute_shell_command。在 Claude Code 等已自带同类工具的环境中,这些通常默认关闭。
  • 记忆工具:write_memory、read_memory、list_memories、edit_memory、delete_memory。
  • 工作流与配置工具:activate_project、onboarding、initial_instructions、get_current_config。

Serena MCP Server 的使用场景

  • 按符号浏览大型代码库:“找出 parse_config 的所有调用方,并总结它们各自如何处理错误。”
  • 一步完成跨文件重命名,而不是多次搜索替换。
  • 重写单个函数:“把 UserService.create 的主体改成先校验邮箱。”
  • 在多语言 monorepo 中通过引用查找追踪依赖关系。
  • 借助 JetBrains 插件调试:由智能体设置断点、单步执行并查看变量。
  • 用 Serena 的记忆在会话之间保存项目笔记,或在新仓库开始时说 "Activate the current dir as project using serena."

Serena MCP Server 与替代方案对比

Serena 专注于语义化、理解符号的代码工作。通用的 Filesystem MCP Server 只能读写文件,而 Context7 或 DeepWiki 这类文档服务器提供的是库文档,并不编辑你的代码。在 Serena 内部,免费的 LSP 后端覆盖导航、符号编辑和重命名;付费的 JetBrains 插件额外提供移动、内联、类型层次结构和调试。

Serena MCP Server 常见问题排查

  • 客户端找不到 serena 命令:在 MCP 配置中填写 serena 可执行文件的完整路径。
  • 工具已加载但智能体不用:为 Claude Code 或 VS Code 配置 serena-hooks 提醒钩子,或提示 "Activate the current project with Serena and read initial instructions"。
  • Claude Code 启动超时:调高 MCP_TIMEOUT,例如设为 60000。
  • 语言服务器需要环境变量:Claude Desktop 等图形界面客户端可能不会继承 shell 配置文件中的变量,请在 serena 服务器条目中添加 env 块。
  • 全局配置下项目不对:在 Codex、Claude Desktop 或全局 VS Code 配置中,每次会话开始时让智能体把当前目录激活为项目。

常见问题

1

Serena MCP 免费吗?

免费。Serena 应用以 GPL-3.0-or-later 开源(其中 SolidLSP 组件为 MIT),默认的语言服务器后端也是免费的。只有可选的 JetBrains 插件收费,并提供免费试用。

2

Serena MCP 服务器由谁维护?

由 Oraios 维护,大量语言支持来自开源社区的贡献。官方仓库是 [oraios/serena](https://github.com/oraios/serena)。

3

Serena 能和 Claude Code、Cursor、VS Code 一起用吗?

可以。文档提供了 Claude Code、VS Code、Codex、Claude Desktop、JetBrains 助手等客户端的命令;Cursor 使用通用启动命令,建议加上 `--context ide`。

4

需要 API 密钥吗?

不需要。Serena 在本地运行,不需要 API 密钥,LLM 由你的 MCP 客户端提供。

5

Serena 支持哪些编程语言?

使用语言服务器时支持 40 多种语言,包括 Python、Java、TypeScript、Go、Rust、C/C++、C#、PHP、Ruby 和 Kotlin;使用 JetBrains 插件时,支持 JetBrains IDE 支持的所有语言(Rider 和 CLion 除外)。

6

Serena 能作为远程 HTTP 服务器运行吗?

可以。你可以自行以 HTTP 模式启动 Serena MCP 服务器,再把 URL 提供给客户端,而不是让客户端通过 stdio 启动它。

7

Serena coding agent 安全吗?

Serena 可以执行 shell 命令并修改文件。它的安全模型假设你的机器、客户端、代码仓库和配置都是可信的;维护者表示,只有沙箱环境才能完全防止意外操作。

8

为什么不建议从 MCP 市场安装 Serena?

README 提醒,市场上的条目包含过时的安装命令。请改用 `uv tool install -p 3.13 serena-agent` 以及官方文档中的客户端命令。

评论

开发工具 分类下的更多 MCP 服务器