Serena
产品介绍
Serena 是一个强大的 MCP(Model Context Protocol)工具包,专为编码场景设计,提供语义级的代码检索和编辑能力。它将 LLM 转变为可以直接在代码库上工作的全功能 Agent,被誉为「给你的 Agent 的 IDE」。Serena 是免费且开源的(MIT 协议),由 vkuprin 维护。
核心能力
1. 语义代码检索
不是简单的文本搜索,而是理解代码的语义结构:
- 符号级检索:按函数名、类名、变量名等代码实体进行精准查找
- 关系感知:理解函数调用关系、类继承关系等
- 上下文感知:检索时考虑代码所处的上下文环境
2. 语义代码编辑
- 在理解代码结构的基础上进行精准修改
- 支持跨文件的批量编辑
- 保持代码一致性
3. 项目索引
- 自动为代码库建立索引
- 支持大型项目的快速检索
- 增量更新索引
4. 多语言支持
支持主流编程语言的语义分析:
- Python、TypeScript、JavaScript、Go、Rust 等
技术原理
Serena 的核心技术基于 LSP(Language Server Protocol,语言服务器协议):
┌─────────────────────────────────────┐
│ AI Agent (LLM) │
└──────────────┬──────────────────────┘
│ MCP Protocol
│ (JSON-RPC)
┌──────────────▼──────────────────────┐
│ Serena MCP Server │
└──────────────┬──────────────────────┘
│ LSP
│ (stdio)
┌──────────────▼──────────────────────┐
│ Language Server (e.g. pyright) │
└──────────────┬──────────────────────┘
│
┌──────────────▼──────────────────────┐
│ 代码文件系统 │
└─────────────────────────────────────┘
工作流程:
- AI Agent 通过 MCP 协议向 Serena 发送请求
- Serena 将请求翻译为 LSP 调用
- LSP 与具体的语言服务器通信(如 pyright 处理 Python,tsserver 处理 TypeScript)
- 语言服务器分析代码,返回符号信息
- Serena 将结果格式化后通过 MCP 返回给 Agent
集成方式
Serena 作为一个 MCP Server,可以被多种 AI 客户端使用:
| 客户端类型 | 代表产品 |
|---|---|
| 终端客户端 | Claude Code、Codex、Gemini-CLI、OpenHands CLI |
| IDE 插件 | VSCode Copilot、Cursor、JetBrains AI Assistant |
| 桌面应用 | Claude Desktop、Codex App |
| 本地客户端 | OpenWebUI、Jan、Agno |
serena-slim 版本:将 29 个工具智能分组为 18 个语义操作,减少 50.3% 的 token 使用,功能零损失。
安装与配置
- 安装方式:通过
uv(Python 包管理器)安装 - 配置位置:与三个数据库连接并列配置在 TraeWork 的 MCP 中
- 启动命令:
uvx —from serena-ai-serena —no-read-only mcp_server_serena
实际演示
在 TraeWork 中配置好后,可以对 AI 说:
- “帮我找到这个项目里所有使用数据库连接的地方”
- “把这个函数的参数类型从 string 改成 number,同步更新所有调用处”
- “找出所有 TODO 注释的位置”
Serena 会理解代码结构,精准定位并执行修改。
运行记录(2026-09-02)
- 每次 TraeWork 会话启动时自动拉起,并在浏览器自动弹出其网页面板:
http://127.0.0.1:24282/dashboard/index.html(端口可能每次不同)——用户曾误以为装了陌生软件 - 该面板只监听本机地址(127.0.0.1),外部无法访问,无安全风险
- 对非编程用途(日记 / 知识库)没有实际作用;2026-09-02 经用户确认后停用——已从 TraeWork 的 MCP 配置(
User/mcp.json)中移除 Serena 条目(原配置备份为mcp.json.bak-20260902),并结束其残留进程,弹窗不再出现;如需恢复,把备份里的 Serena 段加回配置即可
相关笔记
- TraeWork - 接入的目标
- uv - 安装 Serena 的工具
- DeepSeek Harness - 可能集成 Serena 的 Agent 框架
- 本机 TraeWork 插件一览 - ⚠️ Serena 不在 TraeWork 插件市场
2026-10-02 核实:它不是 TraeWork 插件
TraeWork 插件市场里查不到 Serena,本机也没装。 它是 Claude Code 生态里的独立 MCP 项目(oraios/serena,最新 v1.5.3,含 JetBrains 插件),通过 MCP 接入,与 TraeWork 插件体系无关。
别混淆两件事:
- 之前是通过
mcp.json配 MCP 接入的(2026-08-26),已于 2026-09-02 停用并从配置移除 - 那与「装插件」是完全不同的机制
相关日记
- 2026-08-19 - 开始研究
- 2026-08-26 - 安装 uv 和 Serena
- 2026-09-02 - 排查 24282 端口反复弹窗,确认来源是 Serena 的自动面板
- 2026-10-02 - 核实:确认不在 TraeWork 插件市场,属独立 MCP 项目