Use MCP repo-map tools when: - Searching for symbols by name pattern (faster than Grep) - Getting all symbols in a file (faster than Read + parsing)
GOOD NEWS: MCP tools automatically adapt to the current working directory!
How it works:
cd /home/user/project-a
# MCP tools query/index project-a/.claude/repo-map.db
cd /home/user/project-b
# MCP tools now query/index project-b/.claude/repo-map.db ✅
Behavior:
.claude/repo-map.db exists: query itBenefits:
CRITICAL: When the user runs /plugin install or /plugin update:
The MCP server configuration changes immediately, but the MCP server itself does not restart automatically. The new plugin features (especially MCP tools like search_symbols) will NOT be available until the session restarts.
YOU MUST tell the user:
The plugin has been installed/updated successfully. To use the MCP tools (search_symbols, get_file_symbols, etc.), you need to restart the session:
1. Exit this session (Ctrl+C or type 'exit')
2. Start a new session with: claude continue
The MCP server will restart with the new plugin configuration.
When to give this instruction:
/plugin install context-tools/plugin update context-toolsWhy this matters:
Once the session has been restarted after installation, the following MCP tools are available:
Search for symbols (functions, classes, methods) by name pattern.
Faster than Grep/Search - uses pre-built SQLite index.
Parameters:
pattern (required): Glob pattern like get_*, *Handler, Config*kind (optional): Filter by "class", "function", or "method"limit (optional): Max results (default: 20)Example:
{
"pattern": "parse_*",
"kind": "function",
"limit": 10
}
Get all symbols defined in a specific file.
Parameters:
file (required): Relative path from project root (e.g., "src/models/user.py")Get the source code content of a symbol by exact name.
Faster than Grep/Search+Read - directly retrieves function/class source code.
Parameters:
name (required): Exact symbol name (e.g., "MyClass", "User.save")kind (optional): Filter by type if name is ambiguousTrigger a reindex of the repository symbols.
Parameters:
force (optional): Force reindex even if cache is fresh (default: false)Get the current status of the repo map index.
Shows:
idle, indexing, completed, or failedWait for indexing to complete.
Parameters:
timeout_seconds (optional): How long to wait (default: 60)Note: Most tools automatically wait for indexing to complete, so this is rarely needed.
symbols table:
name (TEXT): Symbol namekind (TEXT): class, function, or methodfile_path (TEXT): Relative path from project rootline_number (INTEGER): Start line (1-indexed)end_line_number (INTEGER): End line (nullable)parent (TEXT): Parent class/module (nullable)docstring (TEXT): First line of docstring (nullable)signature (TEXT): Function/method signature (nullable)language (TEXT): python, cpp, or rustmetadata table (v0.7.0+):
key (TEXT PRIMARY KEY): Metadata keyvalue (TEXT): Metadata valueKeys:
status: idle | indexing | completed | failedindex_start_time: ISO8601 timestamp when indexing startedlast_indexed: ISO8601 timestamp when last completedsymbol_count: Total symbols indexed (string)error_message: Error message if status='failed'First Use Behavior:
Watchdog (v0.7.0+):
reindex_repo_mapMultiprocess Architecture (v0.8.0+):
Use MCP repo-map tools when:
Use other tools when:
Automatically generated at session start:
.claude/project-manifest.json - Project structure and build commands.claude/repo-map.md - Human-readable code structure with duplicate detection.claude/repo-map.db - SQLite database for fast symbol queries (MCP server)Optional (created manually):
.claude/learnings.md - Project-specific learnings and discoveriesLogs:
.claude/logs/repo-map-server.log - MCP server rotating log (1MB per file, 3 backups)