Skip to main content
Glama

google-sheets-mcp

sheets_utils.py2.3 kB
"""Helper utilities for Google Sheets operations.""" from typing import Dict, Optional, List from googleapiclient.errors import HttpError def get_sheet_ids_by_names( sheets_service, spreadsheet_id: str, sheet_names: List[str] ) -> Dict[str, Optional[int]]: """ Get sheet IDs from spreadsheet ID and sheet names. Works for both single and multiple sheet lookups. Args: sheets_service: Google Sheets API service instance spreadsheet_id: ID of the spreadsheet sheet_names: List of sheet names to find (can be single item) Returns: Dictionary mapping sheet names to their IDs (None if not found) Examples: # Single sheet lookup result = get_sheet_ids_by_names(sheets_service, "123", ["Sheet1"]) # Returns: {"Sheet1": 456} # Multiple sheet lookup result = get_sheet_ids_by_names(sheets_service, "123", ["Sheet1", "Data", "Summary"]) # Returns: {"Sheet1": 456, "Data": 789, "Summary": None} Raises: RuntimeError: If Google Sheets service not initialized """ if not sheets_service: raise RuntimeError("Google Sheets service not initialized. Set Google credentials environment variables.") try: # Get spreadsheet metadata to find sheets result = sheets_service.spreadsheets().get( spreadsheetId=spreadsheet_id, fields="sheets.properties" ).execute() sheets = result.get("sheets", []) # Create lookup dictionary for all sheets sheet_lookup = {} for sheet in sheets: props = sheet.get("properties", {}) sheet_lookup[props.get("title")] = props.get("sheetId") # Return results for requested sheet names results = {} for sheet_name in sheet_names: results[sheet_name] = sheet_lookup.get(sheet_name) return results except HttpError as error: print(f"Error getting sheet IDs for spreadsheet '{spreadsheet_id}': {error}") return {name: None for name in sheet_names} except Exception as error: print(f"Unexpected error while getting sheet IDs: {error}") return {name: None for name in sheet_names}

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/henilcalagiya/google-sheets-mcp'

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