Skip to main content
Glama
josedu90

MCP Google Workspace Server

drive_create_folder

Create a new folder in Google Drive by specifying its name and parent folder ID using the MCP Google Workspace Server.

Instructions

Create a new folder in Google Drive

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the folder
parent_idNoID of parent folder

Implementation Reference

  • MCP tool handler that validates arguments and delegates folder creation to DriveService.
    async def _handle_drive_create_folder(
        self, context: GoogleWorkspaceContext, arguments: dict
    ) -> Dict[str, Any]:
        """Handle drive create folder requests."""
        name = arguments.get("name")
        parent_id = arguments.get("parent_id")
    
        if not name:
            raise ValueError("Folder name is required")
    
        logger.debug(f"Creating folder - Name: {name}, Parent: {parent_id or 'root'}")
        result = await context.drive.create_folder(name=name, parent_id=parent_id)
        logger.debug(f"Folder created - ID: {result.get('id')}")
        return result
  • Input schema definition for the drive_create_folder tool, specifying parameters name (required) and parent_id (optional).
    types.Tool(
        name="drive_create_folder",
        description="Create a new folder in Google Drive",
        inputSchema={
            "type": "object",
            "properties": {
                "name": {"type": "string", "description": "Name of the folder"},
                "parent_id": {"type": "string", "description": "ID of parent folder"},
            },
            "required": ["name"],
        },
    ),
  • Dynamic registration of the tool handler into the registry using naming convention '_handle_drive_create_folder'.
    handler_name = f"_handle_{tool.name}"
    if hasattr(self, handler_name):
        handler = getattr(self, handler_name)
        self._tool_registry[tool.name] = handler
        logger.debug(f"Registered handler for {tool.name}")
  • Core implementation in DriveService that creates the folder using Google Drive API v3.
    def create_folder(self, name: str, parent_id: Optional[str] = None) -> Dict[str, Any]:
        """Create a new folder in Google Drive."""
        try:
            file_metadata = {"name": name, "mimeType": "application/vnd.google-apps.folder"}
    
            if parent_id:
                file_metadata["parents"] = [parent_id]
    
            folder = (
                self.service.files()
                .create(body=file_metadata, fields="id, name, webViewLink")
                .execute()
            )
    
            return {"success": True, "folder": folder}
        except HttpError as error:
            return {"success": False, **self.handle_error(error)}
Install Server

Other Tools

Related Tools

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/josedu90/mcp-suiteg'

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