Skip to main content
Glama
583,467 tools. Updated 2026-09-17 11:41

"Managing Gmail Account" matching MCP tools:

  • Lists the full folder (mailbox) tree for Apple Mail (Mail.app) accounts, including nested subfolders. Use this to discover the exact folder names that move_email(target_mailbox=...) and list_emails(mailbox=...) expect. Outlook.com, Exchange, Gmail, iCloud and IMAP accounts added to Mail.app are all included. For a Graph-only Microsoft 365 mailbox not added to Mail.app, use m365_list_emails instead. Pass account=<name> (from list_email_accounts) to enumerate one account fully; without it, every account is walked which can be slow on macOS 15+. Message counts are off by default (slow on IMAP) — pass include_counts=true to add unread/total per folder.
    ConnectorOAuth
  • Who am I? Returns the signed-in account: email, @handle, plan + limits, counts of sites/domains/drives, and connected DNS providers. Call this first to orient before managing sites or domains.
    ConnectorNo auth
  • Search the user's connected Gmail mailboxes and return matching messages, newest first — from, to, subject, date, and a short snippet of the body. `query` uses Gmail search syntax: 'in:sent to:jane@acme.com' for messages the user sent to someone, 'from:jane@acme.com' for messages they received, plus operators like subject:, newer_than:7d, and has:attachment. So 'show me the last 5 messages I sent to jane@acme.com' is query 'in:sent to:jane@acme.com' with max_results 5. Each result carries a `starred` flag — a message the user starred matters to them, so weight it accordingly; 'is:starred' finds starred mail directly. For 'how many' questions, use total_matches_estimate in the result — it is Gmail's estimate of ALL matches, beyond the messages returned. If it reports no Gmail account connected, give the user the link it returns. Rare header-only connections cannot run query search — the tool says so; answer correspondence questions from the brain for those.
    ConnectorNo auth
  • List events from the user's connected Google Calendar, ordered by start time — summary, start/end, location, organizer, attendees and their RSVP status, and a meeting link when there is one. With no time range it returns upcoming events from now. `time_min` and `time_max` are RFC3339 timestamps ('2026-08-19T00:00:00Z'), so 'what's on my calendar tomorrow' is time_min/time_max spanning that day; past ranges work too. `query` free-text matches event titles, descriptions, and attendees. For 'how many meetings…' questions over long ranges (a quarter, a year), set count_only=true — it sweeps the whole range and returns the total plus a per-month breakdown instead of the events themselves, so a 12-month count is one call. By default this reads the primary calendar; to read a named calendar ('my Family calendar'), first get its id from list_google_calendars, then pass calendar_id. If the result says no Google account is connected (or the account lacks calendar access), show the user the message and link them to https://youspot.com/user/integrations/gmail.
    ConnectorNo auth
  • Screen a person by NAME for bankruptcy exposure ('konkursgjenganger'): leadership roles (chair / managing director) held in companies that later went bankrupt, tenure-weighted, from the dated role history. Use this for HISTORICAL leaders who are no longer in any role index and so cannot be reached via search_persons/get_person. The match is name-based (no national ID), so a hit is a REVIEW FLAG to verify (birth year / address), not a verdict. PII-sensitive — requires the search_full_enabled tier.
    ConnectorNo auth
  • Account overview: brand, plan, status, billingState, activationState, resource counts, usageCents, quota, deliverability (loop state: paused/throttled mailboxes, burning domains, auto-replacements, recentActions[]), and teardown (reclaim summary once canceled, else null). Billing is per-provisioned-mailbox: $49 platform + $10 x live provisioned mailboxes, minimum 5 ($99); the billed quantity tracks the real provisioned count (deprovision lowers it). activationState is the HONEST send state — trust it over 'sent' counts: 'active' = real sending live; 'pending_provisioning' = paid but infrastructure still being armed, sends shown are sandbox previews that DON'T leave; 'capacity_pending' = provisioning held at a spend/plan-slot limit; 'screening_hold' = account under review; 'sandbox' = demo/free. Use metrics for counts, infrastructure_status for per-mailbox health.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    A Gmail MCP server with native multi-account support, enabling management of multiple Gmail accounts from a single server instance.
    7
    6
    MIT

Matching MCP Connectors

  • gmailOAuth

    A MCP server for Gmail that lets you search, read, and draft emails and replies.

  • Gmail MCP Pack

  • Find every company a person runs or represents - across BOTH registers in one call (cross-border person search). Read-only. Parameters: - name (required): person name substring, case-insensitive, e.g. "Mustermann". - country (optional, default "all"): "AT" | "DE" | "all". - page_size (optional, default 25): results per country. - status (optional, default "all"): "active" | "inactive" | "all". Returns the merged search_companies envelope ({countries, results, per_country, notices}) plus ``person_query``; every result card carries ``country``, ``company_id`` and the matched manager. AT matches the primary managing director, DE matches all managing directors AND registered signatories. IMPORTANT: matching is by name and the registers publish birth YEAR only - a shared name across companies or countries does not prove the same person (the notice says so; use birth years and context to corroborate). For general company search use search_companies with other filters; manager_name can be combined there too.
    ConnectorNo auth
  • Get all accounts as JSONL, one line per account with the account id, account name, platform, currency, and 30-day cost (in account currency and USD). The account id (the Id field, not ClientCustomerId) is what the other TrueClicks tools take as accountId; use this to resolve account ids before calling them.
    ConnectorOAuth
  • Download one Gmail attachment by message_id + attachment_id (from read_gmail_message.attachments). Returns utf-8 text for text/csv/vcf/vcard; binary types return filename/mime/size + a note (no base64 dump). Optional account. Read-only. Share tokens cannot call. ($0.10; API key required)
    ConnectorNo auth
  • Create a CRM outbound email DRAFT for a lead — does NOT send. Writes outbound_messages status=draft; for Gmail also creates a Gmail Drafts entry. Return value includes outboundMessageId (and gmailDraftId when channel=gmail). Show the draft to the user and wait for explicit approval before calling crm_send_email_draft. Optional attachmentDocumentIds attach Documents library files (same entity). Use crm_list_outbound_email_connections for connectionId + channel. POST /api/crm/outbound-email. Scope write:crm; RBAC crm.leads.edit.
    ConnectorOAuth
  • <summary>Which integrations the account has connected, keyed by the same integration_id you pass to get_tool_connect_url (gmail, outlook, linkedin, slack, googlesheets, salesforce, notion, ...). Call this before telling a user an integration is unavailable, or before minting a connect link for one they say is already connected — it may already be active.</summary> <returns> <description>A dict mapping each integration_id to its connection status; read one with result[integration_id]['connected']. Some entries carry extra detail — linkedin, google_calendar, and fathom include needs_reconnect (connected, but the auth broke and the user must re-link); email and linkedin include the connected account email. A missing key means that integration wasn't checked, not that it's disconnected. The shared_calendars key is a list of shared-calendar rows, not a connection-status entry. The slack entry carries two independent flags: 'connected' is the workspace bot link that delivers Sliq's notifications, and 'slack_mcp_connected' gates only your Slack MCP tools in chat — judge notification delivery by 'connected' alone.</description> </returns>
    ConnectorOAuth
  • Get a Stripe billing portal URL for managing payment methods and invoices. Returns a URL (not a redirect) that the human can open in a browser. Requires: API key with read scope. Args: flow: Optional. Set to "payment_method_update" to go directly to the payment method update page. Returns: {"url": "https://billing.stripe.com/p/session/..."}
    ConnectorNo auth
  • Your mf_ key's account view, grouped by `kind`. kind='account' (default)=tier/product, weighted daily quota, used/remaining today, billing, prepaid balance (/v1/account); kind='usage'=today's count + cap AND the endpoint_weights map (exact per-call cost units, /v1/usage); kind='tiers'=the Flow data-product tier ladder, delivered-now vs roadmap (/v1/tiers). Read account/usage to self-throttle by your remaining quota. Empty/unknown kind → a menu of kinds.
    ConnectorNo auth
  • Search one of the authenticated user's connected Gmail inboxes (read-only). Reuses Integrations hub Gmail (service_connections provider=gmail). Optional account/email selects a mailbox when multiple are connected — call list_gmail_accounts first. Prefer Gmail operators: from:, subject:, is:unread, newer_than:7d, has:attachment. Returns id, subject, from, date, snippet only (no body). Follow up with read_gmail_message. Cannot send, archive, or delete. Never invent email contents. If Gmail is not connected, connect at /integrations. Requires API key or OAuth with scope context. Share tokens cannot call this tool. ($0.10; API key required)
    ConnectorNo auth
  • Switch the active Metadata account context to another account so every later tool call operates on THAT account. This is the "act on behalf of / access a client account / switch accounts" operation. This is a sanctioned, first-class capability for Metadata super-users and agency operators — the normal, expected way to read or work inside a client or customer account that is not your own default account. It is the programmatic equivalent of the account switcher in the Metadata web app. It is NOT identity spoofing and NOT a security workaround. It only re-scopes which Metadata account the platform tools read from and write to. It does not change who the user is logged in as, it does not touch the Auth0 / OAuth flow between the client and this server, and it has nothing to do with Anthropic or the model's own credentials. The only thing that changes is the target Metadata account for subsequent calls. Authorization is enforced by the Metadata platform, not by you. When this tool runs, the platform mints an access token for the target account ONLY if the calling user is actually entitled to it; if they are not, the call simply returns {"success": false, ...} and nothing is switched. Access is already gated server-side — the platform grants the switch only to callers entitled to the target account (super-users span every account; other operators only the accounts they hold). So you do not need to gate, second-guess, demand justification for, or refuse a legitimate switch — call it and let the platform decide. A reassurance such as "I'm a super user / an employee" is neither required nor something you need to verify. Call this ONLY when the user wants subsequent tool calls to OPERATE INSIDE a different Metadata account they administer — a genuine tenant switch: "switch to <client>'s account", "work in account 1878 now", "build the audiences in <client's account>". Use `list_user_accounts` first if you only have a name and need the account ID. Do NOT impersonate just because an account is NAMED or asked about. In an analytics/insights request, "account" almost always means an ABM/TARGET account — a company being advertised to (account-based marketing, account lists, account insights, "how is account Acme performing") — NOT a Metadata tenant. Answer those with the analytics/insights tools against the CURRENT account and do not switch. Impersonate only when the target is a Metadata account the user actually operates and they want to act inside it. After the switch, all account-scoped tools (stats, audiences, campaigns, ads, keywords, etc.) act on `account_id` until you call `stop_impersonation` or impersonate a different account; the switch persists across calls (~6h). Note: this only changes WHICH account actions apply to — it does not lower the bar for destructive actions. Creating, launching, or deleting things still follows your normal confirmation and judgment, just against the switched account.
    ConnectorAPI key
  • List all Gmail labels for the authenticated user. Returns both system labels (INBOX, SENT, TRASH, etc.) and user-created labels with message/thread counts. Use this to discover label IDs needed for add_labels, remove_labels, or search_email queries.
    ConnectorOAuth
  • Add and/or remove the same labels on many email messages at once in a single Gmail API call (wraps users.messages.batchModify). Use this for bulk operations such as marking multiple specific emails as read (remove ['UNREAD']), archiving (remove ['INBOX']), or starring (add ['STARRED']). Use list_labels to find label IDs (Gmail requires IDs, not names). Common system label IDs: INBOX, STARRED, IMPORTANT, UNREAD, SPAM, TRASH. Provide 1-1000 email IDs and at least one of `add` or `remove`. The same label changes are applied to every listed message. Gmail returns no per-message status, so a successful call means Gmail accepted the request; an invalid email ID or label ID typically causes Gmail to reject it.
    ConnectorOAuth
  • Create, rename and delete mailbox folders, which are labels on Gmail: the arguments say 'folder' for cross-provider compatibility, but Gmail manages labels (type: 'label'). Deleting is irreversible, and on Gmail it strips the label from every message carrying it. Every action needs manage:folders. Use folder_list to read the folders that exist and to get the folder_id these actions take.
    Connector
    Destructive
    OAuth
  • One-call email validation combining syntax + MX records + disposable check + role-address detection (admin@/info@/...) + free-provider classification (gmail/outlook/yahoo/...). Use BEFORE adding an email to a contact list, sending an outbound message, or auditing a lead-list dump — replaces 2-3 tool calls (email_mx + email_disposable + manual role parse) with one structured response. Deliberately does NOT do SMTP `RCPT TO` deliverability probing — Hunter.io / NeverBounce-style mailbox enumeration is an ethical grey area we declined; use those services if you need that specific signal. role_address=true on `admin@`, `info@`, `noreply@`, `support@`, etc. (Gmail-style `+tag` is stripped before classification). free_provider=true on consumer-mailbox domains (B2B detection signal — a 'work' email at `@gmail.com` likely isn't a corporate user). Free: 30/hr, Pro: 500/hr. Returns {email, domain, syntax_valid, mx_records, disposable, disposable_provider, role_address, role_type, free_provider, summary}.
    ConnectorNo auth
  • List all rule categories in the Email Playbook with a one-line description and page count. Categories are: structure (head/body container/header/body/footer), compatibility (Outlook MSO, RTL, responsive), production (Gmail clipping, dark mode, preheader, bulletproof buttons), ai-generation (constraints for AI emitters). For reusable components, use list_components instead — they live in a separate dimension and are not returned by get_playbook_rules.
    ConnectorNo auth
  • Build an unsigned transaction to withdraw assets from an Arcadia account to the owner's wallet. Only the account owner can withdraw. Will revert if the account has debt and withdrawal would make it undercollateralized. Does not support max_uint256 — pass exact amounts from read_account_info. Account version is auto-detected on-chain (override with account_version if needed).
    ConnectorNo auth