Skip to main content
Glama
adexltd
by adexltd

sheets_create

Create a new Google Sheet with a specified title and optional sheet names. This tool generates spreadsheets for data organization and analysis within Google Workspace.

Instructions

Create a new Google Sheet

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYesTitle of the spreadsheet
sheetsNoSheet names

Implementation Reference

  • The MCP tool handler for 'sheets_create' that extracts arguments, validates, and delegates to SheetsService.create_spreadsheet.
    async def _handle_sheets_create( self, context: GoogleWorkspaceContext, arguments: dict ) -> Dict[str, Any]: """Handle sheets create requests.""" title = arguments.get("title") sheets = arguments.get("sheets", []) if not title: raise ValueError("Spreadsheet title is required") logger.debug(f"Creating spreadsheet - Title: {title}, Sheets: {sheets}") result = await context.sheets.create_spreadsheet(title=title, sheets=sheets) logger.debug(f"Spreadsheet created - ID: {result.get('spreadsheetId')}") return result
  • Defines the input schema, description, and name for the 'sheets_create' tool.
    types.Tool( name="sheets_create", description="Create a new Google Sheet", inputSchema={ "type": "object", "properties": { "title": {"type": "string", "description": "Title of the spreadsheet"}, "sheets": { "type": "array", "items": {"type": "string"}, "description": "Sheet names", }, }, "required": ["title"], }, ),
  • Dynamically registers the 'sheets_create' handler in the tool registry based on the tool list.
    for tool in self._get_tools_list(): 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 that creates the Google Spreadsheet using the Sheets API v4.
    def create_spreadsheet(self, title: str, sheets: Optional[List[str]] = None) -> Dict[str, Any]: """Create a new Google Spreadsheet with optional sheets.""" try: spreadsheet_body = {"properties": {"title": title}} if sheets: spreadsheet_body["sheets"] = [ {"properties": {"title": sheet_name}} for sheet_name in sheets ] spreadsheet = self.service.spreadsheets().create(body=spreadsheet_body).execute() return {"success": True, "spreadsheet": spreadsheet} except HttpError as error: return {"success": False, **self.handle_error(error)}

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/adexltd/mcp-google-suite'

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