Skip to main content
Glama

check_temp_directory

Verify the temporary directory location for storing code index data to ensure proper operation and data management.

Instructions

Check the temporary directory used for storing index data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Core handler function manage_temp_directory that implements the check_temp_directory tool logic when action='check'. Directly called by the MCP tool registration.
    def manage_temp_directory(action: str) -> Dict[str, Any]: """ Manage temporary directory operations. This is a standalone function that doesn't require project context. Handles the logic for create_temp_directory and check_temp_directory MCP tools. Args: action: The action to perform ('create' or 'check') Returns: Dictionary with directory information and operation results Raises: ValueError: If action is invalid or operation fails """ if action not in ['create', 'check']: raise ValueError(f"Invalid action: {action}. Must be 'create' or 'check'") # Try to get the actual temp directory from index manager, fallback to default try: index_manager = get_index_manager() temp_dir = index_manager.temp_dir if index_manager.temp_dir else os.path.join(tempfile.gettempdir(), SETTINGS_DIR) except: temp_dir = os.path.join(tempfile.gettempdir(), SETTINGS_DIR) if action == 'create': existed_before = os.path.exists(temp_dir) try: # Use ProjectSettings to handle directory creation consistently ProjectSettings("", skip_load=True) result = ResponseFormatter.directory_info_response( temp_directory=temp_dir, exists=os.path.exists(temp_dir), is_directory=os.path.isdir(temp_dir) ) result["existed_before"] = existed_before result["created"] = not existed_before return result except (OSError, IOError, ValueError) as e: return ResponseFormatter.directory_info_response( temp_directory=temp_dir, exists=False, error=str(e) ) else: # action == 'check' result = ResponseFormatter.directory_info_response( temp_directory=temp_dir, exists=os.path.exists(temp_dir), is_directory=os.path.isdir(temp_dir) if os.path.exists(temp_dir) else False ) result["temp_root"] = tempfile.gettempdir() # If the directory exists, list its contents if result["exists"] and result["is_directory"]: try: contents = os.listdir(temp_dir) result["contents"] = contents result["subdirectories"] = [] # Check each subdirectory for item in contents: item_path = os.path.join(temp_dir, item) if os.path.isdir(item_path): subdir_info = { "name": item, "path": item_path, "contents": os.listdir(item_path) if os.path.exists(item_path) else [] } result["subdirectories"].append(subdir_info) except (OSError, PermissionError) as e: result["error"] = str(e) return result
  • MCP tool registration with @mcp.tool() decorator. Delegates execution to manage_temp_directory('check').
    @mcp.tool() @handle_mcp_tool_errors(return_type='dict') def check_temp_directory() -> Dict[str, Any]: """Check the temporary directory used for storing index data.""" return manage_temp_directory('check')
  • Alternative or supporting handler method in SettingsTool class that performs identical directory check logic.
    def check_temp_directory(self) -> Dict[str, Any]: """ Check the status of the temporary directory. Returns: Dictionary with directory status information """ temp_dir = self.get_temp_directory_path() result = { "temp_directory": temp_dir, "temp_root": tempfile.gettempdir(), "exists": os.path.exists(temp_dir), "is_directory": os.path.isdir(temp_dir) if os.path.exists(temp_dir) else False } # If the directory exists, list its contents if result["exists"] and result["is_directory"]: try: contents = os.listdir(temp_dir) result["contents"] = contents result["subdirectories"] = [] # Check each subdirectory for item in contents: item_path = os.path.join(temp_dir, item) if os.path.isdir(item_path): subdir_info = { "name": item, "path": item_path, "contents": os.listdir(item_path) if os.path.exists(item_path) else [] } result["subdirectories"].append(subdir_info) except (OSError, PermissionError) as e: result["error"] = str(e) return result

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