Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoHost for SSE server127.0.0.1
MCP_PORTNoPort for SSE server8000
ENABLE_CHATNoEnable Google Chat integration (disabled by default, typically requires Google Workspace account)false
ENABLE_KEEPNoEnable Google Keep integration (disabled by default due to OAuth scope restrictions)false
ENABLE_MEETNoEnable Google Meet integration (disabled by default, requires Meet API enabled)false
ENABLE_GEMININoEnable Gemini media tools (requires GEMINI_API_KEY)false
GEMINI_API_KEYNoAPI key for Gemini media tools (required if ENABLE_GEMINI is true)
ENABLE_APPS_DASHBOARDNoEnable the MCP Apps dashboard UI namespace (opt-in for controlled rollout)false
GEMINI_REASONING_MODELNoModel for Gemini reasoninggemini-3.1-pro-preview
GEMINI_IMAGE_EDIT_MODELNoModel for Gemini image editinggemini-3.1-flash-image-preview
GEMINI_IMAGE_GENERATE_MODELNoModel for Gemini image generationgemini-3.1-flash-image-preview
GEMINI_AUDIO_UNDERSTANDING_MODELNoModel for Gemini audio understandinggemini-3-flash-preview
GEMINI_VIDEO_UNDERSTANDING_MODELNoModel for Gemini video understandinggemini-3-flash-preview

Instructions

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

Unified Google Workspace MCP server with Gmail, Calendar, Drive, Docs, Sheets, Tasks, People, Forms, Slides, and optional Meet/Keep/Chat/Gemini integrations.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
calendar_get_calendar_digestA

Summarize the user's upcoming schedule: events on the primary calendar from now until the given number of days ahead, with recurring events expanded. Use it for "what is on my calendar" and pending invitations; for another calendar or a specific window use calendar_search_events. Returns events (compact, earliest first), count, account_timezone, and requires_response: the events whose invitation the user has not answered yet, which calendar_respond_to_event can answer.

calendar_search_eventsA

Find events on one calendar in a time window, given as a range_preset or explicit time_min/time_max. For the user's upcoming week plus pending invitations use calendar_get_calendar_digest, and for full details of known events use calendar_read_events. Returns compact events (id, title, start and end in the account time zone, all_day, status, organizer, my_response, requires_response, meeting_url, location, is_recurring, updated_at), count, next_page_token, account_timezone and the effective_time_min/effective_time_max that were applied.

call_toolB

Call a tool by name with the given arguments.

Use this to execute tools discovered via search_tools.

commit_workspace_actionA

Run the call prepared with prepare_workspace_action, with exactly the bound arguments, at most once; this is the step that carries out a consequential action, so call it only after the user has seen the preview and agreed. A client that can ask the user directly is still asked here. A token that is invalid, expired or another user's is rejected. Returns status 'committed' with tool and the bound tool's result, that tool's error result if it failed, or its confirmation question if it asks one.

connect_google_workspaceA

Connect the user's Google account, or add services to an existing connection, so Workspace tools can run. In local mode (no remote OAuth callback configured) it runs Google's browser consent flow on the server machine and waits up to 180 seconds by default, unless the stored grant already covers every enabled service. In remote mode it returns a one-time authorization_url, valid for 10 minutes, for the user to open. Returns state, connected and granted_capabilities locally, or authorization_url, expires_at and requested_scopes remotely; after remote consent call get_google_connection_status.

disconnect_google_workspaceA

Disconnect the calling user's Google account: revoke the grant at Google and delete this user's stored credentials; other users' connections are untouched. The user is asked to confirm first, and the call returns status 'cancelled' if declined. Returns status 'disconnected' with grant_revoked and revocation_error; the stored credentials are deleted even when revocation fails. Reconnect later with connect_google_workspace.

drive_list_filesA

Search or list Drive files in My Drive, shared with the user and in shared drives, by folder, kind, modification time, full text or a raw Drive query, all combined with AND. For a quick name lookup across Drive, contacts and Gmail at once use search_workspace, and for one known file use drive_get_file. Returns files (id, name, kind, mime_type, modified_at, parent_ids, owners, web_url, trashed, can_edit), count and next_page_token for the next page; trashed files are included unless the query says trashed = false.

get_google_connection_statusA

Check whether the calling user has a stored Google connection and which services it grants, and what this server offers, without calling Google. Use it before connect_google_workspace, after a consent finishes, or to learn the active tool tier; for remote users tools/list already reflects the current grants, so list tools again after consent. Returns state (connected, refresh_required, missing_scopes, reauth_required, not_connected or error), connected, granted_capabilities, granted_scopes, expires_at, an action hint when the user must reconnect, and server (tool_tier, enabled_namespaces, optional_namespaces, oauth_capabilities, file_inputs, tool_search).

gmail_get_mail_digestA

List the mail received and sent in a recent time window (default the last 3 days) as one feed with snippets, with no category or importance filtering; drafts, Spam and Trash are left out. Use it to catch up on recent mail; use gmail_search_emails to find mail by sender, subject or any Gmail query, and gmail_check_mail_updates to poll for new mail since a saved checkpoint. Returns messages (id, thread_id, from, subject, date, snippet, unread, has_attachments, direction 'received' or 'sent'), count, window and account_timezone; there is no next page. Read bodies with gmail_read_emails.

gmail_search_emailsA

Find Gmail messages, or with group_by_thread whole conversations, by a Gmail search query, labels (names or IDs) and helper filters (sender, recipient, subject, unread, attachments, age), ANDed together, a page at a time; Spam and Trash are left out unless include_spam_trash is true. Use gmail_get_mail_digest for a plain recent feed and gmail_check_mail_updates to poll for new mail since a saved checkpoint. Returns messages (id, thread_id, from, subject, date, snippet, unread, has_attachments, is_draft, is_sent) or threads (the same plus message_count), next_page_token, result_size_estimate and effective_query. Read bodies with gmail_read_emails or gmail_get_thread.

prepare_workspace_actionA

Preview a consequential call (sending mail, sharing, permanent deletion, forwarding, a bulk change) and bind it to a one-time commit token, for clients that cannot ask the user directly: a direct call of such a tool fails with confirmation_required and names this tool as the next step. Nothing runs here. Returns status 'prepared', action, preview (the exact text to show the user before committing), commit_token, expires_at (epoch seconds, 10 minutes ahead by default) and next_action; a call that needs no consent fails with invalid_input naming the direct call.

resolve_workspace_resourceA

Turn a resource URI from an earlier result's resource handle back into a handle with current metadata. Drive files are re-read for a fresh name, mime_type, modified_at (account time zone), web_url and etag, and Gmail messages are checked to still exist; threads, events, contacts and tasks are only parsed, without a Google call. Returns resource and verified (true when Google confirmed the resource exists); pass resource.id to the matching service tool for content.

search_toolsB

Search for tools using natural language.

Returns matching tool definitions ranked by relevance, in the same format as list_tools.

search_workspaceA

Search Drive, the user's saved contacts and Gmail with one query, for a first look when the right service is unclear. Drive matches names and content (name matches first, no shared drives); Gmail takes Gmail query syntax and each hit is read in one metadata request. For full queries and paging use drive_list_files, people_search_contacts or gmail_search_emails. Returns matches (service, id, kind, resource; Drive name, mime_type, modified_at, web_url; contact name, email; Gmail thread_id, subject, from, date, snippet, unread), count, account_timezone and errors per failed service; the call fails only when every service fails.

tasks_tasks_digestA

Triage one task list's open tasks into overdue, upcoming and unscheduled work; it reads the default list unless tasklist_id names another one from tasks_list_tasklists. For completed tasks or custom filters use tasks_list_tasks. Returns overdue (due before today in the account time zone), upcoming (due from today through the window, soonest first) and unscheduled (no due date), each a list of tasks shaped as in tasks_list_tasks, plus count (tasks in the three groups), tasklist_id (the list's real ID when Google reports it), window_days and account_timezone.

Prompts

Interactive templates invoked by user choice

NameDescription
gmail_compose_email_prompt
gmail_reply_email_prompt
gmail_summarize_inbox_prompt

Resources

Contextual data attached and managed by the client

NameDescription
calendar_today
calendar_week
drive_recent_files
drive_shared_drives
inbox_summary
gmail_labels
Prefab Renderer (file_manager)

TDQS

A3.8/5.0

Scored across 15 tools

Disambiguation4/5

The service-specific search/digest tools are explicitly differentiated in their descriptions, and the prepare/commit/connect/disconnect/status tools have distinct roles. Minor overlap remains between search_tools, search_workspace, and the per-service search tools, but the descriptions generally steer selection well.

Naming Consistency3/5

Most names are snake_case with service prefixes, but conventions are mixed: doubled prefixes appear in calendar_get_calendar_digest and tasks_tasks_digest, while generic meta-tools such as search_tools, call_tool, and get_google_connection_status break the verb_noun service pattern. The set is still readable overall.

Tool Count4/5

Fifteen tools is a reasonable size for a tiered Google Workspace surface and avoids an unwieldy list. A few tools are meta or action scaffolding rather than direct domain operations, but each still earns a role.

Completeness2/5

The surface is heavily weighted toward read/search and connection management, with no create, update, delete, send, or share operations exposed directly. Several tools are referenced but absent, including gmail_read_emails, drive_get_file, calendar_read_events, tasks_list_tasks, and people_search_contacts, leaving many common workflows as dead ends.

Maintenance

ActivityActive
ResponsivenessNo recent community issues