serena
3
总安装量
1
周安装量
#58298
全站排名
安装命令
npx skills add https://github.com/zhumon/claude-code-hubs --skill serena
Agent 安装分布
opencode
1
claude-code
1
Skill 文档
Serena MCP Server
Semantic code understanding with project memory and session persistence.
Required First Step
ALWAYS activate project before any Serena operation:
mcp__serena__activate_project(project: "<path_or_name>")
mcp__serena__check_onboarding_performed()
When to Use Serena
| Use Case | Serena | Alternative |
|---|---|---|
| Symbol rename with references | â | â Morphllm |
| Find all references | â | â Grep |
| Semantic code navigation | â | â Native |
| Project memory/session | â | â None |
| Pattern-based bulk edits | â | â Morphllm |
| Simple text replacement | â | â Edit tool |
Core Tools
Project Lifecycle
activate_projectâ REQUIRED FIRST – activate target projectget_current_configâ check active project and available toolscheck_onboarding_performedâ verify project is readyonboardingâ run if onboarding not yet performed
Symbol Operations
find_symbolâ locate symbols by name path patternfind_referencing_symbolsâ find all references to a symbolget_symbols_overviewâ high-level view of file symbolsrename_symbolâ rename across entire codebasereplace_symbol_bodyâ replace symbol definitioninsert_before_symbol/insert_after_symbolâ add code around symbols
Search & Navigation
search_for_patternâ regex search across codebaselist_dirâ list directory contentsfind_fileâ find files by mask
Memory Management
write_memoryâ persist information for future sessionsread_memoryâ retrieve stored informationlist_memoriesâ show available memoriesedit_memory/delete_memoryâ modify or remove memories
Reflection (Call These!)
think_about_collected_informationâ after search operationsthink_about_task_adherenceâ before code modificationsthink_about_whether_you_are_doneâ at task completion
Tool Details
See references/tools.md for detailed parameter documentation.
Workflow Patterns
Session Start
1. activate_project(project: "path/to/project")
2. check_onboarding_performed()
3. list_memories() â check existing context
4. read_memory("relevant_memory") â if applicable
Symbol Investigation
1. get_symbols_overview(relative_path: "file.py", depth: 1)
2. find_symbol(name_path_pattern: "ClassName", include_body: false)
3. find_symbol(name_path_pattern: "ClassName/method", include_body: true)
4. think_about_collected_information()
Symbol Modification
1. find_symbol(name_path_pattern: "target", include_body: true)
2. think_about_task_adherence()
3. replace_symbol_body(name_path: "target", relative_path: "file.py", body: "new code")
Cross-Session Persistence
1. write_memory("task_context", "important findings...")
2. [end session]
3. [new session]
4. activate_project(...)
5. list_memories()
6. read_memory("task_context")
Name Path Patterns
| Pattern | Matches |
|---|---|
method |
Any symbol named “method” |
Class/method |
method inside Class |
/Class/method |
Exact path from file root |
Foo/get with substring_matching: true |
Foo/getValue, Foo/getData |
Best Practices
- Activate first – Always
activate_projectbefore operations - Read before edit – Use
find_symbolwithinclude_body: truebefore modifications - Use reflection tools – Call
think_about_*tools at appropriate points - Prefer symbolic over text – Use symbol tools over grep/edit when possible
- Persist important context – Use memory for cross-session continuity