Skip to main content
Glama
nabheet

google-services-mcp

by nabheet

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOOGLE_MCP_DIRNoDirectory where config and tokens live.~/.google-services-mcp
GOOGLE_MCP_CLIENT_IDYesGoogle OAuth client ID, required for authentication.
GOOGLE_MCP_REDIRECT_URINoFull redirect URI override. Takes precedence over REDIRECT_PORT and must exactly match a URI registered for this OAuth client in the Cloud Console.
GOOGLE_MCP_CLIENT_SECRETYesGoogle OAuth client secret, required for authentication.
GOOGLE_MCP_REDIRECT_PORTNoLocal loopback port for OAuth.8787

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
google_account_addA

Start the OAuth consent flow to connect a new Google account. Opens a browser for sign-in.

google_account_listA

List all connected accounts with their email and default status.

google_account_removeB

Disconnect an account and delete its stored tokens.

google_account_set_defaultA

Set which account is used when no account is specified.

google_account_statusA

Show credential configuration, data directory, connected accounts and token health.

google_gmail_sendC

Send an email from the connected account.

google_gmail_listB

List messages from the inbox, newest first, with an optional Gmail search query.

google_gmail_getA

Fetch a single message with parsed headers, body and attachment flags.

google_gmail_threads_listB

List conversation threads, newest first, with an optional Gmail search query.

google_gmail_threads_getB

Fetch a full conversation thread with every message parsed (headers, body, attachments).

google_gmail_modifyC

Add or remove labels on a message (e.g. mark read/unread, star, archive).

google_gmail_replyA

Reply to an existing message inside its thread, preserving threading headers.

google_gmail_list_attachmentsA

List attachments on a message (metadata only, no bytes).

google_gmail_get_attachmentA

Download a single attachment by message ID and attachment ID. Text-like files are returned decoded as text; binary files as base64. Attachments that would produce an inline result over 6 MB are rejected — pass saveToPath to write the raw bytes to a local file instead. The limit is measured on the JSON-RPC frame, not the raw bytes.

google_gmail_drafts_createC

Create a draft email (not sent).

google_gmail_drafts_updateA

Replace the contents of an existing draft (recipients, subject, body, attachments).

google_gmail_drafts_listC

List draft emails.

google_gmail_drafts_getA

Fetch a single draft with parsed headers and body.

google_gmail_drafts_sendB

Send an existing draft email.

google_gmail_drafts_deleteC

Delete a draft email.

google_gmail_labels_listB

List all Gmail labels.

google_gmail_labels_createC

Create a custom Gmail label.

google_gmail_labels_deleteC

Delete a Gmail label.

google_gmail_labels_updateC

Update a Gmail label's name or visibility (partial).

google_gmail_vacation_getC

Get the Gmail vacation (out-of-office) responder settings.

google_gmail_vacation_updateC

Update the Gmail vacation (out-of-office) responder settings.

google_gmail_sendas_listB

List Gmail send-as aliases.

google_gmail_sendas_createC

Create a Gmail send-as alias (subject to domain/verification rules).

google_gmail_filters_listB

List Gmail filters (auto-archive/apply rules).

google_gmail_filters_createC

Create a Gmail filter with criteria and action (e.g. auto-archive).

google_gmail_filters_deleteC

Delete a Gmail filter by ID.

google_gmail_trashB

Move a message to trash.

google_gmail_untrashA

Restore a message from trash.

google_gmail_deleteA

Permanently delete a message (irreversible).

google_calendar_list_calendarsB

List calendars the account can access.

google_calendar_list_eventsB

List upcoming events in a calendar, optionally filtered by time range or query.

google_calendar_create_eventC

Create a timed or all-day event. All-day events use YYYY-MM-DD dates.

google_calendar_create_meetB

Create a calendar event with an attached Google Meet link.

google_calendar_get_eventA

Fetch a single event by ID.

google_calendar_update_eventC

Update fields of an existing event (partial update).

google_calendar_delete_eventB

Delete an event by ID.

google_calendar_respondA

Accept, decline, or mark tentative an event invite by setting the attendee responseStatus. The address must already be on the invite.

google_calendar_createC

Create a secondary calendar with a name, timezone, and description.

google_calendar_updateC

Update a calendar's name, color, timezone, or description (partial).

google_calendar_deleteB

Delete a secondary calendar permanently (destructive).

google_calendar_free_busyA

Query busy intervals across calendars to find free meeting windows. A calendar that could not be read returns errors instead of looking free.

google_drive_listB

List files in Drive, newest first, with an optional query.

google_drive_getB

Get metadata for a single file by ID.

google_drive_uploadA

Create a file in Drive, optionally with text content (blank Google-native file if omitted) or by local file path (binary-safe).

google_drive_updateC

Rename a file and/or replace its content (text or local file path).

google_drive_deleteA

Permanently delete a file from Drive. IRREVERSIBLE — prefer google_drive_trash (recoverable).

google_drive_trashA

Move a file to trash (recoverable via google_drive_restore). Safer than google_drive_delete.

google_drive_restoreB

Restore a trashed file (sets trashed: false).

google_drive_shareB

Share a file with a user/group by email, anyone with the link, or a domain; optionally transfer ownership.

google_drive_list_permissionsC

List who can access a file and with what role.

google_drive_delete_permissionC

Revoke a permission from a file by permission ID.

google_drive_downloadA

Download a file's raw bytes (non-Google-native files). Text content returns decoded text; binary returns base64. Pass saveToPath to write bytes to a local file instead.

google_drive_exportA

Export a Google-native file (Docs/Sheets/Slides/Drawings) to another format (e.g. application/pdf, text/plain, application/vnd.openxmlformats-officedocument.wordprocessingml.document). Pass saveToPath to write the exported bytes to a local file instead.

google_drive_create_folderC

Create a folder in Drive.

google_drive_copyC

Copy a file, optionally with a new name.

google_drive_moveA

Move a file into a folder. Provide removeParentFolderId to also remove it from its current folder (true move); omit to add it to an additional folder.

google_contacts_listC

List the account's contacts with names, emails and phones.

google_contacts_searchB

Search contacts (including non-connected) by name, email or phone.

google_contacts_createC

Create a new contact with a name and optional email/phone/address/organization/photo.

google_contacts_updateB

Update a contact's name, email, phone, address, organization or photo. Multi-valued fields keep their other entries.

google_contacts_getB

Get a contact by resourceName with rich fields (name, email, phone, address, org).

google_contacts_deleteC

Delete a contact by resourceName.

google_tasks_list_listsC

List the account's Google Tasks lists.

google_tasks_listB

List tasks in a task list (default list if not specified).

google_tasks_createB

Create a task, optionally with notes, due date, or as a subtask.

google_tasks_updateC

Update a task's title, notes, due date, or status (partial).

google_tasks_create_listC

Create a new Google Tasks list.

google_tasks_update_listC

Rename a Google Tasks list.

google_tasks_delete_listC

Delete a Google Tasks list (removes its tasks).

google_tasks_completeB

Mark a task as completed.

google_tasks_deleteC

Delete a task.

google_sheets_getB

Get spreadsheet metadata and optionally cell values from a range.

google_sheets_readC

Read cell values from a range as rows of strings.

google_sheets_writeA

Write rows of values starting at a range top-left cell (overwrites in place).

google_sheets_appendB

Append rows below the existing data in a sheet.

google_sheets_createB

Create a new spreadsheet, optionally with pre-made sheet tabs.

google_sheets_batch_updateB

Send raw Sheets batchUpdate requests (add/delete sheets, formatting, etc.).

google_sheets_add_sheetC

Add a new tab (sheet) to a spreadsheet.

google_sheets_delete_sheetA

Permanently delete a tab (sheet) from a spreadsheet.

google_sheets_rename_sheetC

Rename a tab (sheet) in a spreadsheet.

google_sheets_insert_rowsC

Insert blank rows into a sheet at a 0-based row index.

google_sheets_delete_rowsB

Delete rows from a sheet starting at a 0-based row index.

google_sheets_get_named_rangesB

List named ranges on a spreadsheet.

google_sheets_set_named_rangeC

Create a named range over a grid region.

google_docs_getB

Get the full Google Docs document (structural JSON).

google_docs_readB

Read a Google Docs document as plain text.

google_docs_createA

Create a new Google Docs document with a title.

google_docs_insert_textB

Insert text into a document at an index or at the end.

google_docs_replace_textB

Replace all occurrences of a string in a document (template filling).

google_docs_batch_updateC

Send raw Docs batchUpdate requests (styles, tables, headers, etc.).

google_docs_delete_rangeC

Delete a range of content from a document.

google_docs_insert_tableC

Insert an empty table at a model index (a newline is added before it).

google_docs_insert_inline_imageB

Insert an inline image from a public URI and return the created object id.

google_slides_getB

Get a Google Slides presentation (structural JSON).

google_slides_createC

Create a new Google Slides presentation with a title.

google_slides_replace_textB

Replace all occurrences of a string across a presentation (template filling).

google_slides_add_slideB

Add a blank slide to a presentation.

google_slides_delete_slideB

Delete a slide by object ID.

google_slides_get_pageA

Get the contents of a single slide page by object ID.

google_slides_batch_updateC

Send raw Slides batchUpdate requests (create textboxes, shapes, images, style elements, etc.).

google_slides_duplicate_slideC

Duplicate a slide and return the new slide object ID.

google_slides_move_slideB

Move a slide to a new position in the deck by insertion index.

google_slides_create_textboxC

Create a text box on a slide, optionally with initial text. Sizes in points.

google_slides_create_imageC

Insert an image from a URL onto a slide. Sizes in points.

google_youtube_searchB

Search YouTube for videos and return titles, IDs and channels.

google_youtube_uploadB

Upload a video to YouTube. Provide a local file path (preferred) or base64 content. Defaults to private.

google_youtube_get_videoA

Get details, statistics and content details for a video.

google_youtube_update_videoC

Update a video's title, description, tags or privacy status.

google_youtube_my_videosC

List the user's uploaded videos.

google_youtube_list_playlistsC

List the user's YouTube playlists.

google_youtube_create_playlistC

Create a private playlist for the user.

google_youtube_delete_playlistB

Delete a playlist by ID.

google_youtube_add_to_playlistC

Add a video to a playlist.

google_youtube_remove_from_playlistC

Remove a video from a playlist by playlist item ID.

google_youtube_subscriptionsC

List the channels the user subscribes to.

google_youtube_list_commentsC

List comment threads for a video, most recent first.

google_youtube_insert_commentC

Post a top-level comment on a video.

google_youtube_set_comment_moderationC

Hold, reject, or flag a comment as likely spam.

google_youtube_mark_comment_spamC

Mark a comment as spam.

google_forms_getA

Get a Google Form's structure and questions.

google_forms_responsesC

List responses submitted to a form.

google_forms_createC

Create a new Google Form with a title.

google_forms_add_questionC

Append a text or multiple-choice question to the end of a form.

google_forms_update_questionC

Update a question's title, description, options or required flag.

google_forms_delete_questionC

Delete a question from a form by questionId.

google_forms_move_questionC

Reorder a question to a new position in the form.

google_forms_renameC

Update a form's title.

google_forms_deleteB

Permanently delete a form.

google_forms_export_responsesA

Append form responses to Sheets with a __google_forms_response_id column for deduplication by response ID. Existing rows are migrated by answer matching; added questions go after the ID column, while reordered columns fail safely.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 134 tools

Disambiguation3/5

Most tools are scoped to a service plus action, but several pairs overlap: google_sheets_get vs google_sheets_read, google_docs_get vs google_docs_read, and google_calendar_create vs google_calendar_create_event. Descriptions differentiate most cases, but with 134 tools the agent still faces meaningful selection ambiguity.

Naming Consistency4/5

The set consistently uses snake_case with a google_<service>_<action> prefix, making most names predictable. Minor deviations such as google_gmail_threads_list, google_gmail_drafts_create, google_youtube_subscriptions, and google_youtube_my_videos keep it from perfect consistency.

Tool Count1/5

At 134 tools, this is far beyond any well-scoped range; even a multi-service aggregator would typically be split into per-service servers. The enormous surface creates high cognitive load and makes tool selection expensive.

Completeness4/5

Coverage is broad across Gmail, Calendar, Drive, Contacts, Tasks, Sheets, Docs, Slides, YouTube, and Forms, with CRUD/lifecycle operations for most resources. Minor gaps remain, such as YouTube playlist item listing, comment deletion/update, and some Gmail send-as/filter update operations.

Maintenance

ActivityMaintained
ResponsivenessResponsive