build_deep_index
Build the deep index (full symbol extraction) for the current project.
This performs a complete re-index and loads it into memory.
Uses parallel processing by default. For large codebases (3000+ files),
tuning max_workers can significantly improve build times.
Args:
max_workers: Maximum number of parallel workers for file processing.
Defaults to min(4, cpu_count) when not specified.
Increase for I/O-bound workloads on machines with many cores.
timeout: Parallel build timeout in seconds. When not specified,
scales dynamically based on file count (0.5s per file,
min 30s, max 600s).
Input schema{
"properties": {
"max_workers": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Workers"
},
"timeout": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Timeout"
}
},
"title": "build_deep_indexArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "build_deep_indexOutput",
"type": "object"
} | — | | — |
check_temp_directoryCheck the temporary directory used for storing index data.Input schema{
"properties": {},
"title": "check_temp_directoryArguments",
"type": "object"
}Output schema{
"additionalProperties": true,
"title": "check_temp_directoryDictOutput",
"type": "object"
} | — | | — |
clear_settingsClear all settings and cached data.Input schema{
"properties": {},
"title": "clear_settingsArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "clear_settingsOutput",
"type": "object"
} | — | | — |
configure_file_watcherConfigure file watcher service settings.
Args:
enabled: Whether to enable file watcher
debounce_seconds: Debounce time in seconds before triggering rebuild
additional_exclude_patterns: Additional directory/file patterns to exclude
observer_type: Observer backend to use. Options:
- "auto" (default): platform default observer
- "kqueue": Force kqueue observer (macOS/BSD)
- "fsevents": Force FSEvents observer (macOS only, has known reliability issues)
- "polling": Cross-platform polling fallback (slower but most compatible)
Input schema{
"properties": {
"enabled": {
"default": null,
"title": "Enabled",
"type": "boolean"
},
"debounce_seconds": {
"default": null,
"title": "Debounce Seconds",
"type": "number"
},
"additional_exclude_patterns": {
"default": null,
"items": {},
"title": "Additional Exclude Patterns",
"type": "array"
},
"observer_type": {
"default": null,
"title": "Observer Type",
"type": "string"
}
},
"title": "configure_file_watcherArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "configure_file_watcherOutput",
"type": "object"
} | — | | — |
create_temp_directoryCreate the temporary directory used for storing index data.Input schema{
"properties": {},
"title": "create_temp_directoryArguments",
"type": "object"
}Output schema{
"additionalProperties": true,
"title": "create_temp_directoryDictOutput",
"type": "object"
} | — | | — |
find_files
Find files matching glob pattern using in-memory index.
Supports path patterns (*.py, test_*.js) and filename-only matching (README.md).
Input schema{
"properties": {
"pattern": {
"title": "Pattern",
"type": "string"
}
},
"required": [
"pattern"
],
"title": "find_filesArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"items": {
"type": "string"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "find_filesOutput",
"type": "object"
} | — | | — |
get_file_summary
Get a summary of a specific file, including:
- Line count
- Function/class definitions (for supported languages)
- Import statements
- Basic complexity metrics
Input schema{
"properties": {
"file_path": {
"title": "File Path",
"type": "string"
}
},
"required": [
"file_path"
],
"title": "get_file_summaryArguments",
"type": "object"
}Output schema{
"additionalProperties": true,
"title": "get_file_summaryDictOutput",
"type": "object"
} | — | | — |
get_file_watcher_statusGet file watcher service status and statistics.Input schema{
"properties": {},
"title": "get_file_watcher_statusArguments",
"type": "object"
}Output schema{
"additionalProperties": true,
"title": "get_file_watcher_statusDictOutput",
"type": "object"
} | — | | — |
get_settings_infoGet information about the project settings.Input schema{
"properties": {},
"title": "get_settings_infoArguments",
"type": "object"
}Output schema{
"additionalProperties": true,
"title": "get_settings_infoDictOutput",
"type": "object"
} | — | | — |
get_symbol_body
Get the source code body of a specific symbol (function, method, or class).
This tool retrieves only the code for the specified symbol, enabling efficient
context usage by avoiding loading entire files.
Args:
file_path: Path to the file containing the symbol
symbol_name: Name of the symbol to retrieve (e.g., "process_data", "MyClass.my_method")
Returns:
Dictionary containing:
- status: "success" or "error"
- symbol_name: Name of the symbol
- type: Type of symbol (function, method, class)
- line: Start line number
- end_line: End line number
- code: The actual source code
- signature: Function/method signature (if available)
- docstring: Documentation string (if available)
- called_by: List of symbols that call this symbol
Input schema{
"properties": {
"file_path": {
"title": "File Path",
"type": "string"
},
"symbol_name": {
"title": "Symbol Name",
"type": "string"
}
},
"required": [
"file_path",
"symbol_name"
],
"title": "get_symbol_bodyArguments",
"type": "object"
}Output schema{
"additionalProperties": true,
"title": "get_symbol_bodyDictOutput",
"type": "object"
} | — | | — |
refresh_index
Manually rebuild the project file index. Use after git operations or when index seems stale.
Input schema{
"properties": {},
"title": "refresh_indexArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "refresh_indexOutput",
"type": "object"
} | — | | — |
refresh_search_tools
Manually re-detect the available command-line search tools on the system.
This is useful if you have installed a new tool (like ripgrep) after starting the server.
Input schema{
"properties": {},
"title": "refresh_search_toolsArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "refresh_search_toolsOutput",
"type": "object"
} | — | | — |
search_code_advanced
Search for code pattern with pagination. Auto-selects best search tool (ugrep/ripgrep/ag/grep).
Supports glob file_pattern (e.g., "*.py"), explicit regex mode, and fuzzy matching (ugrep only).
Regex matching requires passing regex=True and may require an external search tool.
Input schema{
"properties": {
"pattern": {
"title": "Pattern",
"type": "string"
},
"case_sensitive": {
"default": true,
"title": "Case Sensitive",
"type": "boolean"
},
"context_lines": {
"default": 0,
"title": "Context Lines",
"type": "integer"
},
"file_pattern": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "File Pattern"
},
"fuzzy": {
"default": false,
"title": "Fuzzy",
"type": "boolean"
},
"regex": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Regex"
},
"start_index": {
"default": 0,
"title": "Start Index",
"type": "integer"
},
"max_results": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 10,
"title": "Max Results"
}
},
"required": [
"pattern"
],
"title": "search_code_advancedArguments",
"type": "object"
}Output schema{
"additionalProperties": true,
"title": "search_code_advancedDictOutput",
"type": "object"
} | — | | — |
set_project_pathSet the base project path for indexing.Input schema{
"properties": {
"path": {
"title": "Path",
"type": "string"
}
},
"required": [
"path"
],
"title": "set_project_pathArguments",
"type": "object"
}Output schema{
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "set_project_pathOutput",
"type": "object"
} | — | | — |