gmail-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TOKEN_ENCRYPTION_KEY | Yes | Key used to encrypt token storage. Generate with: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gmail_searchA | Search messages using Gmail's search syntax (e.g. "from:boss is:unread"). Returns compact metadata (id, thread_id, from, subject, date, snippet, labels) — no message bodies. Use gmail_read_message for a full body. |
| gmail_read_messageB | Fetch one message in full, including its plain-text body. |
| gmail_list_recentA | Fast, compact fetch of recent inbox messages for periodic triage. Intentionally returns metadata + snippet only (no bodies) so it's cheap to call on a schedule. This tool does not decide what's "urgent" — it hands back enough signal (subject, sender, snippet, labels like IMPORTANT/STARRED/UNREAD) for the caller to make that judgment. |
| gmail_create_draftA | Create a draft email. This never sends anything. Pass thread_id to draft a reply within an existing thread (the draft will pick up proper In-Reply-To/References headers automatically). |
| gmail_send_draftA | Send a previously created draft. This is a real, irreversible send. There is no tool to send arbitrary text directly — a draft must be created first via gmail_create_draft. |
| gmail_apply_labelA | Attach a custom label to a message (creating it first if needed). Only user-created labels can be applied through this tool — system labels (TRASH, SPAM, INBOX, UNREAD, IMPORTANT, ...) are rejected, so this tool cannot be used to trash, spam, or archive a message. Returns the label id that was applied. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/hjerkic/gmail-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server