Skip to main content
Glama
thrix

gcloud-workspace-mcp

by thrix

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GCLOUD_QUOTA_PROJECTNoADC quota project, sent as x-goog-user-project. Gmail needs it. Required for Gmail functionality; optional for Drive/Docs.
GCLOUD_WORKSPACE_DOWNLOAD_DIRNoWhere binary downloads and raw Gmail messages go. Defaults to $XDG_CACHE_HOME/gcloud-workspace-mcp/downloads, or ~/.cache/... without XDG_CACHE_HOME.
GCLOUD_WORKSPACE_ENABLE_WRITESNoSet to 1 to register the write tools. Defaults to unset (write tools disabled).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
drive_searchA

Search Google Drive files using a raw Drive q query string.

Uses user credentials (gcloud auth print-access-token). Searches My Drive, files shared with you, and every shared drive you belong to.

Args: query: A raw Drive v3 q expression, e.g. "name contains 'design' and mimeType='application/vnd.google-apps.document'". See https://developers.google.com/drive/api/guides/search-files page_size: Maximum number of files to return (1-100). page_token: The nextPageToken from a previous call, to fetch the next page.

Returns: A JSON object {files: [{id, name, mimeType, modifiedTime}], nextPageToken, incompleteSearch}. nextPageToken is null on the last page. incompleteSearch is true when Drive skipped some shared drives; narrow the query and search again.

drive_get_metadataA

Return metadata for a single Drive file.

Uses user credentials.

Args: file_id: The Drive file id.

Returns: A JSON object with common metadata fields.

docs_exportA

Export a Google Doc (or other Google-native file) to text.

Uses user credentials. Allowed export types: text/markdown, text/plain, text/html, text/csv, application/pdf. Docs export to all but text/csv. Sheets export to text/csv (first sheet only) or PDF, and Slides to text/plain or PDF. A PDF is saved to a local file, and the result gives its path; open that file to read it. Text comes back 50,000 characters at a time; a note at the end gives the offset of the next window. The Drive API refuses exports larger than 10 MB.

For files that are not Google-native (uploaded PDFs, xlsx, txt, ...) use drive_download instead.

Args: file_id: The Drive file id of a Google-native document. mime_type: Target export MIME type (see allowed list above). offset: Character offset to start the text from. Ignored for PDF.

Returns: The exported document as text, or for PDF a JSON object {path, name, mimeType, bytes} describing the saved file.

drive_downloadA

Download the content of a non-Google-native Drive file.

Uses user credentials. Works for uploaded files such as PDF, xlsx, txt or images, up to 10 MB. Text files come back 50,000 characters at a time; a note at the end gives the offset of the next window. Anything else is saved to a local file, and the result gives its path; open that file to read it.

For Google Docs, Sheets and Slides use docs_export instead.

Args: file_id: The Drive file id. offset: Character offset to start the text from. Ignored for binary files.

Returns: The file content as text, or for binary files a JSON object {path, name, mimeType, bytes} describing the saved file.

gmail_searchA

Search Gmail messages using Gmail search syntax.

Uses ADC credentials and sends the mandatory quota-project header.

resultSizeEstimate is only an estimate and stops counting at 201. To count matches, page through the results with page_token instead.

Args: query: A Gmail search expression, e.g. "from:alice newer_than:7d". max_results: Maximum number of message ids to return (1-500). page_token: The nextPageToken from a previous call, to fetch the next page.

Returns: A JSON object {messages: [{id, threadId}], nextPageToken, resultSizeEstimate}. nextPageToken is null on the last page.

gmail_get_messageA

Fetch a single Gmail message.

Uses ADC credentials and sends the mandatory quota-project header.

Args: message_id: The Gmail message id. format: "text" (default) returns {id, threadId, labelIds, headers, body, attachments} with the body decoded to plain text (HTML-only mail is stripped of tags). "metadata", "minimal" and "full" return the Gmail message resource unchanged, up to 1 MB. "raw" saves the whole RFC 822 message, attachments included, to <message id>.eml in the download directory, and returns the resource with path, mimeType and bytes in place of the base64 raw field.

Returns: The message as JSON.

gmail_get_threadA

Fetch a whole Gmail thread, oldest message first.

Uses ADC credentials and sends the mandatory quota-project header.

Args: thread_id: The Gmail thread id (the threadId of any of its messages). format: "text" (default) decodes every message like gmail_get_message. The bodies share a 100,000-character budget, newest message first; older messages past it keep their headers, get body: null, and their ids are listed in omittedBodies for gmail_get_message. "metadata", "minimal" and "full" return the raw Gmail resources, up to 1 MB for the whole thread.

Returns: A JSON object {id, messages: [...]}, plus omittedBodies when the "text" format dropped any body.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a clearly distinct service, resource, and action: Drive search, Drive metadata lookup, Google-native export, non-native download, Gmail search, message fetch, and thread fetch. The descriptions explicitly delineate Google-native files (docs_export) from uploaded files (drive_download) and single messages from threads, so misselection is unlikely.

Naming Consistency4/5

The set follows a predictable service_action pattern (drive_search, drive_get_metadata, gmail_get_message, gmail_get_thread), with only a minor deviation in docs_export using the 'docs' prefix instead of 'drive'. The convention is still readable and nearly uniform throughout.

Tool Count5/5

Seven tools is well-scoped for a read/search/export-focused Drive, Docs, and Gmail integration. Each tool has a distinct purpose, and there are no redundant or filler operations.

Completeness4/5

The surface covers the core read-only lifecycle: searching and fetching Drive metadata, exporting Google-native documents, downloading non-native files, and searching/fetching Gmail messages and threads. Minor gaps remain, such as direct Gmail attachment extraction or fuller Sheets multi-sheet export, but described workarounds (raw .eml, CSV first sheet) make these manageable.

Maintenance

ActivityMaintained
ResponsivenessNo issues