Skip to main content
Glama

refresh_index

Manually refresh the project index after file system changes to ensure search results are complete and current.

Instructions

Manually refresh the project index when files have been added/removed/moved. Use when: - File watcher is disabled or unavailable - After large-scale operations (git checkout, merge, pull) that change many files - When you want immediate index rebuild without waiting for file watcher debounce - When find_files results seem incomplete or outdated - For troubleshooting suspected index synchronization issues Important notes for LLMs: - Always available as backup when file watcher is not working - Performs full project re-indexing for complete accuracy - Use when you suspect the index is stale after file system changes - **Call this after programmatic file modifications if file watcher seems unresponsive** - Complements the automatic file watcher system Returns: Success message with total file count

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The main handler function for the 'refresh_index' MCP tool. It is decorated with @mcp.tool() which registers it as a tool named 'refresh_index'. The function delegates the actual index rebuilding to IndexManagementService.rebuild_index().
    @mcp.tool() @handle_mcp_tool_errors(return_type='str') def refresh_index(ctx: Context) -> str: """ Manually refresh the project index when files have been added/removed/moved. Use when: - File watcher is disabled or unavailable - After large-scale operations (git checkout, merge, pull) that change many files - When you want immediate index rebuild without waiting for file watcher debounce - When find_files results seem incomplete or outdated - For troubleshooting suspected index synchronization issues Important notes for LLMs: - Always available as backup when file watcher is not working - Performs full project re-indexing for complete accuracy - Use when you suspect the index is stale after file system changes - **Call this after programmatic file modifications if file watcher seems unresponsive** - Complements the automatic file watcher system Returns: Success message with total file count """ return IndexManagementService(ctx).rebuild_index()
  • Supporting method in IndexManagementService called by the refresh_index tool handler. Implements the shallow index rebuild logic.
    def rebuild_index(self) -> str: """ Rebuild the project index (DEFAULT: shallow file list). For deep/symbol rebuilds, use build_deep_index() tool instead. Returns: Success message with rebuild information Raises: ValueError: If project not set up or rebuild fails """ # Business validation self._validate_rebuild_request() # Get user-configured exclude patterns excludes = self._get_exclude_patterns() # Shallow rebuild only (fast path) if not self._shallow_manager.set_project_path(self.base_path, excludes): raise RuntimeError("Failed to set project path (shallow) in index manager") if not self._shallow_manager.build_index(): raise RuntimeError("Failed to rebuild shallow index") try: count = len(self._shallow_manager.get_file_list()) except Exception: count = 0 return f"Shallow index re-built with {count} files."

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnhuang316/code-index-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server