Skip to main content
Glama
306,341 tools. Last updated 2026-07-25 07:49

"Configurable Gmail SMTP/Mail Server for Any User with Remote Access" matching MCP tools:

  • Look up SMTP server settings (host, port, encryption) for a given email provider. Use this to find the correct SMTP configuration for services like Gmail, Outlook, SendGrid, etc.
    Connector
  • Fetch a remote URL server-side and run the FileTag pipeline. The bytes never traverse the LLM context -- the agent supplies the URL, the server fetches under strict SSRF guards (HTTPS only, no private IP ranges, 30-second timeout, 50 MB cap, redirects disabled), and returns the structured tag result with metadata, suggested filename, ``enriched_file_url`` (short-lived signed URL to the renamed copy with metadata embedded into document properties), and a ``next_action`` recipe (``http_get_and_save``) telling the agent to download that URL and save it as the suggested filename -- act on it unless the user explicitly asked for metadata only. Use this when the file already lives at a public URL.
    Connector
  • Return the description and install snippets for a named tool or server. For tools: the description and the server it belongs to. For servers: local (stdio, via npx) install snippets for every published server, plus remote (HTTP) connection snippets when a hosted endpoint exists — for every supported client, or one client via the client parameter. Call cyanheads_search first to find valid names.
    Connector
  • Verify a single email address — deliverability and quality signals for lead enrichment, signup gating, and list hygiene. Returns deliverable (true/false/unknown), mx_valid, disposable (throwaway/temp-mail), role_account (info@, support@, …), free_provider (gmail, yahoo, …), domain_age_days, and a best-effort smtp_check. Domain-level facts are cached 7 days. PAID: $0.005 USDC per query after a daily free allowance (25/day). On a 402, pay the returned Solana memo and re-call with the SAME args plus payment_tx=<signature>. An Authorization: Bearer fnet_ key bypasses payment.
    Connector
  • Post a new comment on any target in a workspace: a row, a cell, a doc text range, an html element, an entire surface, or the workspace itself. Polymorphic target shape mirrors the REST POST /api/workspaces/:slug/comments. For threading, pass `parentId` to hang the new comment as a reply (the server flattens nested replies to single depth and auto-unresolves a resolved parent). Mentions are an array of `{ kind: 'user'|'agent', id, label }` triples; the server validates each mention's access to the workspace before accepting. Fires `comment.added` (and `comment.unresolved` when a reply reopens a resolved parent). For replies to existing comments where you don't want to reconstruct the target, prefer `reply_to_comment` which derives the target from the parent. Editor or commenter role required.
    Connector
  • Search the user's COMPLETE email history by querying their connected mail providers live — Gmail, Outlook AND IMAP accounts (iCloud, Yahoo and other IMAP mailboxes) — reaching years beyond Mailopoly's indexed window, and including sent mail. This is also how you reach mail a free trial hasn't imported yet: the trial fully processes only recent mail, but the rest still lives in the user's mailbox and this tool finds it. Use it when search_emails returns few or no results, or when the question concerns emails older than the indexed history (search_emails responses include indexed_history_start). TIME BUDGET: the live crawl is deliberately capped server-side (typically 5-45 seconds for Gmail/Outlook, up to ~90 seconds when an IMAP account like iCloud/Yahoo is being walked) so this call ALWAYS returns a usable response before your own tool-call timeout — never refuse to run it just because an account is iCloud/IMAP; just tell the user you're searching their full history and it may take a moment. If the crawl hits its budget the response says so in `note` and `provider_error`, and the results returned are what was found in time. PAGINATION is by date, not offset: re-run with end_date set to a truncated provider's oldest_returned_date (from truncated_providers) to page deeper into history, or narrow with a sender/start_date/end_date window. start_date/end_date (YYYY-MM-DD) may span multiple years; omit both to search ALL history. Returned email_id values (some of the form 'gmail:<id>:<id>' or 'imap:<id>:<uid>') work directly in get_email.
    Connector

Matching MCP Servers

  • A
    license
    -
    quality
    -
    maintenance
    A TypeScript MCP server that enables LLMs to send outbound emails via SMTP with support for attachments and HTML content. It includes outcome-oriented tools for account validation and enforces strict security policies like recipient allowlists and size limits.
    Last updated
  • A
    license
    A
    quality
    A
    maintenance
    Enables SSH and UART/serial port access for Claude Code to directly control remote devices like Raspberry Pi, embedded systems, and IoT devices. Supports command execution, file transfers via SFTP, and serial communication.
    Last updated
    24
    7
    AGPL 3.0

Matching MCP Connectors

  • Gmail MCP Pack

  • gmailOAuth

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

  • Discover mailboxes in the directory (users and shared mailboxes). Useful to find the address of a shared mailbox before targeting it with Mail, Calendar, or Contacts tools via their `mailbox` parameter. Requires the User.Read.All application permission. Args: search (Optional[str]): Name/mail prefix filter. top (int): Max results (1-100). response_format: 'markdown' or 'json'. Returns: str: Markdown list or JSON with schema: {"items": [{id, displayName, mail, userPrincipalName}], "count": int, "next_link": str|null}. On failure: "Error: <message>".
    Connector
  • Switch between local and remote DanNet servers on the fly. This tool allows you to change the DanNet server endpoint during runtime without restarting the MCP server. Useful for switching between development (local) and production (remote) servers. Args: server: Server to switch to. Options: - "local": Use localhost:3456 (development server) - "remote": Use wordnet.dk (production server) - Custom URL: Any valid URL starting with http:// or https:// Returns: Dict with status information: - status: "success" or "error" - message: Description of the operation - previous_url: The URL that was previously active - current_url: The URL that is now active Example: # Switch to local development server result = switch_dannet_server("local") # Switch to production server result = switch_dannet_server("remote") # Switch to custom server result = switch_dannet_server("https://my-custom-dannet.example.com")
    Connector
  • List all Argo campaigns the current grant token has access to, including the access level ("read" or "read+write") for each. Call this first when the user has not provided a campaign ID. Each entry includes both `campaignName` and `id` (shown inline as `[id: …]` and also in structuredContent.idMap). Use the `id` verbatim for any subsequent tool call that takes a `campaignId`. In prose to the user, refer to campaigns by `campaignName`; do not print the raw `id` unless asked.
    Connector
  • Verifies the recipient and sender US addresses and locks a 15-minute USDC price for a documentId. Does not charge or mail anything. Returns a `paymentUrl` (a per-quote x402-payable URL); the preferred way to actually mail the letter is for the agent's wallet to perform an in-band x402 payment against that URL (e.g. `npx awal@latest x402 pay <paymentUrl>`). The MCP `submit_paid_mail_job` tool is a fallback for clients that can emit a standalone signature header. In all cases, show the recipient, sender, options, selected-route `design` constraints, price, AND any `fulfillment.warnings` to the user and get explicit confirmation before paying. The response includes a `fulfillment` block with `requested` (what you asked for), `selected` (what will actually be printed/mailed) and `warnings` (any soft-preference downgrades — e.g. `service_level_downgraded` or `extra_service_unavailable`); do not pay through a non-empty warnings list without re-confirming the trade-off with the user. The response also includes a provider-neutral `design` block; inspect it and the preview before paying because the selected delivery method determines print address/no-ink zones.
    Connector
  • Use this when the user wants to see or triage their inbox on this Mac (Apple Mail — any account added to Mail.app: iCloud, Gmail, IMAP, Exchange). Lists email headers (subject, sender, date, unread); call read_email(message_id) for the full body. For a Microsoft 365 mailbox NOT added to Mail.app, use m365_list_emails. IMPORTANT: On machines with 3+ accounts, always pass account=<name> (from list_email_accounts) to avoid timeouts. Without account, all accounts are scanned which can be slow on macOS 15+. Supports pagination: use offset to page through results (e.g. offset=20 for page 2 with limit=20). The limit parameter is capped at 50 per call (default 20); to read more, page with offset rather than requesting a larger limit.
    Connector
  • Compose a post with an attached image OR short MP4 video WITHOUT needing filesystem access on the agent's machine. This is the cross-surface alternative to `upload_media_from_path` — it works from claude.ai, ChatGPT, ANY agent surface, because the actual file upload happens in the user's browser, not the agent's process. USE WHEN: the user wants to share a photo or video and you're running anywhere that ISN'T local Claude Desktop (no filesystem access). Examples: claude.ai chat, ChatGPT with this MCP server, mobile web. In those contexts `upload_media_from_path` will fail. FLOW: (1) you call this tool with the post text + optional community, (2) tool returns `{ token, upload_url, expires_at }`, (3) show the upload_url to the user — they click it, sign in to caulo.ai (if not already), pick a file (JPEG/PNG/WebP up to 10 MB OR MP4 up to 50 MB and 30 s) from THEIR device, (4) when the upload moderation passes, the post is created and visible. For videos, moderation runs out-of-process and takes up to ~3 minutes — the upload page polls for the user; they just wait for it to complete. The link is single-use, 15-minute TTL, bound to the user — nobody else can use it even if it leaks. Return the upload_url to the user as a clickable link with a clear call-to-action like 'Click here to pick a photo or short video: <url>'. Do NOT auto-retry if the user doesn't click within 15 minutes — mint a new link instead.
    Connector
  • 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.
    Connector
  • Register a new Fractera user and start the deployment of their server in one atomic call. Use this AFTER you have collected the user's email (entered twice for typo protection), server IP, and root password. Creates the User row (or reuses an existing one with the same email), creates a free Subscription, creates a ServerToken, wipes any previous installation on the target server, and launches bootstrap. The deploy is IP-first (phase-1): the server comes up on plain HTTP at http://<IP>:3002 in 8-14 minutes; it does NOT get a domain or HTTPS cert here (that is an optional later step inside the workspace). Returns session_id (for a single on-demand check_status read — do not poll) and server_token (so the user can recover via retry_deploy if anything breaks). Call this AT MOST ONCE per conversation.
    Connector
  • Register a new Fractera user and start the deployment of their server in one atomic call. Use this AFTER you have collected the user's email (entered twice for typo protection), server IP, and root password. Creates the User row (or reuses an existing one with the same email), creates a free Subscription, creates a ServerToken, wipes any previous installation on the target server, and launches bootstrap. The deploy is IP-first (phase-1): the server comes up on plain HTTP at http://<IP>:3002 in 8-14 minutes; it does NOT get a domain or HTTPS cert here (that is an optional later step inside the workspace). Returns session_id (for a single on-demand check_status read — do not poll) and server_token (so the user can recover via retry_deploy if anything breaks). Call this AT MOST ONCE per conversation.
    Connector
  • Return a single recommended VPS provider for users who do not yet have a server. Call this ONLY when the user explicitly says they have no server. The user buys the VPS at this provider and comes back with IP + password.
    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
  • Check whether the mail Mailopoly holds is up to date with what's actually at the email provider right now — use this when a user says "my emails aren't coming through", "is my inbox synced?", "am I missing emails?". It lists the account's most recent messages straight from Gmail/Outlook/IMAP and compares them to what we've stored. Each account returns provider_recent (newest emails at the provider) and mailopoly_recent (newest we hold) — present these two lists side by side so the user can see they match, then the verdict (up_to_date or behind_count + missing_preview). `account` is a connected email address (omit to check every syncable account). Set force=true to also START pulling the missing mail when an account is behind (the result's status becomes 'syncing_started'); leave force=false to just report. force is rate limited per account.
    Connector
  • Pause (turn off) a connected account: stop downloading new mail while KEEPING everything already brought in. `account` is the connected email address. Reversible with resume_email_account. Confirm with the user before pausing — it stops their email from updating.
    Connector
  • 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.
    Connector