Skip to main content
Glama
260,860 tools. Last updated 2026-07-05 08:54

"An email protocol for sending and receiving messages" matching MCP tools:

  • Create a Disco account and get an API key. Provide an email address to start the signup flow. If email verification is required, returns {"status": "verification_required"} — the user will receive a 6-digit code by email, then call discovery_signup_verify to complete signup and receive the API key. The free tier (10 credits/month, unlimited public runs) is active immediately. No authentication required. Returns 409 if the email is already registered. Args: email: Email address for the new account. name: Display name (optional — defaults to email local part).
    Connector
  • Creates participant invites for a perspective and returns 48-hour magic-link URLs, optionally sending invitation emails. Pass EITHER participants (creates new invites) OR invite_ids (reuses existing invites, minting a fresh 48h link) — never both. Behavior: - With participants: creates a new invite per participant (deduped by lowercased email *within the same call*; on duplicate emails, the LAST entry wins for both `name` and `context` — earlier entries are discarded). Calling again with the same email creates a separate invite record — there's no cross-call dedup. To re-issue a link for an existing participant without creating a new record, pass that participant's invite_id via invite_ids instead. - With invite_ids: reuses existing invites — no duplicates — but mints a new 48-hour link each call. Previously-issued links remain valid until they expire on their own. - Sends a real invitation email per participant when send_email=true. When send_email=false (default), no email is sent — distribute the URLs yourself. Errors with "Email sending is currently disabled." if email is turned off in this environment. - Errors when the perspective is not found or you do not have access. Errors with "This perspective is still in draft. Complete the outline before inviting participants." if the perspective has no outline yet. With invite_ids, errors with "Invite not found: <id>" (covers both malformed ids and ids that don't exist) or an access error per id. - Limits: 1–50 participants/ids per call ("Maximum 50 participants per call. Split into multiple calls."). participants and invite_ids are mutually exclusive. - context per participant (≤20 keys, ≤50-char keys, ≤2000-char values) is stored with the invite and passed to the perspective as trusted participant metadata. It is optional, and cannot be changed after creation — create a new invite to update it. When to use this tool: - Generating distributable conversation links for a list of participants. - Sending invitation emails directly (send_email=true with optional custom_message / custom_subject). - Re-issuing fresh links for previously-created invites (use invite_ids). When NOT to use this tool: - The perspective is still DRAFT — finish the design loop first (perspective_await_job until "ready", optionally perspective_update). - Public/anonymous links — use perspective_get_embed_options for share_url / embed snippets instead. - Internal smoke testing — use perspective_get_preview_link. Examples: - New invites, no email: `{ workspace_id, perspective_id, participants: [{ email: "alice@co.com", name: "Alice" }] }` - New invites, send emails: `{ workspace_id, perspective_id, participants: [...], send_email: true }` - Re-issue links for existing invites and email them: `{ workspace_id, perspective_id, invite_ids: ["abc123", "def456"], send_email: true }` - Re-issue links only (regenerate expired): `{ workspace_id, perspective_id, invite_ids: ["abc123"] }`
    Connector
  • Swap a phone number on an existing order. Gets a new number for the same service and country without additional charge. Use when the current number isn't receiving SMS. **Cooldown:** swap is only available 120 seconds after purchase. Check `swap_available_at` on the order before calling. Calling earlier returns a `cooldown_active` error from this MCP server (no backend round-trip).
    Connector
  • Read messages from a consultation thread (own thread for responders; any thread for askers). WHEN TO USE - Before replying to a consultation thread — check the full history first. - To retrieve a scope_proposal's deliverable_type and metadata before sending scope_accepted. - To check if an extension_request was accepted. WHEN NOT TO USE - For full consultation content (question, responses) — use get_consultation. BEHAVIOR - Read-only. Auth required. Rate-limited to 60 req/min. - Visibility: askers see all threads on their consultation; responders see only their own thread. - Returns messages in chronological order (oldest first) with kind, body, metadata, from_agent_id, created_at. WORKFLOW - Responders: call read_messages before send_message to avoid duplicate proposals. - Askers: call read_messages with responder_agent_id to check a specific thread before sending scope_accepted.
    Connector
  • Sends an iMessage via the Mac's Messages.app to a recipient handle (phone number with country code, e.g. +14155551234, or an Apple ID email). This is a write operation: the first call (without confirm) returns a preview; call again with confirm=true to actually send. Direct (1:1) iMessage only — sending into an existing group chat isn't supported yet. Requires Messages.app signed in to iMessage + Automation permission.
    Connector
  • Start the transfer verification flow by sending a code to the registrant's email. Always call this before get_transfer_code or unlock_domain. Then ask the user to check their email and provide the 6-digit code, then call verify_transfer_code to get a transfer_token. Args: order_id: The order ID of a completed domain purchase.
    Connector

Matching MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    Enables fuzzy search and browsing of Apple Messages (iMessage/SMS) with contact resolution, filtering by sender or date, and context display through CLI, MCP, or Claude Code plugin.
    Last updated
    67
    18
    MIT

Matching MCP Connectors

  • Zero-value tracer token system that tracks AI agent activity across the internet. Agents earn tokens by submitting threat intelligence traces, with free trust verification (verify_trust) and paid threat intelligence feeds. 8 tools: submit_trace, check_token_balance, mutate_token, get_trace_schema, verify_trust (free) + threat_intelligence_feed, bulk_verify_trust, query_trace_analytics (paid).

  • Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.

  • Manage end-user auth records for an app. Actions: - "list": Paginated list of app_users (id, email, provider, provider_uid, email_verified, last_sign_in_at, created_at). Pass the next_cursor from a prior response to page. - "delete": Hard-delete an app user by id. Cascades to refresh tokens and verification codes. Use this to unblock OAuth migrations when an existing email/password row collides. Parameters by action: list: { app_id, action: "list", limit?, cursor? } delete: { app_id, action: "delete", user_id } Tips: - Looking for a user by email? Call list and filter client-side; this tool does not search by email. - To switch a user from email/password to Google OAuth without deleting, just have them sign in with Google — the OAuth callback now links the existing email row in place automatically.
    Connector
  • SKILL: how_to_send_lnt_email Team: platform How to Send an L&T Branded Email Call this tool to get the complete guide for 'how_to_send_lnt_email'. Read the 'content' field and follow its instructions. This tool takes NO parameters. Full content: --- name: how_to_send_lnt_email description: Instructions for sending L&T branded emails — explains exactly what steps to follow and which tools to call --- # How to Send an L&T Branded Email Follow these exact steps whenever a user wants to send any information by email. ## When to Use This Guide - User says "send this to [email]" - User says "email this to [name]" - User says "mail the results to..." - User wants to share any data or information via email ## Step 1 — Collect These 5 Things Ask the user for anything missing: 1. **Recipient email address** — where to send 2. **Recipient name** — for the greeting "Dear [name]," 3. **Sender name** — for the signature "Warm regards, [name]" 4. **Subject line** — or derive it from the content 5. **Email content** — what to put in the body Do not proceed until you have all 5. ## Step 2 — Read the Brand Guidelines Call the `lnt_email_brand_guidelines` tool (no arguments needed). Read the returned content carefully. Use those guidelines to generate the complete HTML email yourself. Build the HTML with: - Navy header + orange accent bar - "Dear [recipient name]," - Body content formatted as paragraphs or table - "Warm regards, [sender name]" signature - Gray footer with confidential notice ## Step 3 — Send the Email Call the `send_email` tool with this exact JSON: ```json { "personalizations": [ { "to": [{"email": "RECIPIENT_EMAIL_HERE"}], "subject": "SUBJECT_HERE" } ], "from": {"email": "lntcs@lntecc.com"}, "content": [ { "type": "text/html", "value": "YOUR_GENERATED_HTML_HERE" } ] } Step 4 — Confirm to User On success: "✅ Email sent to [name] at [email]." On failure: "❌ Could not send. Error: [message]." Important Rules NEVER call lnt_email_brand_guidelines with arguments — it takes none NEVER send plain text — always generate and send HTML From address is ALWAYS lntcs@lntecc.com — never change this Generate the HTML yourself — do not look for an HTML generation tool Subject must be specific and descriptive
    Connector
  • Find people matching a name or email fragment by scanning your LIVE mailbox — there is no stored contact list. Each call performs a bounded, header-only scan of recent matching mail and tallies the correspondents who match the query, sorted by most-recently-contacted first (display name, email address, matched-message count, and last-contacted timestamp). Honesty about the tradeoff: results reflect a live scan of a RECENT window of matching messages (not your full history), and the message_count reflects only matched messages within that window — not an all-time total. Nothing is stored between calls. For general or cross-inbox questions (e.g. 'who have I emailed most with X?'), OMIT inbox_id so ALL accessible inboxes are scanned; only set inbox_id when the user explicitly limits the search to one specific inbox.
    Connector
  • Resend the email verification link for an existing Unphurl account. Use this when a user signed up but their verification link expired (links are valid for 24 hours) and they need a new one. The user's API key won't work until their email is verified. For security, the response is always the same regardless of whether the email exists, is already verified, or was rate limited. This prevents account enumeration. Rate limited to 3 requests per email per hour. This tool does not require an API key.
    Connector
  • One-shot protocol profile by name and scope. scope=full adds competition_metrics{} for CEX venues (spot/derivs/depth/OI core+extended/PoR). Set include_oi_symbol_detail=true with oi_symbol_limit (1-100, default 20) for top-N OI breakdown. Ranked multi-protocol list→search_platforms. Daily time series→get_platform_history.
    Connector
  • Geographic distribution of email senders for a domain. Returns top 100 locations (lat/lon, country, city) with message volume and compliance stats. source_type is required — must be "known", "unknown", or "forward" (data is stored separately per type, no cross-type aggregation). If you don't know which type to use, call get_domain_senders first to see which source types have traffic. Use this to answer "where are emails being sent from geographically?" — useful for detecting suspicious sending locations or confirming expected infrastructure.
    Connector
  • [chieflab_* alias of chiefmo_send_approved_email] Send an approved launch email through the email sending rail (current adapter: resend). USE WHEN the user has approved an email publishAction from chiefmo_launch_product and you need to fire the send. Strict approval gate (same shape as chiefmo_publish_approved_post). `from` MUST be on a domain verified at the adapter (resend.com) — check chieflab_list_email_senders first. Single recipient or short list (≤50). Money/external-system action — once sent cannot be unsent.
    Connector
  • 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.
    Connector
  • Send a single transactional email. Requires Authorization: Bearer <api_key>. Provide either body_html, body_text, or both (Resend will pick the best variant per recipient). All emails ship from RESEND_FROM_ADDRESS — operator must verify that domain in Resend before sending. Returns the provider-assigned message_id plus the accepted recipient list. Returns a structured _not_configured envelope when RESEND_API_KEY or RESEND_FROM_ADDRESS is missing. Recipients capped at 50 per call; subject capped at 998 chars; bodies capped at 1 MB. Engineer mode (X-Agent-Mode: engineer — Deliverability, $0.50): instead of sending, pass a `domain` and get a full SPF/DKIM/DMARC setup (fresh DKIM keypair) + sender warmup schedule + verification checklist — no email sent, no ESP key needed.
    Connector
  • List the user's email feed (most recent first) without a search query. personal_or_ad='personal' is the Cleanbox (real correspondence); 'advertising' is promotional. email_type 'received' or 'sent'. account narrows to one connected mailbox (the address as shown in get_account_overview) — combine with personal_or_ad for that account's Cleanbox/Other. list_id shows one of the user's custom email lists (ids from list_email_lists). source narrows to a connected app's messages (e.g. 'slack' — see get_account_overview) or 'email' for mail only. sender filters by sender name or address fragment — combine freely, e.g. source='slack' + sender='<name>' + last_x_days=1 answers "what did <name> send me on Slack today?".
    Connector
  • Search the RoloCache catalog and return matching vendors. All three parameters are optional and combinable. With no parameters, returns all indexed vendors. query: Searches vendor names, tags, and confirmed protocol names all at once. Examples: "hotel", "car rental", "corporate travel", "MCP". Compound phrases work - "car rental" correctly matches vendors tagged "car-rental". protocol: Exact match against confirmed protocol names. Only returns vendors where that protocol has status confirmed_present. Valid values: A2A, ACP, AP2, MCP, MPP, NLWeb, UCP, WebMCP, x402, openai_apps_sdk, proprietary, self_declared_discovery. An unrecognized value returns empty results, not an error. has_agent_interface: Exact match against "true", "false", or "partial". "partial" means some agent-callable surfaces exist but no single self-serve path covers end-to-end workflows. Results only include vendors with real, current scan data. Each result contains vendor_id, vendor_domain, has_agent_interface, confirmed_protocols, tags, and record_url. Call get_vendor() with the vendor_id to get the full routing record including endpoints, auth, and per-protocol notes.
    Connector
  • 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}.
    Connector
  • Connect a third-party provider (Zernio, Resend, GA4, Search Console, HubSpot, Stripe, Linear, Notion, Slack) to this workspace. USE WHEN the user wants to wire up publishing, email sending, or analytics readback. For OAuth providers (ga4 / search_console / hubspot) returns an authorizeUrl the agent surfaces to the user. For API-key providers (zernio / resend) returns instructions for the set-key tool. Without this, publish/send/measure tools return 'configure first' errors.
    Connector
  • 🔗 Link a new channel identity (email, phone, LinkedIn, etc.) to an existing contact. When to use: - User learns a contact's email or phone and wants to save it - User wants to link a LinkedIn/Instagram profile to an existing contact - Adding a second channel for an existing person Requires contact_id (entity_id) from contacts.find.
    Connector