SuperAPI AI 工具集

serena-mcp-agent

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:本技能用于把 Serena MCP Server 集成到编码代理中,让 LLM 具备 IDE 式的结构化代码理解能力。Serena 借助语言服务器协议(LSP)实现语义代码检索,按符号而非纯文本导航,据资料称可带来 30 倍以上 token 缩减,并支持在保留结构的前提下修改函数体。

主要能力:语义代码检索、外科式编辑、项目记忆(持久化在 .serena/memories/ 目录)、多客户端支持(Claude Desktop、Claude Code、Codex、ChatGPT 及自定义代理)。工具按优先级使用:符号工具(get_symbols_overview、find_symbol、find_referencing_symbols、replace_symbol_body)优先;符号不适用时用行级工具(replace_lines、insert_at_line、delete_lines);整文件操作(read_file、create_text_file)作为最后手段。记忆工具包括 write_memory、read_memory、list_memories、prepare_for_new_conversation、summarize_changes。思考工具用于复杂操作中的自我反思。

使用方式:先激活项目,如“Activate the project /path/to/my_project”,首次激活会创建 .serena/project.yml。首次会话自动执行 onboarding,在 .serena/memories/ 下生成 tech_stack_and_dependencies.md、code_style_and_conventions.md、task_completion_guidelines.md;未自动触发时可手动启动,完成后应开启新对话。大型项目可运行 serena project index 预索引以预防工具超时,只需运行一次,之后自动更新。Claude Desktop 通过编辑 claude_desktop_config.json 配置;Claude Code 可在项目目录运行 claude mcp add serena -- uvx --from git+https://github.com/oraios/serena \ serena start-mcp-server --context ide-assistant --project "$(pwd)"。上下文(desktop-app、claude-code、ide-assistant、codex、chatgpt)在启动时设定且不可变更;模式(editing、interactive、planning、one-shot、no-onboarding)可组合并动态切换。会话开始应校验项目激活、检查 onboarding、加载记忆并运行构建/类型检查建立基线;结束时做最终校验并用 summarize_changes 与 write_memory 持久化。

适用场景:大型、复杂或遗留代码库,跨多文件重构,依赖与架构分析,对 token 敏感的操作。不适用于全新空项目、单文件脚本或整体上下文可轻松容纳的场景。

限制与安全:在 .serena/project.yml 中可设 read_only: true 关闭全部编辑(仅分析),并在 excluded_tools 中禁用 execute_shell_command;不可信环境应始终禁用该命令,所有项目应使用版本控制,绝不要暴露 MCPO API 密钥。可访问 http://localhost:24282/dashboard/index.html 查看工具调用、日志、配置与活动语言。其他客户端、上下文与模式的完整说明暂未提供。