Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GMAIL_CLIENT_IDYesOAuth 2.0 Client ID from a Google Cloud OAuth Desktop app client.
GMAIL_ACCESS_LEVELNoControls what the server is allowed to do. One of READONLY, BASIC, or FULL. READONLY is the default and only allows reading/searching; BASIC adds drafts; FULL adds sending and organizing mail.READONLY
GMAIL_CLIENT_SECRETYesOAuth 2.0 Client Secret from a Google Cloud OAuth Desktop app client.
GMAIL_REFRESH_TOKENYesLong-lived refresh token obtained from the one-time gmail-mcp-authorize consent flow.

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
get_profileA

Get the authorized Gmail account's address and message/thread totals.

list_labelsA

List every label on this account (system labels like INBOX/SENT/TRASH plus user labels), with their IDs.

Label IDs from here are what modify_message_labels and search_messages' label_ids argument expect.

search_messagesA

Search messages using Gmail's own search syntax.

query accepts exactly what you'd type into the Gmail search box: from:, to:, subject:, after:YYYY/MM/DD, before:YYYY/MM/DD, has:attachment, is:unread, is:starred, label:name, and boolean operators (OR, -exclude, quoted "exact phrases"). Leave query empty to list recent mail instead. Each result includes the extracted plain-text body, not just a snippet.

get_messageB

Get one message in full: headers, labels, and its plain-text body.

get_threadB

Get an entire conversation thread as an ordered list of messages.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation4/5

The five tools cover distinct operations: account info (get_profile), label enumeration (list_labels), search (search_messages), single-message retrieval (get_message), and thread retrieval (get_thread). The only wrinkle is that list_labels' description points at a modify_message_labels tool that does not exist, which could send an agent hunting for a phantom tool.

Naming Consistency5/5

Every tool follows a clean verb_noun snake_case pattern (get_profile, list_labels, search_messages, get_message, get_thread). No mixed conventions or stray casing.

Tool Count4/5

Five tools is a coherent, tightly scoped read-only surface with no redundant entries. It is on the lean side for a full Gmail integration, but nothing feels padded or wasteful.

Completeness2/5

The surface is read-only: no send, draft, reply, trash, archive, or label-modification operations, and Gmail's primary action (sending mail) is entirely absent. Worse, list_labels references a modify_message_labels tool that is not exposed, a dead end an agent will hit.