Guide for setup Serena MCP server for semantic code retrieval and editing capabilities
Sets up Serena MCP server for semantic code retrieval and editing. Guides through installation, configuration, and project indexing for symbol-based navigation.
/plugin marketplace add NeoLabHQ/context-engineering-kit/plugin install mcp@context-engineering-kitOptional - specific configuration preferences or client typeUser Input:
$ARGUMENTS
Ask the user where they want to store the configuration:
Options:
Project level (shared via git) - Configuration tracked in version control, shared with team
./CLAUDE.mdProject level (personal preferences) - Configuration stays local, not tracked in git
./CLAUDE.local.md.gitignore, add them if notUser level (global) - Configuration applies to all projects for this user
~/.claude/CLAUDE.mdStore the user's choice and use the appropriate paths in subsequent steps.
Check whether you have access to Serena MCP server by attempting to use one of its tools (e.g., find_symbol or list_symbols).
If no access, proceed with setup.
Read the following documentation to understand Serena's capabilities and setup process:
Based on the loaded documentation:
uv is installed (required for running Serena)After adding MCP server, but before testings connection write to user this message EXACTLY:
You must restart Claude Code to load the new MCP server:
1. Exit Claude Code console (type exit or press Ctrl+C)
2. Run claude --continue
3. Type "continue" to resume setup
After restart, I will:
- Verify Serena tools are accessible
- Run initial_instructions if needed
- Perform onboarding for this project (if not already done)
Use the path determined in step 1. Once Serena is successfully set up, update the appropriate CLAUDE.md file with the following content EXACTLY:
### Use Serena MCP for Semantic Code Analysis instead of regular code search and editing
Serena MCP is available for advanced code retrieval and editing capabilities.
**When to use Serena:**
- Symbol-based code navigation (find definitions, references, implementations)
- Precise code manipulation in structured codebases
- Prefer symbol-based operations over file-based grep/sed when available
**Key tools:**
- `find_symbol` - Find symbol by name across the codebase
- `find_referencing_symbols` - Find all symbols that reference a given symbol
- `list_symbols` - List all symbols in a file or scope
- `get_symbol_source` - Get the source code of a specific symbol
**Usage notes:**
- Memory files can be manually reviewed/edited in `.serena/memories/`
Add this section, if server setup at user level (global):
**Project setup (per project):**
1. Run `serena project create --index` in your project directory
2. Serena auto-detects language; creates `.serena/project.yml`
3. First use triggers onboarding and creates memory files in `.serena/memories/`
If this is a new project or Serena hasn't been initialized: