Skip to main content
Glama
adexltd
by adexltd

sheets_get_values

Retrieve data from specified ranges in Google Sheets to access spreadsheet information for analysis or integration.

Instructions

Get values from a Google Sheet range

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
spreadsheet_idYesID of the spreadsheet
rangeYesA1 notation range

Implementation Reference

  • MCP tool handler for sheets_get_values: validates input, logs, calls SheetsService.get_values, returns result
    async def _handle_sheets_get_values( self, context: GoogleWorkspaceContext, arguments: dict ) -> Dict[str, Any]: """Handle sheets get values requests.""" spreadsheet_id = arguments.get("spreadsheet_id") range_name = arguments.get("range") if not spreadsheet_id or not range_name: raise ValueError("Both spreadsheet_id and range are required") logger.debug(f"Getting sheet values - ID: {spreadsheet_id}, Range: {range_name}") result = await context.sheets.get_values( spreadsheet_id=spreadsheet_id, range_name=range_name ) logger.debug(f"Sheet values retrieved - Row count: {len(result.get('values', []))}") return result
  • Input schema definition for the sheets_get_values tool
    types.Tool( name="sheets_get_values", description="Get values from a Google Sheet range", inputSchema={ "type": "object", "properties": { "spreadsheet_id": { "type": "string", "description": "ID of the spreadsheet", }, "range": {"type": "string", "description": "A1 notation range"}, }, "required": ["spreadsheet_id", "range"], }, ),
  • Dynamic registration of tool handlers into _tool_registry based on _get_tools_list()
    # Register tool handlers 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 in SheetsService: calls Google Sheets API spreadsheets.values.get to retrieve values from the specified range
    def get_values(self, spreadsheet_id: str, range_name: str) -> Dict[str, Any]: """Get values from a specific range in a spreadsheet.""" try: result = ( self.service.spreadsheets() .values() .get(spreadsheetId=spreadsheet_id, range=range_name) .execute() ) return {"success": True, "values": result.get("values", [])} 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