Skip to main content
Glama
johndelapena168

google-workspace-alias-mcp

Google Workspace Alias MCP

A Model Context Protocol (MCP) server for Google Workspace integration with send-as alias support, email templates, and scheduled send. This server enables AI assistants to manage Gmail and Google Calendar through natural language interactions.

Why google-workspace-alias-mcp?

  • Unique: Only MCP with send-as alias support

  • Unified: Gmail + Calendar in one package

  • Full Featured: 28 tools with complete API coverage

✨ Why This MCP?

Feature

This MCP

Gmail MCP (Original)

Send-As Alias Support

✅ Dynamic discovery

❌ Not supported

Email Templates

✅ With variables

❌ Not supported

Scheduled Send

✅ Built-in

❌ Not supported

Gmail + Calendar

✅ Unified

❌ Gmail only

Multi-Account

✅ Planned

❌ Not supported

Free/Busy Check

✅ Built-in

❌ Not supported

Related MCP server: Google Workspace MCP Server

🚀 Features

Gmail

  • Send emails - with subject, content, attachments, and recipients

  • Send-As Alias Support - dynamic discovery of all configured aliases

  • Email templates - save and reuse templates with variables

  • Scheduled send - schedule emails for later delivery

  • Draft emails - create drafts without sending

  • Read emails - get full email content with enhanced attachment display

  • List emails - view inbox, sent, or custom labels

  • Search emails - using Gmail search syntax

  • Modify emails - mark read/unread, move to labels/folders

  • Delete emails - permanent deletion

  • Download attachments - save attachments to local filesystem

  • Label management - create, update, delete labels

  • Batch operations - process multiple emails efficiently

  • Full attachment support - send and receive file attachments

  • HTML emails - multipart messages with both HTML and plain text

  • International characters - full support in subject and content

Google Calendar

  • Create events - with title, time, description, location, attendees

  • Get event - retrieve event details by ID

  • List events - view events within specified time range

  • Update events - modify existing events

  • Delete events - remove events

  • Search events - find events by query

  • Free/Busy check - check availability across calendars

  • Multi-calendar support - work with multiple calendars

  • Recurring events - support for repeating events

📦 Installation

npm install -g google-workspace-alias-mcp

Manual Installation

git clone https://github.com/johndelapena168/google-workspace-alias-mcp.git
cd google-workspace-mcp
npm install

⚙️ Setup

1. Create Google Cloud Project

  1. Go to Google Cloud Console

  2. Create a new project or select existing one

  3. Enable the following APIs:

    • Gmail API

    • Google Calendar API

2. Create OAuth 2.0 Credentials

  1. Go to "APIs & Services" > "Credentials"

  2. Click "Create Credentials" > "OAuth client ID"

  3. Select "Desktop app" as application type

  4. Give it a name (e.g., "Google Workspace MCP")

  5. Click "Create"

  6. Download the JSON file

  7. Rename it to gcp-oauth.keys.json

3. Authenticate

Place your gcp-oauth.keys.json in one of these locations:

  • ~/.google-workspace-mcp/ (recommended)

  • Current directory

Then run:

npx google-workspace-alias-mcp auth

This will:

  1. Open your browser for Google authentication

  2. Ask for permission to access Gmail and Calendar

  3. Save credentials locally for future use

🔧 Configuration

Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": ["google-workspace-alias-mcp"]
    }
  }
}

Cursor

Add to your Cursor settings:

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": ["google-workspace-alias-mcp"]
    }
  }
}

Qoder

The MCP will be automatically detected when installed globally.

📖 Usage Examples

Send Email with Alias

{
  "tool": "send_email",
  "arguments": {
    "to": ["client@example.com"],
    "subject": "Project Update",
    "body": "Hi,\n\nHere's the latest update on the project.\n\nBest regards",
    "from": "hello@nexteraofai.com"
  }
}

List Available Aliases

{
  "tool": "list_aliases",
  "arguments": {}
}

List Email Templates

{
  "tool": "list_templates",
  "arguments": {}
}

Send Email Using Template

{
  "tool": "send_template_email",
  "arguments": {
    "template": "meeting-followup",
    "to": ["client@example.com"],
    "variables": {
      "name": "John",
      "meeting_name": "Project Review",
      "summary": "Discussed project timeline and milestones",
      "next_steps": "1. Finalize requirements\n2. Start development",
      "sender_name": "John Dela Pena"
    },
    "from": "hello@nexteraofai.com"
  }
}

Create Custom Template

{
  "tool": "create_template",
  "arguments": {
    "name": "weekly-report",
    "displayName": "Weekly Report",
    "subject": "Weekly Report: {{week_date}}",
    "body": "Hi {{name}},\n\nHere's the weekly report for {{week_date}}:\n\n{{report_content}}\n\nBest regards,\n{{sender_name}}"
  }
}

Schedule Email for Later

{
  "tool": "send_scheduled_email",
  "arguments": {
    "to": ["team@example.com"],
    "subject": "Weekly Update",
    "body": "Here's the weekly project update...",
    "scheduledTime": "2026-07-15T09:00:00",
    "from": "hello@nexteraofai.com"
  }
}

Create Calendar Event

{
  "tool": "create_event",
  "arguments": {
    "summary": "Project Kickoff Meeting",
    "description": "Initial meeting to discuss project scope and timeline",
    "location": "Zoom Meeting",
    "start": "2026-07-15T14:00:00",
    "end": "2026-07-15T15:00:00",
    "attendees": ["john@example.com", "jane@example.com"],
    "reminders": [
      { "method": "email", "minutes": 60 },
      { "method": "popup", "minutes": 10 }
    ]
  }
}

Search Events

{
  "tool": "search_events",
  "arguments": {
    "query": "meeting",
    "timeMin": "2026-07-01T00:00:00Z",
    "timeMax": "2026-07-31T23:59:59Z",
    "maxResults": 20
  }
}

Check Free/Busy

{
  "tool": "get_freebusy",
  "arguments": {
    "timeMin": "2026-07-15T09:00:00Z",
    "timeMax": "2026-07-15T17:00:00Z",
    "calendars": ["primary", "work@example.com"]
  }
}

Get Event by ID

{
  "tool": "get_event",
  "arguments": {
    "calendarId": "primary",
    "eventId": "abc123def456"
  }
}

List Emails in Inbox

{
  "tool": "list_emails",
  "arguments": {
    "labelIds": ["INBOX"],
    "maxResults": 10
  }
}

Mark Email as Read

{
  "tool": "modify_email",
  "arguments": {
    "messageId": "18a1b2c3d4e5f6789",
    "removeLabelIds": ["UNREAD"]
  }
}

Move Email to Label

{
  "tool": "modify_email",
  "arguments": {
    "messageId": "18a1b2c3d4e5f6789",
    "addLabelIds": ["Label_123"],
    "removeLabelIds": ["INBOX"]
  }
}

Download Attachment

{
  "tool": "download_attachment",
  "arguments": {
    "messageId": "18a1b2c3d4e5f6789",
    "attachmentId": "ANGjdJ8z7_OQ",
    "savePath": "C:/Users/Downloads"
  }
}

Create New Label

{
  "tool": "create_label",
  "arguments": {
    "name": "Client Projects",
    "messageListVisibility": "show",
    "labelListVisibility": "labelShow"
  }
}

Batch Delete Emails

{
  "tool": "batch_delete_emails",
  "arguments": {
    "messageIds": ["msg1", "msg2", "msg3"]
  }
}

🎯 Unique Selling Points

1. Dynamic Alias Support

No other MCP server supports Gmail send-as aliases. This MCP automatically discovers all configured aliases and lets you send from any of them.

2. Email Templates

Save frequently used email templates with variables:

"Use meeting-followup template for {{name}}"

3. Scheduled Send

Schedule emails for later delivery:

{
  "scheduledTime": "2026-07-15T09:00:00"
}

4. Unified Workspace

Gmail + Calendar in one MCP server. No need to install separate servers.

🔐 Security

  • OAuth credentials are stored locally in ~/.google-workspace-mcp/

  • Tokens are automatically refreshed when expired

  • No data is sent to third-party servers

  • Full control over permissions

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

git clone https://github.com/johndelapena168/google-workspace-alias-mcp.git
cd google-workspace-mcp
npm install
npm start

📝 License

MIT License - see LICENSE file

🙏 Acknowledgments

📧 Contact

⭐ Support

If you find this MCP useful, please give it a star on GitHub!

Available Tools

29 tools
authenticateA

Authenticate with Google Workspace (opens browser for OAuth consent). Run this first before using other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it opens a browser for OAuth consent, a key behavioral trait. No annotations provided, so description carries full burden; it does well but could mention token persistence or session behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no extraneous information, and the key action and usage order are front-loaded. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has zero parameters and no output schema, the description fully covers what the tool does and when to use it. Nothing missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100% and description adds no parameter details. Baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it authenticates with Google Workspace via OAuth. Distinguishes itself from sibling tools that operate on emails, events, etc., as an initial setup tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Run this first before using other tools,' providing clear usage context. Could be more specific about when not to use, but the guidance is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_delete_emailsB

Permanently delete multiple emails

ParametersJSON Schema
NameRequiredDescriptionDefault
messageIdsYesList of message IDs to delete

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only states 'permanently delete', which implies irreversibility, but does not disclose batch limits, error handling, or other behavioral traits beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single phrase that front-loads the verb and resource, containing zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is insufficiently complete. It omits details such as batch size limits, confirmation behavior, error handling, or return information, which are important for a deletion tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already describes the parameter. The description does not add any additional meaning or constraints beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'permanently delete' and resource 'multiple emails', which distinguishes it from sibling 'delete_email' (singular) and 'batch_modify_emails' (modify vs delete).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives like 'delete_email' for single emails or 'batch_modify_emails' for modifications. No exclusions or context are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_modify_emailsB

Modify labels for multiple emails at once

ParametersJSON Schema
NameRequiredDescriptionDefault
messageIdsYesList of message IDs to modify
addLabelIdsNoLabels to add
removeLabelIdsNoLabels to remove

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavior. It only states the basic operation but does not disclose atomicity, failure handling, or limits on message IDs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, direct and to the point. Could be improved by including more context without becoming overly long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations. Description lacks details on return value, error handling, performance, or prerequisites. Minimal for a batch operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The tool description adds no additional meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (modify), the resource (labels for multiple emails), and implicitly distinguishes from siblings like modify_email (single email) and batch_delete_emails (delete).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs. alternatives (e.g., calling modify_email repeatedly). The sibling tool modify_email exists but no comparison is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_eventC

Create a calendar event

ParametersJSON Schema
NameRequiredDescriptionDefault
endYesEnd time (ISO format)
startYesStart time (ISO format)
summaryYesEvent title
locationNoEvent location
attendeesNoList of attendee emails
remindersNoEvent reminders
calendarIdNoCalendar IDprimary
descriptionNoEvent description

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations. Description only says 'Create a calendar event', omitting side effects (e.g., notifications to attendees), required scopes, or default behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no waste, but overly brief given tool complexity (8 params). Could provide more context without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complex tool with 8 parameters, no output schema, and no annotations. Description fails to explain return value, error conditions, or how the event is created (e.g., calendar integration).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for all 8 parameters. Description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Create a calendar event', matching the tool name. It distinguishes from sibling tools like update_event or delete_event, but doesn't elaborate on scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like update_event or search_events. No prerequisites or typical use cases mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_labelB

Create a new Gmail label

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLabel name
labelListVisibilityNoLabel visibility in label listlabelShow
messageListVisibilityNoWhether to show in message listshow

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It fails to disclose important traits like permission requirements, duplicate behavior, or mutation effects beyond the obvious creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no filler words. Efficiently conveys the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 3 parameters, the description is too minimal. It omits return value details, error scenarios, and behavioral nuances needed for a complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond what the schema provides; baseline is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Create a new Gmail label' with a specific verb and resource, distinguishing it from sibling tools like update_label, delete_label, and list_email_labels.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., batch operations or other create tools). No exclusions or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_templateB

Create a new email template with variables (use {{variable}} syntax)

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesEmail body template (use {{variable}} for variables)
nameYesTemplate name (used as ID)
subjectYesEmail subject template (use {{variable}} for variables)
displayNameYesHuman-readable template name

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full burden. It does not disclose important behaviors such as idempotency, what happens if a template with the same name exists, or the scope of changes (destructive or not). Only the variable syntax is mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundancy. It conveys the essential purpose and a key detail without extra words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 required parameters and no output schema, the description is incomplete. It does not mention what the tool returns (e.g., the created template object or a success status) or error conditions. For a creation tool, this is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all 4 parameters described in schema). The description adds value for 'subject' and 'body' by noting the {{variable}} syntax, but 'name' and 'displayName' are not elaborated beyond schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create', the resource 'email template', and a distinctive feature 'with variables (use {{variable}} syntax)', which is specific and distinguishes it from sibling tools like get_template, list_templates, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks any guidance on when to use this tool versus alternatives like create_label or send_template_email. No prerequisites or context for appropriate use are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_emailA

Permanently delete an email

ParametersJSON Schema
NameRequiredDescriptionDefault
messageIdYesThe message ID to delete

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. 'Permanently' indicates irreversibility, but lacks disclosure of side effects, permission requirements, or recovery options. Minimal but adequate context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise (4 words), front-loaded with verb and resource. No wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple (1 param, no output schema). Description is minimal but covers action. Could mention irreversibility explicitly, but sufficient for a straightforward delete operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with messageId described. Description adds 'delete an email' clarifying the parameter's role but no extra semantic value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'delete' and resource 'email', with qualifier 'Permanently', clearly distinguishing it from siblings like 'batch_delete_emails' (multiple) and 'delete_event' (different resource).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., batch_delete_emails for multiple, modify_email for trashing). 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.

delete_eventC

Delete a calendar event

ParametersJSON Schema
NameRequiredDescriptionDefault
eventIdYesEvent ID to delete
calendarIdNoCalendar IDprimary

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must disclose behavioral traits. 'Delete' implies irreversibility, but no details on permissions, cascading effects, or success confirmation are given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that directly states the tool's purpose. No unnecessary words, though it could be slightly expanded for completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with two well-described parameters and no output schema, the description is adequate but lacks details on effects (e.g., permanent deletion) or usage notes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear descriptions for both parameters. The tool description adds no additional parameter semantics, but the schema already provides sufficient meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete a calendar event' clearly identifies the action and resource. However, it does not explicitly distinguish from sibling delete tools (e.g., delete_email, delete_label), but the tool name and resource type make it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., update_event to soft-delete, or batch operations). No prerequisites or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_labelC

Delete a Gmail label

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLabel ID to delete

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It only states 'delete' without mentioning irreversibility, side effects (e.g., label removal from all messages), required permissions, 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (4 words) but at the cost of missing important context. It is front-loaded, but the brevity limits its utility. A slightly longer description with key behavioral notes would be more effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the description fails to mention return values (e.g., success message, void), errors (e.g., when deleting a system label), or that deleting a label also removes it from all messages. Without annotations, the description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'id', and the description does not add meaning beyond the schema's 'Label ID to delete'. Baseline 3 is appropriate since the schema already conveys the parameter's purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete) and resource (Gmail label). It is unambiguous and distinguishes from sibling tools like delete_email. However, it could be more specific by noting that only user-created labels are deletable, not system labels.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No information is provided about when to use this tool versus alternatives (e.g., update_label to hide a label) or when not to use it (e.g., system labels cannot be deleted). The agent receives no guidance on prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_attachmentB

Download an email attachment to local filesystem

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameNoCustom filename (optional, uses original if not provided)
savePathNoDirectory to save the file (defaults to current directory)
messageIdYesThe message ID containing the attachment
attachmentIdYesThe attachment ID to download

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It does not mention side effects (file overwrite), permissions needed, or asynchronous behavior. The brief description does not compensate for missing annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, 5 words, efficient. Could benefit from a bit more context, but it is well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple download tool with no output schema and no annotations, the description minimally states the function. However, it lacks behavioral attributes and fails to address potential issues like file conflicts or return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The tool description adds no parameter-specific information beyond restating the overall purpose, so it meets baseline expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'download' and the resource 'email attachment' with a specific destination 'local filesystem', distinguishing it from sibling tools like 'read_email' that may only view attachments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites, conditions, or error handling mentioned. The description lacks context for selecting this tool among the many email-related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

draft_emailC

Create a draft email

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoList of CC recipients
toYesList of recipient email addresses
bccNoList of BCC recipients
bodyYesEmail body content
fromNoSend-as alias email address
subjectYesEmail subject
htmlBodyNoHTML version of the email body
attachmentsNoList of file paths to attach

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only states 'Create a draft email', which implies a save-to-drafts action but does not disclose behavioral traits such as authentication requirements, rate limits, or the outcome of creating a draft (e.g., where it is stored). No annotations are provided to supplement this gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no extraneous content. If 'draft' had been elaborated unnecessarily, it could have been longer, but as-is it is concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, 3 required, and no output schema, the description should provide more context about the tool's behavior (e.g., that the draft is saved to the user's drafts folder). The minimal description leaves the agent underinformed about the tool's full scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 8 parameters are described in the input schema with full coverage (100%). The description adds no additional meaning beyond what the schema already provides, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a draft email' clearly states the purpose and distinguishes from sibling tools like 'send_email' which sends rather than drafts. However, it is slightly tautological as it restates the tool name without additional nuance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'send_email' or 'send_scheduled_email'. Lacks context on prerequisites, such as requiring authentication or that drafts can be sent later.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_eventB

Get event details by event ID

ParametersJSON Schema
NameRequiredDescriptionDefault
eventIdYesEvent ID to retrieve
calendarIdNoCalendar IDprimary

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. Only says 'Get event details', omitting what happens with invalid IDs, permissions needed, or return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words. Front-loaded with action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, yet description does not explain return value structure. Also lacks error handling info. For a simple retrieval tool, more details are expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters fully (100% coverage). Description adds no extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'get', resource 'event', and method 'by event ID'. It distinguishes from siblings like list_events and search_events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when event ID is known, but no explicit when-to-use or when-not-to-use. Alternatives like list_events or search_events are not mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_freebusyC

Check free/busy status for calendars

ParametersJSON Schema
NameRequiredDescriptionDefault
timeMaxYesEnd time (ISO format)
timeMinYesStart time (ISO format)
calendarsNoList of calendar IDs to check

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does not mention read-only nature, required permissions, rate limits, or the structure of the response (since no output schema exists). This is insufficient for an agent to understand implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with no wasted words. Perfectly concise for the information provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is too sparse. It does not explain what the tool returns (free/busy information for which calendars?), leaving the agent underinformed for decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all 3 parameters with descriptions, so baseline is 3. The description adds no extra meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool checks free/busy status for calendars, a specific verb-resource combination. It distinguishes from sibling tools like get_event or list_events which deal with calendar events individually, but it could be more specific about the time range aspect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as get_event or list_events. No mention of prerequisites, limitations, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_templateC

Get a specific template by name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTemplate name

TDQS

C2.9/5.0
Behavior1/5

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. It fails to mention that this is a read operation, what happens if the template does not exist, or any required authentication. The single sentence adds no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence) and front-loaded. While efficient, it could be slightly expanded to include minimal usage context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should at least hint at what the return value is (e.g., the template object). It does not explain what a template is or any related context, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the 'name' parameter is described as 'Template name'). The description does not add meaning beyond the schema, but the baseline for high coverage is 3. No improvement or degradation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('get') and the resource ('specific template'), with the identifier ('by name'). This distinguishes it from sibling tools like list_templates or create_template.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., list_templates first). No mention of prerequisites or excluded scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_aliasesA

List all available send-as email aliases for the authenticated Gmail account

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. States read-only intent ('List...aliases') but doesn't confirm non-destructiveness, auth requirements, or 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single clear sentence with no filler. Efficiently communicates purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and description omits return format. For a list tool, should at least describe what fields each alias object contains (e.g., alias, email). Lacks completeness for agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters. Baseline 4 per guidelines. Description adds no extra parameter details but none are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'List', resource 'send-as email aliases', and scope 'for the authenticated Gmail account'. No sibling tool duplicates this purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or alternatives. However, as the only alias-listing tool, usage is implied. Lacks context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_calendarsB

List all calendars

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose behavioral traits beyond the obvious read-only nature. Since no annotations exist, the description carries full burden, but it fails to mention safety (e.g., no side effects), rate limits, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no extraneous words, fully front-loading the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description lacks completeness about return format (e.g., IDs, names) and context (e.g., linked to which account). The agent may be unable to process the response effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and the description adds the purpose 'List all calendars,' which provides meaning beyond the empty schema. With 100% schema coverage, the baseline is 4, and the description justifiably earns that score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List') and resource ('calendars'), distinguishing it from sibling tools like list_events or list_emails. However, it does not specify what type of calendars (e.g., Google Calendar) or any scoping, leaving slight ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like get_freebusy or list_events. There are no explicit when-not or precondition mentions, relying on the agent to infer from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_email_labelsA

List all Gmail labels

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. States only 'List all Gmail labels' without disclosing authentication needs, rate limits, returnable label types (e.g., system vs. user labels), or any side effects. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, zero wasted words, front-loaded purpose. Appropriate for a tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is largely complete for a simple list operation. However, additional context about label filtering (e.g., user vs. system) would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema description coverage is 100% (trivially). Baseline for 0 parameters is 4; description does not need to add param info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Describes that the tool lists all Gmail labels with specific verb ('list') and resource ('all Gmail labels'). Clearly distinguishes from sibling tools like create_label, delete_label, and update_label.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use versus alternatives such as search_emails or list_emails. Implied usage for retrieving labels, but no explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_emailsC

List emails in inbox, sent, or specific label

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOptional search query filter
labelIdsNoLabel IDs to list (e.g., ['INBOX'], ['SENT'], ['TRASH'])
maxResultsNoMaximum number of emails to return

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'list', with no mention of read-only nature, pagination, or other behaviors. Adequate but lacking depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with the verb first. It is concise but could benefit from a bit more structure or phrasing to improve clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with no output schema, the description is adequate but does not mention ordering, pagination, or relationship to other list/search tools. Could be more complete given sibling complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so with no added parameter details, the description adds no value beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists emails and specifies scoping (inbox, sent, or specific label). However, it does not differentiate from sibling tools like search_emails, which may have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as search_emails or read_email. The description provides no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_eventsC

List events from a calendar

ParametersJSON Schema
NameRequiredDescriptionDefault
timeMaxNoEnd time (ISO format)
timeMinNoStart time (ISO format)
calendarIdNoCalendar ID (default: primary)primary
maxResultsNoMaximum number of events

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose behavioral traits such as default filtering, pagination, or ordering. The agent cannot infer how the tool behaves without parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it sacrifices completeness for brevity. Important contextual information is missing, making it less useful than optimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, no output schema, and 4 optional parameters, the description is insufficient. It does not specify default behavior (e.g., if no time range, does it list upcoming events?) or output structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains each parameter. The description adds no additional meaning beyond what the schema provides, achieving the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the verb (list) and resource (events), but it does not distinguish from sibling tools like search_events. It lacks scope details (e.g., which calendar, time range) beyond what is in the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like search_events or get_event. No prerequisites or context for usage are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_templatesA

List all available email templates

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description only says 'list all', implying read-only but lacks details on pagination, scope (user's templates?), or other behavioral aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, succinct sentence with no unnecessary words. Efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks description of return format or any behavioral details. For a simple list tool with no output schema, minimally adequate but could be improved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0 parameters and 100% schema coverage, the baseline is 4. The description adds no extra parameter meaning but confirms the no-param behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'list' and resource 'email templates', clearly distinguishing it from siblings like 'get_template' (single) and 'create_template' (create).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'get_template' or 'search_emails'. No when-not or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

modify_emailB

Add or remove labels from an email (mark read/unread, move to folder, archive, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
messageIdYesThe message ID to modify
addLabelIdsNoLabels to add (e.g., ['IMPORTANT', 'Label_123'])
removeLabelIdsNoLabels to remove (e.g., ['UNREAD', 'INBOX'])

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only labels the operation as modifying labels but omits behavioral traits like authentication requirements, error handling (e.g., if messageId not found), idempotency, or whether it returns a result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant words. It efficiently conveys the core action and examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation tool with 3 parameters and no output schema, the description minimally covers the operation. However, it lacks details on response, error states, and prerequisites, making it slightly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds examples like ['IMPORTANT', 'Label_123'] and ['UNREAD', 'INBOX'] which provide additional context beyond schema descriptions, but does not significantly augment clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Add or remove labels' and the resource 'an email', with concrete examples like 'mark read/unread, move to folder, archive'. It effectively distinguishes from sibling tools like batch_modify_emails (batch) and delete_email (deletion).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not specify when to use this tool vs alternatives such as batch_modify_emails for batch operations or delete_email for removal. No context or prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_emailB

Read an email by message ID

ParametersJSON Schema
NameRequiredDescriptionDefault
messageIdYesThe message ID to read

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only says 'Read an email' without disclosing any behavioral details such as side effects, required permissions, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one parameter and no output schema, the description is adequate but could mention the return value (e.g., full email content) to be complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage with a description for the only parameter, so the tool description adds no additional meaning beyond what the schema offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Read' and the resource 'email' by message ID, which distinguishes it from siblings like list_emails or search_emails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided; there is no mention of when to use this tool versus alternatives like search_emails or list_emails.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_emailsB

Search emails using Gmail search syntax

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesGmail search query (e.g., 'from:user@example.com after:2024/01/01')
maxResultsNoMaximum number of results

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It only states the search capability without disclosing behavioral traits like read-only nature, pagination, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no wasted words, though it could be slightly expanded for additional useful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 parameters and no output schema, the description is minimally adequate but lacks information on return values, pagination, or error scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with clear descriptions, and the tool description reinforces the use of Gmail search syntax, but it adds no new semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'search' and resource 'emails', and specifies the use of 'Gmail search syntax', making the tool's purpose distinct from siblings like 'list_emails' and 'search_events'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for email search with Gmail syntax but provides no explicit guidance on when to use this tool versus alternatives such as 'list_emails' or 'search_events'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_eventsC

Search calendar events

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
timeMaxNoEnd time (ISO format)
timeMinNoStart time (ISO format)
calendarIdNoCalendar IDprimary
maxResultsNoMaximum number of results

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It only says 'search', implying read-only, but does not disclose return format, pagination, or other constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at four words, front-loading the key information. However, it sacrifices detail for brevity, lacking structure for complex behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has five parameters and no output schema, the description is too brief to be complete. It fails to explain return values, behavior, or nuances.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search calendar events' clearly states the action (search) on the resource (calendar events). However, it does not differentiate from sibling tools like list_events or get_event, which might have similar purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use search_events versus alternatives like list_events. The description lacks context for usage scenarios or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_emailA

Send an email with optional alias support

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoList of CC recipients
toYesList of recipient email addresses
bccNoList of BCC recipients
bodyYesEmail body content (plain text or HTML)
fromNoSend-as alias email address (use list_aliases to see available aliases)
subjectYesEmail subject
htmlBodyNoHTML version of the email body
mimeTypeNoEmail content typetext/plain
attachmentsNoList of file paths to attach

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states 'Send an email' implying the email is dispatched, and mentions 'optional alias support'. However, it does not disclose side effects (e.g., email sent immediately, cannot be undone), authentication needs, rate limits, or default behavior for the 'from' field. Significant behavioral aspects are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with only 7 words, 'Send an email with optional alias support'. It is front-loaded and every word adds value, covering the core functionality and a key differentiator. No unnecessary text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 9 parameters, no output schema, and no annotations, the description is minimally adequate. It captures the essence of sending an email with alias support, but does not clarify that this is for immediate sending (not scheduled or template-based), nor does it mention return values or prerequisites. Some context is missing for an AI agent to fully understand the tool's role among siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and all parameter descriptions are already present in the schema. The tool description adds no extra meaning beyond what the schema provides. For example, the 'from' parameter is already described as 'Send-as alias email address (use list_aliases to see available aliases)' in the schema. The baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Send an email with optional alias support' clearly states the action (send email) and the resource (email). It distinguishes from siblings like draft_email (draft vs send) and send_template_email (templates) by mentioning alias support, which is a unique feature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is for sending immediate emails, optionally with an alias. However, it does not explicitly state when to use this tool versus alternatives like draft_email, send_scheduled_email, or send_template_email. No when-not or usage constraints are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_scheduled_emailB

Schedule an email to be sent at a specific time

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoList of CC recipients
toYesList of recipient email addresses
bccNoList of BCC recipients
bodyYesEmail body content
fromNoSend-as alias email address
subjectYesEmail subject
htmlBodyNoHTML version of the email body
timezoneNoTimezone for scheduled time (e.g., 'America/New_York')
scheduledTimeYesScheduled send time (ISO format, e.g., '2026-07-15T09:00:00')

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states the scheduling action without mentioning what happens after scheduling (e.g., confirmation, cancellation, limits), or any 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core action efficiently. Slightly more detail could improve it without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, no output schema, and no annotations, the description should cover return value, behavior on past times, and guidance on required fields. It lacks this completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds no additional meaning beyond the schema's parameter descriptions. It does not explain formats (e.g., scheduledTime ISO, timezone examples) or distinguish required from optional usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'schedule' and the resource 'email' with the specific constraint 'at a specific time'. This distinguishes it from siblings like send_email (immediate) and draft_email (no send).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for delayed sending, but provides no explicit guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. The name carries the load.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_template_emailC

Send an email using a template with variables

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoList of CC recipients
toYesList of recipient email addresses
bccNoList of BCC recipients
fromNoSend-as alias email address
templateYesTemplate name to use
variablesYesVariables to replace in template (e.g., {"name": "John", "meeting_name": "Project Review"})

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description only states the basic action without disclosing behavioral traits like whether the email is sent immediately, error handling for missing variables, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks structure. It could include more detail without being verbose, such as mentioning required template existence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema or annotations, the description is too brief for a tool with 6 parameters including a nested object. It does not explain the return value, side effects, or prerequisites like template availability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are described in the input schema (100% coverage). The description adds minimal extra meaning with 'with variables', but the schema already explains variable substitution clearly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (send an email) and resource (using a template with variables). However, it does not explicitly distinguish from sibling tools like 'send_email' or 'send_scheduled_email', which could also send emails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. For instance, it does not mention that templates must be created beforehand via 'create_template', or when to use plain email sending instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_eventC

Update an existing calendar event

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoEnd time (ISO format)
startNoStart time (ISO format)
eventIdYesEvent ID to update
summaryNoEvent title
locationNoEvent location
attendeesNoList of attendee emails
calendarIdNoCalendar IDprimary
descriptionNoEvent description

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only says 'update an existing calendar event' without disclosing side effects, permissions needed, or behavior when eventId is invalid. The description adds minimal value beyond the tool name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no waste. However, it could be slightly expanded to include key constraints like required eventId.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an update tool with 8 parameters and no output schema, the description is insufficient. It doesn't explain return values, error handling, or partial update semantics. Ideal would include that only provided fields are updated (patch behavior).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions, so description need not repeat. Baseline 3 is appropriate as it adds no additional meaning to the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates an event, which differentiates it from create and delete siblings. However, it doesn't explicitly distinguish from more specific sibling tools like batch_modify_emails, which is acceptable given the different resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this vs alternatives like create_event or delete_event. No mention of prerequisites or context for using the eventId required parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_labelB

Update an existing Gmail label

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLabel ID to update
nameNoNew label name
labelListVisibilityNoLabel visibility in label list
messageListVisibilityNoWhether to show in message list

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states 'Update an existing Gmail label' with no details on side effects, idempotency, or permissions, which is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, which is concise but lacks necessary details. It efficiently states the purpose but omits important context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should provide more context (e.g., return values, effects on messages). It fails to do so, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and parameters are well-described in the schema. The description adds no extra meaning beyond the schema, earning a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'Update' and the resource 'existing Gmail label', distinguishing it from sibling tools like create_label and delete_label.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or when not, nor mention of alternatives. However, the purpose is clear enough for an agent to infer usage.

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.

  1. 29 tool updatesv1.1.0
    • First observedauthenticate
    • First observedbatch_delete_emails
    • First observedbatch_modify_emails
    • First observedcreate_event
    • First observedcreate_label
    • First observedcreate_template
    • First observeddelete_email
    • First observeddelete_event
    • First observeddelete_label
    • First observeddownload_attachment
    • First observeddraft_email
    • First observedget_event
    • First observedget_freebusy
    • First observedget_template
    • First observedlist_aliases
    • First observedlist_calendars
    • First observedlist_email_labels
    • First observedlist_emails
    • First observedlist_events
    • First observedlist_templates
    • First observedmodify_email
    • First observedread_email
    • First observedsearch_emails
    • First observedsearch_events
    • First observedsend_email
    • First observedsend_scheduled_email
    • First observedsend_template_email
    • First observedupdate_event
    • First observedupdate_label

TDQS

B3.4/5.0

Scored across 29 tools

Disambiguation5/5

Each tool targets a distinct resource and action: email operations (send, read, delete, modify, batch, labels, attachments, aliases, templates) and calendar operations (list, create, get, update, delete, search, freebusy). No overlapping purposes.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (e.g., create_event, delete_email, list_aliases). The only exception is 'authenticate' which is a setup verb, acceptable for a single bootstrap tool.

Tool Count4/5

29 tools is on the high side but reasonable given the coverage of Gmail, Calendar, and templates. Each tool has a clear purpose, though the scope might be slightly broad for a server focused on aliases.

Completeness4/5

Core CRUD operations are covered for emails, labels, events, and templates. However, alias management is limited to listing; creation or deletion of aliases is missing, which is a notable gap given the server name.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to interact with Gmail services, supporting email operations, draft management, and calendar functionality through Google API integration.
    81
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to manage Gmail through natural language interactions with features like sending emails, searching, and label management.
    17,591
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server for Gmail that lets AI assistants read, send, search, label, and filter Gmail through natural language, with OAuth2 auto-authentication and full attachment support.
    81
    3
    MIT