serena-mcp-agent
Serena MCP Agent Integration
Serena transforms LLMs into fully-featured coding agents with IDE-like intelligence by leveraging the Language Server Protocol (LSP) for structural code understanding.
Core Value Proposition
| Capability | Benefit |
|---|---|
| Semantic code retrieval | Navigate by symbols, not text - 30x+ token reduction |
| Surgical editing | Modify function bodies while preserving structure |
| Project memory | Persist knowledge across sessions in .serena/memories/ |
| Multi-client support | Claude Desktop, Claude Code, Codex, ChatGPT, custom agents |
Project Lifecycle
1. Activation
Activate project before any operations:
"Activate the project /path/to/my_project"
First-time activation creates .serena/project.yml with default settings.
2. Onboarding
Run automatically on first session. Creates memories in .serena/memories/:
tech_stack_and_dependencies.mdcode_style_and_conventions.mdtask_completion_guidelines.md
If not auto-triggered:
"Start the Serena onboarding process for this project."
Critical: Start NEW conversation after onboarding (context fills up during analysis).
3. Indexing (Large Projects)
Pre-index to prevent tool timeouts:
serena project index
Run once; auto-updates during use.
Tool Usage Strategy
Priority Order (Prefer Higher):
-
Symbolic tools - Most efficient, LSP-powered
get_symbols_overview→ File structure without reading contentfind_symbol→ Locate definitions preciselyfind_referencing_symbols→ Impact analysis before changesreplace_symbol_body→ Rewrite functions safely
-
Line-based tools - When symbols don't apply
replace_lines,insert_at_line,delete_lines
-
Full file operations - Last resort
read_file,create_text_file
See: references/tools-reference.md for complete tool taxonomy.
Memory Management
Persist knowledge in .serena/memories/:
| Tool | Purpose |
|---|---|
write_memory |
Save contracts, schemas, progress |
read_memory |
Load prior session context |
list_memories |
Discover available memories |
prepare_for_new_conversation |
Generate continuation summary |
summarize_changes |
Document session work |
Pattern: End sessions with summarize_changes → write_memory.
Thinking Tools
Force self-reflection during complex operations:
| Tool | When to Use |
|---|---|
think_about_collected_information |
Before implementing |
think_about_task_adherence |
During long operations |
think_about_whether_you_are_done |
Before declaring complete |
Client Configuration
Claude Desktop: Edit claude_desktop_config.json
{
"mcpServers": {
"serena": {
"command": "uvx",
"args": ["--from", "git+https://github.com/oraios/serena",
"serena", "start-mcp-server", "--context", "desktop-app"]
}
}
}
Claude Code: From project directory:
claude mcp add serena -- uvx --from git+https://github.com/oraios/serena \
serena start-mcp-server --context ide-assistant --project "$(pwd)"
See: references/client-setup.md for Codex, ChatGPT, Docker, etc.
Contexts and Modes
Contexts (set at startup, immutable):
desktop-app- Claude Desktop (full toolset)claude-code- Claude Code (no duplicates)ide-assistant- IDE extensions (minimal tools)codex- OpenAI Codexchatgpt- ChatGPT via MCPO
Modes (combinable, switchable):
editing+interactive- Standard development (default)planning- Analysis before implementationone-shot- Single-response tasksno-onboarding- Skip if memories exist
Switch dynamically: "Switch to planning mode"
See: references/contexts-and-modes.md for full reference.
Security Configuration
In .serena/project.yml:
read_only: true # Disable all editing (analysis only)
excluded_tools:
- execute_shell_command # Always disable for untrusted contexts
Non-negotiables:
- Use version control (Git) for all projects
- Disable
execute_shell_commandunless explicitly needed - Set
read_only: truefor code review/analysis tasks - Never expose MCPO API keys
Debugging Framework
For complex automation workflows (n8n, Zapier, etc.):
- Behavior Contract - Document expected behavior before changes
- Snapshot Before - Capture current state
- Parity Grid - Map contract → current → fix required
- Dry-Run - Validate changes before applying
- Apply + Validate - Execute with proof
- Memory Harden - Persist final state
See: references/debugging-framework.md for canonical prompts and workflow.
Session Protocol
Start:
- Verify project activation:
get_current_config - Check onboarding:
check_onboarding_performed - Load relevant memories:
list_memories→read_memory - Run build/type-check command (establish baseline)
During:
- Read files BEFORE editing (prevent duplicates)
- Use symbolic tools preferentially
- Run validation after each change
- Use thinking tools for complex tasks
End:
- Final validation (build/lint/test)
summarize_changes→write_memory- For continuation:
prepare_for_new_conversation
When to Use Serena
Optimal:
- Large/complex/legacy codebases
- Refactoring across multiple files
- Analyzing dependencies and architecture
- Token-sensitive operations
Not Needed:
- New empty projects (nothing to analyze)
- Single-file scripts
- When entire context fits easily
Dashboard
Monitor operations at: http://localhost:24282/dashboard/index.html
View: tool calls, logs, configuration, active languages.
More from mamba-mental/agent-skill-manager
personal-assistant
This skill should be used whenever users request personal assistance tasks such as schedule management, task tracking, reminder setting, habit monitoring, productivity advice, time management, or any query requiring personalized responses based on user preferences and context. On first use, collects comprehensive user information including schedule, working habits, preferences, goals, and routines. Maintains an intelligent database that automatically organizes and prioritizes information, keeping relevant data and discarding outdated context.
22finance-manager
Comprehensive personal finance management system for analyzing transaction data, generating insights, creating visualizations, and providing actionable financial recommendations. Use when users need to analyze spending patterns, track budgets, visualize financial data, extract transactions from PDFs, calculate savings rates, identify spending trends, generate financial reports, or receive personalized budget recommendations. Triggers include requests like "analyze my finances", "track my spending", "create a financial report", "extract transactions from PDF", "visualize my budget", "where is my money going", "financial insights", "spending breakdown", or any finance-related analysis tasks.
14business-analytics-reporter
This skill should be used when analyzing business sales and revenue data from CSV files to identify weak areas, generate statistical insights, and provide strategic improvement recommendations. Use when the user requests a business performance report, asks to analyze sales data, wants to identify areas of weakness, or needs recommendations on business improvement strategies.
11social-media-generator
This skill should be used when the user requests social media content creation for Twitter, Instagram, LinkedIn, or Facebook. It generates platform-optimized posts and saves them in an organized folder structure with meaningful filenames based on event details.
9research-paper-writer
Creates formal academic research papers following IEEE/ACM formatting standards with proper structure, citations, and scholarly writing style. Use when the user asks to write a research paper, academic paper, or conference paper on any topic.
9seo-optimizer
This skill should be used when analyzing HTML/CSS websites for SEO optimization, fixing SEO issues, generating SEO reports, or implementing SEO best practices. Use when the user requests SEO audits, optimization, meta tag improvements, schema markup implementation, sitemap generation, or general search engine optimization tasks.
9