Mariana Google MCP
Mariana Google MCP is a safety-first server that gives Claude Code read and limited write access to Gmail, Google Calendar, and Google Contacts across multiple Google accounts.
Authentication & Account Management
Authenticate multiple Google accounts via OAuth and assign named aliases (e.g. "primary", "work")
Check connection health and token status for all configured accounts
Gmail
Search, read, and list messages using Gmail query syntax
Create draft emails (does not send them)
Manage labels: list, create (including nested), apply, and remove
Create filter rules to automate organization
Soft-delete messages by moving them to a "To Be Deleted" label (does not permanently delete)
Google Calendar
List, search, and view detailed information for events
Create events without sending invites by default
Update existing events without notifying attendees by default
Soft-delete events by prepending "DELETE - " to the title (does not actually delete)
Check free/busy availability for a date range
Google Contacts
Search contacts by name, email, or phone
List contacts, optionally filtered by contact group
Safety Features
No emails are ever sent automatically; drafts require manual action in Gmail
No hard deletes — soft-delete patterns used for both Gmail and Calendar
All write/mutation operations are logged to an append-only JSONL action log for auditing
OAuth tokens stored locally using email hashes for privacy
Provides email management capabilities including searching messages, reading full content, listing labels, creating drafts, and soft-deleting via labels, with safety-first defaults that prevent sending emails or permanent deletion.
Enables calendar event management including listing, searching, creating, and updating events with availability checking, featuring safety constraints that prevent automatic invite notifications and use title prefixing for soft-deletion instead of permanent removal.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mariana Google MCPdraft an email to john about tomorrow's meeting"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mariana-google-mcp
A custom MCP (Model Context Protocol) server that gives Claude Code access to Gmail, Google Calendar, and Google Contacts — with safety-first defaults.
Design Philosophy
This server is built for an operator who wants AI to help manage their Google workspace without risk of accidental damage:
No sending email. You can draft, but sending requires manual action in Gmail.
No deleting your mail. Gmail uses a "To Be Deleted" label (soft-delete). Calendar prepends "DELETE - " to event titles. You review and confirm in the Google UI. The single exception is your own unsent drafts (
gmail_delete_draft), and that defaults to Trash — recoverable for 30 days — with permanent removal behind an explicit flag.Every mutation is logged. An append-only JSONL action log records every write operation with timestamps, tool name, account, and summary.
Multi-account support. Manage personal and work accounts with named aliases.
Related MCP server: gmail-drive-mcp-server
Setup
Easiest path: paste this one line into Claude Code and it will run the entire setup for you, including guiding you through the Google Cloud clicks:
Fetch https://raw.githubusercontent.com/marianasmall/mariana-google-mcp/main/SETUP-PROMPT.md and follow the instructions in it.
See SETUP-PROMPT.md for what it does — including an optional phase that unifies triage across multiple accounts. The manual steps below cover the same ground.
1. Google Cloud Project
Go to Google Cloud Console
Create a new project (or use an existing one)
Enable these APIs:
Gmail API
Google Calendar API
People API (for Contacts)
Create OAuth 2.0 credentials:
Application type: Desktop app
Download the client ID and client secret
2. Install and Build
git clone https://github.com/marianasmall/mariana-google-mcp.git
cd mariana-google-mcp
npm install
npm run build3. Add to Claude Code
Add this to your ~/.claude.json under mcpServers:
{
"mcpServers": {
"mariana-google-mcp": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mariana-google-mcp/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "your-client-secret"
}
}
}
}Replace /path/to/ with the actual path to your clone, and fill in your OAuth credentials.
4. Authenticate
After restarting Claude Code, run the google_auth tool. It will open a browser window for OAuth consent. Once authorized, your token is stored locally and refreshed automatically.
Available Tools (20)
Authentication & Status
Tool | Description |
| Authenticate a Google account via OAuth browser flow |
| Check connection health for all configured accounts |
Gmail (9 tools)
Tool | Description |
| Search messages using Gmail query syntax |
| Read a specific message by ID (full content) |
| List all Gmail labels/folders |
| Create a draft email — plain text or rich HTML body, optional file attachments, optional reply-in-thread via |
| Create a new label (supports nesting with |
| Apply a label to one or more messages |
| Remove a label from one or more messages |
| Create a filter rule (match criteria → actions) |
| Soft-delete: move messages to a "To Be Deleted" label |
| List current drafts with IDs, subjects, recipients, thread |
| Revise a draft in place, preserving its thread and threading headers |
| Remove a draft — Trash by default (30-day recovery), permanent on request |
Calendar (7 tools)
Tool | Description |
| List upcoming calendar events |
| Search events by keyword |
| Get full details of a specific event |
| Create an event (does NOT send invites by default) |
| Modify an existing event (does NOT notify attendees by default) |
| Soft-delete: prepend "DELETE - " to event title |
| Check free/busy status for a date range |
Contacts (2 tools)
Tool | Description |
| Search contacts by name, email, or phone |
| List contacts, optionally filtered by group |
Multi-Account Support
You can authenticate multiple Google accounts with friendly names:
google_auth account_name: "primary"
google_auth account_name: "newsletters"
google_auth account_name: "work"Most tools accept an optional account parameter. If omitted, they use the default account. Use google_status to see all configured accounts and their health.
Configuration Files
All configuration is stored in ~/.config/mariana-google-mcp/:
File | Purpose |
| Account registry (names, email hashes, defaults) |
| OAuth tokens per account (auto-refreshed) |
| Append-only log of all mutations |
Tokens are stored by email hash, not plaintext email, for a layer of indirection.
Action Log
Every write operation (drafts, calendar creates/updates, soft-deletes) is logged to ~/.config/mariana-google-mcp/actions.jsonl in this format:
{"timestamp":"2026-04-03T10:30:00.000Z","tool":"gmail_draft","account":"primary","summary":"Draft created: subject='Meeting follow-up'"}The log is append-only and never modified by the server. Review it anytime to audit what Claude has done.
Fork and Use
To use this with your own Google account:
Fork this repo
Create your own Google Cloud project and OAuth credentials (see Setup above)
Build and point your Claude Code config at your fork's
dist/index.jsRun
google_authto authenticate
No code changes needed — all account-specific data lives in config files and environment variables.
Tech Stack
TypeScript
@modelcontextprotocol/sdk— MCP protocol implementationgoogleapis— Google API clientgoogle-auth-library— OAuth2 token managementzod— Input validation
License
MIT
Available Tools
16 toolscalendar_availabilityC
Check free/busy status for a date or date range.
| Name | Required | Description | Default |
|---|---|---|---|
| date_start | Yes | Start date/time (ISO 8601) | |
| date_end | No | End date/time (ISO 8601, defaults to end of start day) | |
| calendar_id | No | Calendar ID | primary |
| account | No | Account name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails to specify critical details: the return format (boolean availability vs. time blocks), whether the operation is read-only, or how multi-calendar queries behave. It mentions 'free/busy' but doesn't explain what data structure is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of a single, efficient sentence with no redundant words or filler. It is front-loaded with the action verb ('Check') and immediately specifies the target resource and scope, demonstrating optimal information density for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is insufficiently complete. It fails to describe the return value format (essential for a query tool without output schema documentation) and omits behavioral context such as default calendar selection behavior or multi-account handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, establishing a baseline of 3. The description loosely references 'date or date range' which maps to date_start and date_end, but adds no additional semantic context for 'calendar_id' or 'account' parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the core function ('Check free/busy status') and scope ('for a date or date range'), distinguishing it from sibling tools like calendar_create or calendar_update. However, it does not explicitly differentiate from calendar_get or calendar_search, which might also query date ranges but return full event details rather than availability status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives (e.g., when to use availability check vs. searching events), nor does it mention prerequisites like authentication requirements or necessary permissions despite the presence of an 'account' parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_createA
Create a calendar event. Does NOT send invites by default.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Event title | |
| start | Yes | Start time (ISO 8601, e.g. '2026-04-10T14:00:00-07:00') | |
| end | Yes | End time (ISO 8601) | |
| description | No | Event description | |
| location | No | Event location | |
| attendees | No | Attendee email addresses | |
| send_invites | No | Send invite emails (default: false) | |
| calendar_id | No | Calendar ID | primary |
| account | No | Account name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully highlights the critical default behavior regarding invite sending, but omits other important behavioral traits such as idempotency, conflict handling, or what the tool returns upon success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two highly efficient sentences. The first establishes purpose immediately; the second delivers critical behavioral information about invite defaults. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema (9 parameters, 100% documented) and lack of output schema, the description adequately covers the essential creation functionality and highlights the non-obvious invite behavior. It would benefit from mentioning the return value (e.g., created event ID) since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, establishing a baseline of 3. The description reinforces the send_invites parameter's default behavior but does not add additional semantic context (format details, examples, or relationships) beyond what the well-documented schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Create a calendar event' with a clear verb and resource. It distinguishes itself from sibling tools (calendar_update, calendar_get, calendar_list) by focusing on creation rather than modification or retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by highlighting that it 'Does NOT send invites by default,' alerting agents to set send_invites=true if invitations are needed. However, it lacks explicit guidance on when to use this versus calendar_update or prerequisites like checking calendar_availability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_flag_deleteA
Soft-delete: prepend 'DELETE - ' to event title. Does NOT actually delete the event.
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Event ID to flag | |
| calendar_id | No | Calendar ID | primary |
| account | No | Account name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and successfully discloses the non-destructive nature and exact string manipulation performed. Missing idempotency details (e.g., double-prefixing risk) and return value description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: first defines the mechanism, second clarifies the safety constraint. Perfectly front-loaded with the most critical distinction (soft vs hard delete).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple flagging operation with no annotations. Covers the essential behavioral contract, though return value specification would strengthen completeness given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented in the schema. The description focuses on behavior rather than repeating parameter documentation, which is appropriate given the comprehensive schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states the specific action (soft-delete by prepending 'DELETE - ' to title) and clearly distinguishes from actual deletion, differentiating it from potential hard-delete siblings and general update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides crucial behavioral context by clarifying 'Does NOT actually delete the event,' which guides the agent away from using this when true deletion is needed. Lacks explicit guidance on when to prefer this over calendar_update or if a hard-delete alternative exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_getA
Get full details of a specific calendar event.
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Event ID | |
| calendar_id | No | Calendar ID | primary |
| account | No | Account name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. The verb 'Get' correctly implies a read-only operation, but the description omits error behavior (e.g., event not found), what constitutes 'full details' (attendees, attachments, recurrence rules), or any rate limiting concerns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence of nine words with no redundancy. It front-loads the essential information (action + resource) and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter read operation with 100% schema coverage and no nested objects, the description is sufficient. While there is no output schema, the phrase 'full details' provides minimal compensation; however, the agent would benefit from knowing the specific fields returned (attendees, location, etc.).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, establishing a baseline score of 3. The description adds no additional parameter semantics (e.g., it doesn't explain that 'calendar_id' defaults to 'primary' or that 'account' specifies which authorized Google account to query), but it doesn't need to given the schema completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('calendar event') with scope ('full details', 'specific'). It implicitly distinguishes from siblings like calendar_list or calendar_search by emphasizing 'specific' event retrieval, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by requiring an 'event_id' to get 'full details', suggesting this is for targeted lookups rather than browsing. However, it lacks explicit guidance on when to use this versus calendar_search (for finding events without IDs) or calendar_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_listB
List upcoming calendar events.
| Name | Required | Description | Default |
|---|---|---|---|
| days_ahead | No | Days to look ahead (default 7) | |
| calendar_id | No | Calendar ID (default: primary) | primary |
| account | No | Account name (default: primary) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full disclosure burden but offers minimal behavioral context. It mentions 'upcoming' implying future events, but omits: result ordering, pagination limits, whether cancelled events are included, time zone handling, or read-only safety assurances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely efficient at four words. Front-loaded with imperative verb. No redundant or filler text; every word earns its place despite the brevity causing information gaps elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimum viable for a 3-parameter list operation with complete schema coverage. However, significant gaps remain: no output schema means return value format should be described (but isn't), and the absence of annotations leaves safety/behavioral traits undocumented. Adequate but clearly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all three parameters (days_ahead, calendar_id, account). The description adds minimal semantic value beyond the schema, merely framing the operation as 'upcoming' which loosely aligns with days_ahead. Baseline score appropriate given schema completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb (List) and resource (calendar events) with temporal scope (upcoming). However, it fails to differentiate from sibling tools like calendar_search (query-based) or calendar_get (specific event retrieval), which could confuse agent selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this versus calendar_search for filtering, calendar_get for specific events, or calendar_availability for free-busy checks. The agent must infer from the parameter schema alone that this is for time-ranged listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_searchC
Search calendar events by keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword | |
| time_min | No | Start of range (ISO 8601) | |
| time_max | No | End of range (ISO 8601) | |
| calendar_id | No | Calendar ID | primary |
| account | No | Account name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but offers minimal information. While 'Search' implies a read-only operation, the description does not confirm this, nor does it disclose case-sensitivity behavior, search scope (titles vs. descriptions vs. attendees), rate limits, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence of five words that front-loads the primary action. While admirably brief, it may be overly concise given the tool's complexity (5 parameters, no annotations, no output schema), leaving significant capability (time filtering, multi-account support) unmentioned. No wasted words, but potentially insufficient length for the context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich parameter set (5 parameters including time ranges and calendar/account selection) and the absence of annotations or output schema, the description is incomplete. It exclusively describes the keyword search capability while failing to acknowledge time range filtering, calendar ID specification, or multi-account support, which are critical for effective invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, documenting all five parameters (query, time_min, time_max, calendar_id, account) including their types and formats. The description mentions 'by keyword' which aligns with the 'query' parameter, but adds no additional semantic context (e.g., query syntax, time range logic) beyond what the schema already provides. Baseline 3 is appropriate given the complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the core action ('Search') and resource ('calendar events') with the specific mechanism ('by keyword'). However, it does not explicitly differentiate this tool from siblings like 'calendar_get' (retrieve by ID) or 'calendar_list' (list all events), which would help an agent select the correct tool when multiple options exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not indicate whether this is the preferred method for finding events by title, or when to use 'calendar_get' instead, nor does it mention prerequisites like authentication or calendar access permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calendar_updateA
Modify an existing calendar event. Does NOT notify attendees by default.
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | Event ID to update | |
| title | No | New title | |
| start | No | New start time (ISO 8601) | |
| end | No | New end time (ISO 8601) | |
| description | No | New description | |
| location | No | New location | |
| send_updates | No | Notify attendees (default: false) | |
| calendar_id | No | Calendar ID | primary |
| account | No | Account name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It successfully communicates the critical side effect regarding notification defaults but omits other important behavioral details such as partial vs. full replacement semantics, error handling for invalid event_ids, or idempotency guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two highly efficient sentences. The first states the purpose; the second delivers a critical behavioral warning. Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter mutation tool with no output schema and no annotations, the description covers the essential action and safety-critical notification behavior but remains minimal. It adequately serves the complexity level but would benefit from mentioning error conditions or return value structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, establishing a baseline of 3. The description adds contextual meaning to the 'send_updates' parameter by emphasizing the user impact of the default (false) setting, but does not add significant semantic value beyond what the schema already documents for the other 8 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the core action ('Modify') and resource ('existing calendar event'), with 'existing' effectively distinguishing it from the sibling 'calendar_create'. However, it does not explicitly name sibling alternatives or clarify partial vs. full update semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a critical usage hint regarding attendee notifications ('Does NOT notify attendees by default'), which guides the agent on when to explicitly set the 'send_updates' parameter. However, it lacks explicit guidance on when to use this tool versus 'calendar_create' or other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_listC
List Google Contacts, optionally filtered by contact group.
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | Contact group name to filter by | |
| account | No | Account name (default: primary) | |
| max_results | No | Max results (default 25) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure, yet it omits critical details: it does not describe what contact fields are returned, whether pagination tokens are used beyond the max_results limit, or the authentication scope required. The phrase 'optionally filtered' implies group omission returns all contacts, but this is inferred rather than explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 9-word sentence that front-loads the core action ('List Google Contacts') and efficiently qualifies it with the optional filter clause. There is no redundant or wasted text, though extreme brevity comes at the cost of the completeness expected for a tool lacking an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description inadequately prepares an agent for invocation. It fails to describe the return structure (e.g., whether it returns full contact objects or summaries), error conditions (invalid group names), or the default behavior when all optional parameters are omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'optionally filtered by contact group,' which aligns with the 'group' parameter in the schema. However, with schema description coverage at 100%, the schema already documents all three parameters (group, account, max_results). The description adds no semantic depth regarding the 'account' parameter (primary vs. secondary accounts) or the pagination behavior implied by 'max_results.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'List Google Contacts, optionally filtered by contact group,' providing a clear verb (List) and resource (Google Contacts). However, it fails to distinguish from the sibling tool 'contacts_search,' leaving ambiguity about whether this tool performs text-based searching or only group-based enumeration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'contacts_search.' It does not specify prerequisites (such as authentication state) or exclusion criteria (e.g., when filtering by group is insufficient and search is required).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts_searchB
Search Google Contacts by name, email, or phone number.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (name, email, or phone) | |
| account | No | Account name (default: primary) | |
| max_results | No | Max results (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It identifies searchable fields but omits critical behavioral details: return format, partial vs exact matching semantics, case sensitivity, rate limits, or auth requirements. The term 'Search' implies read-only, but this isn't explicitly confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of nine words with no filler. Information is front-loaded and immediately actionable. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple search tool with complete schema coverage, but minimal given the lack of output schema and annotations. Missing guidance on what the tool returns (contact objects, IDs, etc.) and how to interpret results. Meets minimum viability but leaves operational gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, establishing a baseline of 3. The description mirrors the schema's explanation of what the 'query' parameter accepts (name, email, phone) without adding syntax details, format examples, or clarifying the 'account' parameter's expected values beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (search) and resource (Google Contacts) with specific fields (name, email, phone number). Implicitly distinguishes from sibling 'contacts_list' by emphasizing search criteria, though it doesn't explicitly contrast the two tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context through the search fields mentioned (name, email, phone), but lacks explicit guidance on when to use this versus 'contacts_list' or other contact-related operations. No prerequisites or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gmail_draftA
Create a draft email. Does NOT send — the draft appears in Gmail for manual review and sending.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient email address | |
| subject | Yes | Email subject | |
| body | Yes | Email body (plain text) | |
| cc | No | CC recipients (comma-separated) | |
| bcc | No | BCC recipients (comma-separated) | |
| account | No | Account name (default: primary) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Successfully discloses key behavioral traits: persistence ('appears in Gmail'), non-immediate delivery ('manual review'), and write-operation nature. Could improve by mentioning return values or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. Front-loaded with action verb, second sentence provides critical behavioral constraint. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Appropriate for complexity level with rich input schema. Covers creation workflow and persistence. Minor gap: no mention of return value (draft ID) or success indication, which would be helpful given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline applies. Description does not add parameter-specific guidance (e.g., format examples for comma-separated fields), but schema adequately documents all 6 parameters including the default 'primary' account.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Create') and resource ('draft email') with explicit scope limitation ('Does NOT send'). The clarification distinguishes it from sending operations and sibling tools like gmail_read or gmail_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly establishes the workflow (creates draft for manual review) and explicitly states what it does not do (send immediately). Lacks explicit naming of sibling alternatives (e.g., if a send tool exists), but provides sufficient context for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gmail_list_labelsB
List all Gmail labels/folders for an account.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Account name (default: primary) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'List' implies a read-only operation, the description fails to mention authentication requirements, rate limits, pagination behavior, or the structure/format of returned label data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of a single efficient sentence with no redundant words. It is appropriately front-loaded with the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool, the description meets minimum viability by identifying the core function. However, given the lack of output schema and annotations, gaps remain regarding return format and behavioral constraints that a more complete description would address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage for the single 'account' parameter, the schema already documents the default behavior. The description adds no parameter-specific context, but baseline 3 is appropriate since the schema is self-sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (List) and resource (Gmail labels/folders) with scope (all, for an account). It implicitly distinguishes from sibling tools like gmail_search or gmail_read by specifying 'labels/folders' rather than messages/emails, though it does not explicitly contrast with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., when to list all labels vs searching for specific messages), nor does it mention prerequisites like authentication requirements or default account behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gmail_move_to_deleteA
Soft-delete: move messages to a 'To Be Deleted' label. Does NOT delete or trash messages.
| Name | Required | Description | Default |
|---|---|---|---|
| message_ids | Yes | Array of Gmail message IDs to move | |
| account | No | Account name (default: primary) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full disclosure burden. It successfully clarifies the soft-delete semantics (label-based, reversible, distinct from Gmail's trash mechanism) and manages expectations about message safety. It could improve by stating whether the 'To Be Deleted' label is auto-created or must exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The first sentence front-loads the core mechanism (soft-delete via label movement). The second sentence delivers a critical safety constraint. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool without output schema, the description adequately covers the essential non-obvious behavior (soft vs hard deletion). It could enhance completeness by noting whether the operation is idempotent or if the target label is created automatically.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, documenting both message_ids and account parameters. The description mentions 'messages' generically but adds no specific syntax guidance, format examples, or semantic constraints beyond what the schema already provides. Baseline 3 is appropriate when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('move messages'), the destination ('To Be Deleted' label), and the nature of the operation ('Soft-delete'). It clearly distinguishes from permanent deletion and distinguishes from siblings like gmail_read or gmail_search by specifying this is a labeling/mutation action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear negative guidance ('Does NOT delete or trash messages') which signals when NOT to use this tool. However, it stops short of explicitly naming which sibling tool to use for permanent deletion or trashing, though it implies this is a preliminary step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gmail_readA
Read a specific Gmail message by ID. Returns full message content.
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes | Gmail message ID | |
| account | No | Account name (default: primary) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Adds valuable behavioral context by stating 'Returns full message content' (disclosing output granularity). However, missing auth requirements, rate limits, and whether this operation marks messages as read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: first states operation, second states return value. Front-loaded and appropriately sized for tool complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple 2-parameter structure, 100% schema coverage, and lack of output schema, the description adequately covers core functionality by mentioning the return value. Would benefit from auth scope or error handling mention, but sufficient for a read-only retrieval operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so schema already documents both parameters. Description references 'by ID' acknowledging the required parameter, but doesn't add syntax details, format constraints, or semantic meaning beyond what the schema provides. Baseline 3 appropriate for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verb ('Read'), resource ('Gmail message'), and access pattern ('by ID'). Clearly distinguishes from sibling tools like gmail_search (which finds messages) and gmail_draft (which creates).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies prerequisite (needing a message_id) by specifying 'by ID', suggesting prior use of gmail_search. However, lacks explicit guidance on when to use vs. alternatives or prerequisite steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gmail_searchA
Search Gmail messages. Uses Gmail search syntax (e.g. 'from:name subject:topic').
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Gmail search query | |
| account | No | Account name (default: primary) | |
| max_results | No | Max results (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only discloses query syntax behavior (the example). It fails to state whether this is read-only, what the return format is (message IDs vs snippets), pagination behavior beyond max_results, or any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: first establishes purpose, second provides critical syntax guidance with example. Perfectly front-loaded and appropriately sized for the tool complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for the 3-parameter input schema, but since no output schema exists, the description should ideally mention what gets returned (e.g., message IDs, snippets) to complete the contract. Missing this creates ambiguity given the sibling gmail_read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema coverage is 100%, the description adds significant value by providing the concrete example 'from:name subject:topic', which clarifies the expected syntax for the 'query' parameter beyond the generic schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the specific verb 'Search' and resource 'Gmail messages', immediately distinguishing it from siblings like gmail_read (retrieve specific), gmail_draft (create), and gmail_move_to_delete (delete).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions 'Uses Gmail search syntax' which implies usage for filtering scenarios, but lacks explicit guidance on when to use versus gmail_read or whether search results need to be passed to other tools. No 'when-not-to-use' or prerequisite guidance provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_authA
Authenticate a Google account. Opens a browser for OAuth consent. Use this to add a new account or re-authenticate an existing one.
| Name | Required | Description | Default |
|---|---|---|---|
| account_name | No | Friendly name for this account (e.g. 'primary', 'newsletters') | primary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It successfully reveals the interactive nature ('Opens a browser') and dual capability (new vs. re-authentication). However, it omits details about token storage/persistence, error handling, blocking behavior, or OAuth scopes requested.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, optimally structured: purpose first, behavioral mechanism second, usage context third. Every sentence conveys essential information without redundancy. Front-loaded with the core verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Appropriately complete for a single-parameter authentication utility without output schema. Covers what the tool does, how it behaves, and when to invoke it. Minor gap: could explicitly state that authentication is required before using the sibling calendar/contacts/gmail tools to establish the dependency chain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (account_name fully documented with examples). The description does not add additional parameter semantics, but baseline 3 applies since the schema already provides complete coverage. No contradiction or elaboration present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Authenticate'), resource ('Google account'), and mechanism ('Opens a browser for OAuth consent'). It effectively distinguishes this prerequisite tool from its operational siblings (calendar, gmail, contacts tools) by focusing solely on account authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('add a new account or re-authenticate an existing one'), providing clear scenarios for invocation. However, it doesn't explicitly clarify that this should be used as a prerequisite before invoking the sibling Google tools, though this is somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_statusA
Check connection health for all configured Google accounts. Shows token status and last action.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It successfully indicates the tool surfaces 'token status and last action', but omits details on failure modes, whether checks are live vs cached, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero redundancy: the first declares the action, the second declares the output. Every word earns its place and the critical information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter diagnostic tool without annotations or output schema, the description adequately compensates by indicating what information is returned (token status, last action), though it could specify the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema contains zero parameters, triggering the baseline score of 4. The description implicitly confirms no inputs are required by stating it checks 'all configured' accounts, consistent with the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Check connection health') and scope ('for all configured Google accounts'), clearly positioning this as a diagnostic tool distinct from its operational siblings like calendar_create or gmail_read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the diagnostic nature implies use during troubleshooting or initial setup, the description lacks explicit when-to-use guidance, prerequisites, or comparison to the google_auth sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
16 tool updates
v1.0.0- First observed
calendar_availability - First observed
calendar_create - First observed
calendar_flag_delete - First observed
calendar_get - First observed
calendar_list - First observed
calendar_search - First observed
calendar_update - First observed
contacts_list - First observed
contacts_search - First observed
gmail_draft - First observed
gmail_list_labels - First observed
gmail_move_to_delete - First observed
gmail_read - First observed
gmail_search - First observed
google_auth - First observed
google_status
TDQS
Scored across 16 tools
Tools are cleanly separated by domain (calendar_, contacts_, gmail_, google_) with distinct actions within each domain. No overlapping functionality between tools like calendar_flag_delete and gmail_move_to_delete, as prefixes clearly indicate target services.
Consistent snake_case throughout with clear resource_action pattern (e.g., calendar_create, gmail_read, contacts_search). All 16 tools follow the same naming convention without mixing styles or verb forms.
16 tools is slightly above the ideal 3-15 range but reasonable given it covers three distinct Google services (Calendar, Gmail, Contacts) plus authentication. Each tool serves a specific purpose without redundancy.
Calendar has strong CRUD coverage (create, get, update, list, search, soft-delete). Gmail covers reading, drafting, and soft-delete but lacks send functionality (by design). Contacts is notably incomplete with only read operations (list/search) and no create, update, or delete capabilities.
Maintenance
Related MCP Connectors
Multiple Google accounts (Gmail, Calendar, Drive, Contacts, Tasks) in one Claude connector.
Multiple Gmail accounts, editable Google Sheets & Docs for AI agents. Deny-by-default access rules.
Give Claude only the Google Drive files you choose. Every action logged.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables Claude to interact with Google Workspace services including Gmail, Drive, Sheets, Docs, and Calendar. Provides comprehensive tools for reading, creating, and managing emails, files, spreadsheets, documents, and calendar events with built-in safety controls and audit logging.-
- AlicenseNot gradedqualityDmaintenanceEnables Claude to manage Gmail, Google Calendar, and Google Drive, including sending emails, scheduling meetings, and organizing files, with integrated workflows.5MIT
- FlicenseNot gradedqualityBmaintenanceConnects multiple Gmail and Google Calendar accounts to Claude Desktop locally, enabling email management (search, send, draft, label) and calendar operations (list events, search) via natural language.-
- FlicenseNot gradedqualityCmaintenanceEnables Claude to read and manage your Gmail account, including listing, searching, sending, drafting, replying to, archiving, labeling, and trashing emails via the Gmail API.-