Skip to main content
Glama

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)}

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