Skip to main content
Glama
adexltd
by adexltd

drive_search_files

Find files in Google Drive by entering search queries to locate documents, spreadsheets, and other stored content.

Instructions

Search for files in Google Drive

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
page_sizeNoNumber of results to return

Implementation Reference

  • MCP tool handler for drive_search_files that validates input and delegates to DriveService.search_files
    async def _handle_drive_search_files( self, context: GoogleWorkspaceContext, arguments: dict ) -> Dict[str, Any]: """Handle drive search files requests.""" query = arguments.get("query") page_size = arguments.get("page_size", 10) if not query: raise ValueError("Search query is required") logger.debug(f"Drive search request - Query: {query}, Page Size: {page_size}") result = await context.drive.search_files(query=query, page_size=page_size) logger.debug(f"Drive search completed - Found {len(result.get('files', []))} files") return result
  • JSON schema defining the input parameters for the drive_search_files tool
    types.Tool( name="drive_search_files", description="Search for files in Google Drive", inputSchema={ "type": "object", "properties": { "query": {"type": "string", "description": "Search query"}, "page_size": { "type": "integer", "description": "Number of results to return", "default": 10, }, }, "required": ["query"], }, ),
  • Dynamic registration of the drive_search_files handler into the tool registry
    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 using Google Drive API to search for files matching the query
    def search_files(self, query: str, page_size: int = 10) -> Dict[str, Any]: """Search for files in Google Drive.""" try: results = ( self.service.files() .list(q=query, pageSize=page_size, fields="files(id, name, mimeType, webViewLink)") .execute() ) return {"success": True, "files": results.get("files", [])} 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