Agent Skill
2/7/2026

serena-mcp-agent

Expert integration for the Serena MCP Server - a powerful coding agent toolkit providing IDE-like semantic code understanding to LLMs. This skill should be used when working with codebases through Serena tools, setting up Serena projects, performing semantic code navigation and editing, managing project memories, debugging complex automation workflows, or integrating Serena with Claude Desktop, Claude Code, Codex, ChatGPT, or custom agents. Triggers on Serena tool usage, project activation/onboarding, symbolic code operations (find_symbol, replace_symbol_body, etc.), memory management (write_memory, read_memory), and MCP server configuration. Use for large/complex codebases requiring structural understanding, refactoring tasks, and token-efficient code operations.

M
mamba
2GitHub Stars
2Views
npx skills add mamba-mental/agent-skill-manager

SKILL.md

Nameserena-mcp-agent
DescriptionExpert integration for the Serena MCP Server - a powerful coding agent toolkit providing IDE-like semantic code understanding to LLMs. This skill should be used when working with codebases through Serena tools, setting up Serena projects, performing semantic code navigation and editing, managing project memories, debugging complex automation workflows, or integrating Serena with Claude Desktop, Claude Code, Codex, ChatGPT, or custom agents. Triggers on Serena tool usage, project activation/onboarding, symbolic code operations (find_symbol, replace_symbol_body, etc.), memory management (write_memory, read_memory), and MCP server configuration. Use for large/complex codebases requiring structural understanding, refactoring tasks, and token-efficient code operations.

name: serena-mcp-agent description: Expert integration for the Serena MCP Server - a powerful coding agent toolkit providing IDE-like semantic code understanding to LLMs. This skill should be used when working with codebases through Serena tools, setting up Serena projects, performing semantic code navigation and editing, managing project memories, debugging complex automation workflows, or integrating Serena with Claude Desktop, Claude Code, Codex, ChatGPT, or custom agents. Triggers on Serena tool usage, project activation/onboarding, symbolic code operations (find_symbol, replace_symbol_body, etc.), memory management (write_memory, read_memory), and MCP server configuration. Use for large/complex codebases requiring structural understanding, refactoring tasks, and token-efficient code operations.

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

CapabilityBenefit
Semantic code retrievalNavigate by symbols, not text - 30x+ token reduction
Surgical editingModify function bodies while preserving structure
Project memoryPersist knowledge across sessions in .serena/memories/
Multi-client supportClaude 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.md
  • code_style_and_conventions.md
  • task_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):

  1. Symbolic tools - Most efficient, LSP-powered

    • get_symbols_overview → File structure without reading content
    • find_symbol → Locate definitions precisely
    • find_referencing_symbols → Impact analysis before changes
    • replace_symbol_body → Rewrite functions safely
  2. Line-based tools - When symbols don't apply

    • replace_lines, insert_at_line, delete_lines
  3. 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/:

ToolPurpose
write_memorySave contracts, schemas, progress
read_memoryLoad prior session context
list_memoriesDiscover available memories
prepare_for_new_conversationGenerate continuation summary
summarize_changesDocument session work

Pattern: End sessions with summarize_changeswrite_memory.

Thinking Tools

Force self-reflection during complex operations:

ToolWhen to Use
think_about_collected_informationBefore implementing
think_about_task_adherenceDuring long operations
think_about_whether_you_are_doneBefore 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 Codex
  • chatgpt - ChatGPT via MCPO

Modes (combinable, switchable):

  • editing + interactive - Standard development (default)
  • planning - Analysis before implementation
  • one-shot - Single-response tasks
  • no-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:

  1. Use version control (Git) for all projects
  2. Disable execute_shell_command unless explicitly needed
  3. Set read_only: true for code review/analysis tasks
  4. Never expose MCPO API keys

Debugging Framework

For complex automation workflows (n8n, Zapier, etc.):

  1. Behavior Contract - Document expected behavior before changes
  2. Snapshot Before - Capture current state
  3. Parity Grid - Map contract → current → fix required
  4. Dry-Run - Validate changes before applying
  5. Apply + Validate - Execute with proof
  6. Memory Harden - Persist final state

See: references/debugging-framework.md for canonical prompts and workflow.

Session Protocol

Start:

  1. Verify project activation: get_current_config
  2. Check onboarding: check_onboarding_performed
  3. Load relevant memories: list_memoriesread_memory
  4. 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:

  1. Final validation (build/lint/test)
  2. summarize_changeswrite_memory
  3. 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.

Skills Info
Original Name:serena-mcp-agentAuthor:mamba