Automate Gmail tasks via Rube MCP (Composio): send/reply, search, labels, drafts, attachments. Always search tools first for current schemas.
Automates Gmail tasks including sending emails, managing labels, searching messages, and handling drafts through Rube MCP.
/plugin marketplace add davepoon/buildwithclaude/plugin install all-skills@buildwithclaudeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Automate Gmail operations through Composio's Gmail toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/gmail
RUBE_MANAGE_CONNECTIONS with toolkit gmailRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit gmailWhen to use: User wants to compose and send a new email
Tool sequence:
GMAIL_SEARCH_PEOPLE - Resolve contact name to email address [Optional]GMAIL_SEND_EMAIL - Send the email [Required]Key parameters:
recipient_email: Email address or 'me' for selfsubject: Email subject linebody: Email content (plain text or HTML)is_html: Must be true if body contains HTML markupcc/bcc: Arrays of email addressesattachment: Object with {s3key, mimetype, name} from prior downloadPitfalls:
recipient_email, cc, or bcc requiredsubject or body requiredmimetype MUST contain '/' (e.g., 'application/pdf', not 'pdf')from_email only for verified aliases in Gmail 'Send mail as' settingsWhen to use: User wants to reply to an existing email conversation
Tool sequence:
GMAIL_FETCH_EMAILS - Find the email/thread to reply to [Prerequisite]GMAIL_REPLY_TO_THREAD - Send reply within the thread [Required]Key parameters:
thread_id: Hex string from FETCH_EMAILS (e.g., '169eefc8138e68ca')message_body: Reply contentrecipient_email: Reply recipientis_html: Set true for HTML contentPitfalls:
thread_id must be hex string; prefixes like 'msg-f:' are auto-strippedWhen to use: User wants to find specific emails by sender, subject, date, label, etc.
Tool sequence:
GMAIL_FETCH_EMAILS - Search with Gmail query syntax [Required]GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID - Get full message details for selected results [Optional]Key parameters:
query: Gmail search syntax (from:, to:, subject:, is:unread, has:attachment, after:YYYY/MM/DD, before:YYYY/MM/DD)max_results: 1-500 messages per pagelabel_ids: System IDs like 'INBOX', 'UNREAD'include_payload: Set true to get full message contentids_only: Set true for just message IDspage_token: For pagination (from nextPageToken)Pitfalls:
nextPageToken via page_token until absentresultSizeEstimate is approximate, not exact countinclude_payload=true on broad searches creates huge responses; default to metadataWhen to use: User wants to create, modify, or organize labels
Tool sequence:
GMAIL_LIST_LABELS - List all labels to find IDs and detect conflicts [Required]GMAIL_CREATE_LABEL - Create a new label [Optional]GMAIL_PATCH_LABEL - Rename or change label colors/visibility [Optional]GMAIL_DELETE_LABEL - Delete a user-created label (irreversible) [Optional]Key parameters:
label_name: Max 225 chars, no commas, '/' for nesting (e.g., 'Work/Projects')background_color/text_color: Hex values from Gmail's predefined paletteid: Label ID for PATCH/DELETE operationsPitfalls:
When to use: User wants to label, archive, or mark emails as read/unread
Tool sequence:
GMAIL_LIST_LABELS - Get label IDs for custom labels [Prerequisite]GMAIL_FETCH_EMAILS - Find target messages [Prerequisite]GMAIL_BATCH_MODIFY_MESSAGES - Bulk add/remove labels (up to 1000 messages) [Required]GMAIL_ADD_LABEL_TO_EMAIL - Single-message label changes [Fallback]Key parameters:
messageIds: Array of message IDs (max 1000)addLabelIds: Array of label IDs to addremoveLabelIds: Array of label IDs to removemessage_id: 15-16 char hex string for single operationsPitfalls:
message_id must be 15-16 char hex, NOT UUIDs or web UI IDsWhen to use: User wants to create, edit, or send email drafts, possibly with attachments
Tool sequence:
GMAIL_CREATE_EMAIL_DRAFT - Create a new draft [Required]GMAIL_UPDATE_DRAFT - Edit draft content [Optional]GMAIL_LIST_DRAFTS - List existing drafts [Optional]GMAIL_SEND_DRAFT - Send a draft (requires explicit user approval) [Optional]GMAIL_GET_ATTACHMENT - Download attachment from existing message [Optional]Key parameters:
recipient_email: Draft recipientsubject: Draft subject (omit for reply drafts to stay in thread)body: Draft contentis_html: Set true for HTML contentattachment: Object with {s3key, mimetype, name}thread_id: For reply drafts (leave subject empty to stay in thread)Pitfalls:
data.id (draft_id) AND data.message.id; use data.id for draft operationsLabel name → Label ID:
1. Call GMAIL_LIST_LABELS
2. Find label by name in response
3. Extract id field (e.g., 'Label_123')
Contact name → Email:
1. Call GMAIL_SEARCH_PEOPLE with query=contact_name
2. Extract emailAddresses from response
Thread ID from search:
1. Call GMAIL_FETCH_EMAILS or GMAIL_LIST_THREADS
2. Extract threadId (15-16 char hex string)
max_results up to 500 per pagenextPageTokenpage_token in next requestnextPageToken is absent or empty stringresultSizeEstimate is approximate, not exactOperators:
from:sender@example.com - Emails from senderto:recipient@example.com - Emails to recipientsubject:"exact phrase" - Subject contains exact phraseis:unread - Unread messagesis:starred - Starred messagesis:snoozed - Snoozed messageshas:attachment - Has attachmentsafter:2024/01/01 - After date (YYYY/MM/DD)before:2024/12/31 - Before datelabel:custom_label - User-created label (use label ID)in:sent - In sent foldercategory:primary - Primary categoryCombinators:
AND - Both conditions (default)OR - Either conditionNOT - Exclude condition() - Group conditionsExamples:
from:boss@company.com is:unread - Unread emails from bosssubject:invoice has:attachment after:2024/01/01 - Invoices with attachments this year(from:alice OR from:bob) is:starred - Starred emails from Alice or BobID Formats:
Query Syntax:
Rate Limits:
Response Parsing:
data_preview or data.messagesmessageTimestamp uses RFC3339 with 'Z' suffixAttachments:
s3key from prior download may expire| Task | Tool Slug | Key Params |
|---|---|---|
| Send email | GMAIL_SEND_EMAIL | recipient_email, subject, body, is_html |
| Reply to thread | GMAIL_REPLY_TO_THREAD | thread_id, message_body, recipient_email |
| Search emails | GMAIL_FETCH_EMAILS | query, max_results, label_ids, page_token |
| Get message details | GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID | message_id |
| List labels | GMAIL_LIST_LABELS | (none) |
| Create label | GMAIL_CREATE_LABEL | label_name, background_color, text_color |
| Modify labels bulk | GMAIL_BATCH_MODIFY_MESSAGES | messageIds, addLabelIds, removeLabelIds |
| Create draft | GMAIL_CREATE_EMAIL_DRAFT | recipient_email, subject, body, thread_id |
| Send draft | GMAIL_SEND_DRAFT | draft_id |
| Get attachment | GMAIL_GET_ATTACHMENT | message_id, attachment_id |
| Search contacts | GMAIL_SEARCH_PEOPLE | query |
| Get profile | GMAIL_GET_PROFILE | (none) |
Powered by Composio
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.