Skip to main content
Glama
taylorwilsdon

Google Workspace MCP Server - Control Gmail, Calendar, Docs, Sheets, Slides, Chat, Forms & Drive

get_spreadsheet_info

Retrieve detailed information about a Google Sheets spreadsheet, including its title and sheet list, by providing the user's email and spreadsheet ID.

Instructions

Gets information about a specific spreadsheet including its sheets. Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet to get info for. Required. Returns: str: Formatted spreadsheet information including title and sheets list.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serviceYes
spreadsheet_idYes
user_google_emailYes

Implementation Reference

  • The handler function for the 'get_spreadsheet_info' tool. It uses the Google Sheets API to fetch spreadsheet details, including title and sheets with their grid sizes, and returns a formatted string summary. Registered via @server.tool() decorator.
    @server.tool() @handle_http_errors("get_spreadsheet_info", is_read_only=True, service_type="sheets") @require_google_service("sheets", "sheets_read") async def get_spreadsheet_info( service, user_google_email: str, spreadsheet_id: str, ) -> str: """ Gets information about a specific spreadsheet including its sheets. Args: user_google_email (str): The user's Google email address. Required. spreadsheet_id (str): The ID of the spreadsheet to get info for. Required. Returns: str: Formatted spreadsheet information including title and sheets list. """ logger.info(f"[get_spreadsheet_info] Invoked. Email: '{user_google_email}', Spreadsheet ID: {spreadsheet_id}") spreadsheet = await asyncio.to_thread( service.spreadsheets().get(spreadsheetId=spreadsheet_id).execute ) title = spreadsheet.get("properties", {}).get("title", "Unknown") sheets = spreadsheet.get("sheets", []) sheets_info = [] for sheet in sheets: sheet_props = sheet.get("properties", {}) sheet_name = sheet_props.get("title", "Unknown") sheet_id = sheet_props.get("sheetId", "Unknown") grid_props = sheet_props.get("gridProperties", {}) rows = grid_props.get("rowCount", "Unknown") cols = grid_props.get("columnCount", "Unknown") sheets_info.append( f" - \"{sheet_name}\" (ID: {sheet_id}) | Size: {rows}x{cols}" ) text_output = ( f"Spreadsheet: \"{title}\" (ID: {spreadsheet_id})\n" f"Sheets ({len(sheets)}):\n" + "\n".join(sheets_info) if sheets_info else " No sheets found" ) logger.info(f"Successfully retrieved info for spreadsheet {spreadsheet_id} for {user_google_email}.") return text_output
  • Imports and exports the get_spreadsheet_info tool function via __init__.py, making it available when importing the gs sheets module.
    from .sheets_tools import ( list_spreadsheets, get_spreadsheet_info, read_sheet_values, modify_sheet_values, create_spreadsheet, create_sheet, ) __all__ = [ "list_spreadsheets", "get_spreadsheet_info", "read_sheet_values", "modify_sheet_values", "create_spreadsheet", "create_sheet", ]

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/taylorwilsdon/google_workspace_mcp'

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