Skip to main content
Glama

create_temp_directory

Creates a temporary directory for storing code index data in the code-index-mcp server to enable repository analysis and search functionality.

Instructions

Create the temporary directory used for storing index data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • MCP tool registration decorator and thin handler wrapper that delegates to manage_temp_directory helper.
    @mcp.tool()
    @handle_mcp_tool_errors(return_type='dict')
    def create_temp_directory() -> Dict[str, Any]:
        """Create the temporary directory used for storing index data."""
        return manage_temp_directory('create')
  • The registered MCP tool handler function for create_temp_directory.
    @mcp.tool()
    @handle_mcp_tool_errors(return_type='dict')
    def create_temp_directory() -> Dict[str, Any]:
        """Create the temporary directory used for storing index data."""
        return manage_temp_directory('create')
  • Core helper function implementing the temp directory creation logic, called by the MCP handler. Handles both create and check actions.
    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)
                )
  • Alternative class-based helper method with similar temp directory creation logic (possibly unused for MCP).
    def create_temp_directory(self) -> Dict[str, Any]:
        """
        Create the temporary directory for settings.
    
        Returns:
            Dictionary with creation results
        """
        temp_dir = self.get_temp_directory_path()
        existed_before = os.path.exists(temp_dir)
    
        try:
            os.makedirs(temp_dir, exist_ok=True)
    
            return {
                "temp_directory": temp_dir,
                "exists": os.path.exists(temp_dir),
                "is_directory": os.path.isdir(temp_dir),
                "existed_before": existed_before,
                "created": not existed_before
            }
    
        except (OSError, IOError) as e:
            return {
                "temp_directory": temp_dir,
                "exists": False,
                "error": str(e)
            }

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