Serena MCP is a semantic coding tool that enables efficient analysis and editing of codebases. It understands project structure and provides precise symbol‑level operations (classes, functions, variables, etc.).
mcp__serena__activate_project
- Activate a projectmcp__serena__onboarding
- Initial project analysis and information gatheringmcp__serena__check_onboarding_performed
- Check onboarding statusmcp__serena__remove_project
- Delete a projectmcp__serena__get_current_config
- Get the current configuration
mcp__serena__list_dir
- List directory contentsmcp__serena__find_file
- Search for files (supports wildcards)mcp__serena__search_for_pattern
- Search code using regular‑expression patternsmcp__serena__read_file
- Read file contents (not recommended; prefer symbol operations)mcp__serena__create_text_file
- Create a text file
mcp__serena__get_symbols_overview
- List top‑level symbols in a filemcp__serena__find_symbol
- Search symbols by name path (classes, methods, functions, etc.)mcp__serena__find_referencing_symbols
- Find references to a symbolmcp__serena__replace_symbol_body
- Replace an entire symbolmcp__serena__insert_before_symbol
- Insert content before a symbolmcp__serena__insert_after_symbol
- Insert content after a symbol
mcp__serena__replace_regex
- Replace using regular expressionsmcp__serena__insert_at_line
- Insert at a specific linemcp__serena__delete_lines
- Delete linesmcp__serena__replace_lines
- Replace lines
mcp__serena__write_memory
- Save project informationmcp__serena__read_memory
- Read saved informationmcp__serena__list_memories
- List available memoriesmcp__serena__delete_memory
- Delete a memory
mcp__serena__think_about_collected_information
- Analyze collected informationmcp__serena__think_about_task_adherence
- Check task adherencemcp__serena__think_about_whether_you_are_done
- Confirm completion status
mcp__serena__execute_shell_command
- Execute shell commandsmcp__serena__switch_modes
- Switch operation modesmcp__serena__summarize_changes
- Summarize changesmcp__serena__restart_language_server
- Restart the language servermcp__serena__prepare_for_new_conversation
- Prepare for a new conversation
Context7 MCP provides fast, structured access to open‑source library documentation and examples via a stable Library ID. Use it to resolve an exact library identifier and fetch focused docs (e.g., by topic) with relevant code snippets and Q&A.
context7__get-library-docs
— Retrieve documentation for a specific library.- Parameters:
context7CompatibleLibraryID
(e.g.,/vercel/next.js
or/vercel/next.js/v14.3.0-canary.87
), optionaltokens
limit, optionaltopic
(e.g.,routing
,hooks
). - Returns: Curated code snippets and Q&A extracted from the library's canonical sources.
- Parameters:
context7__resolve-library-id
— Find the best matching Context7‑compatible Library ID.- Input: Free‑form library name (e.g.,
next.js
). - Output: Ranked candidates with ID, description, snippet counts, and trust score. Pick the most authoritative match, typically the official repo.
- Input: Free‑form library name (e.g.,
- Resolve: Call
context7__resolve-library-id
with the library name and select the top official ID. - Fetch: Call
context7__get-library-docs
with the chosen ID; pass a focusedtopic
to narrow results and atokens
cap if needed. - Use: Incorporate returned snippets and Q&A into your work; cite upstream docs when appropriate.
- Resolved ID:
/vercel/next.js
(official Next.js repository). - Targeted fetch:
context7__get-library-docs
withtopic: "routing"
returns practical snippets (e.g., Route Handlers, dynamic segments,next/link
prefetch behavior) and concise Q&A.
- Prefer exact IDs if the user supplies one; otherwise resolve first for accuracy.
- Use
topic
to reduce noise and speed up retrieval. - Increase
tokens
only when you need broader coverage; start small for targeted queries.