Skip to main content
Glama
596,215 tools. Updated 2026-09-21 06:47

"How to send an email to someone else" matching MCP tools:

  • 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.
    ConnectorOAuth
  • Start a demo of the EMAIL channel, which runs against your user's own real inbox rather than in this conversation. Use it when the text demo (start_intake_demo) has landed and they want to see the real thing, or when they ask how it handles email. How it works: this returns an address and a reference code. Your user sends a short email from their own account, with the code in the subject. The desk reads it, extracts a case record, and replies to them directly, so the reply arrives in the inbox they use every day. Poll check_email_demo until it reports stage "sent". Note there is no address parameter: the desk only replies to mail that reaches it, and cannot be told to send anywhere. Your user has to send the first message themselves.
    ConnectorNo auth
  • Publish a "need" (intent) on the user's behalf. The need joins a private matching pool — no other user can see it unless the platform AI judges a match. BEFORE CALLING: - Show the user the exact i_seek / i_offer you'll send. - Tell them that on a match, BOTH the need text (i_seek / i_offer) AND their contact are sent to the matched party — and can't be unsent afterward (like an email you've sent). Leave out anything they wouldn't want a matched stranger to have. - Get explicit consent. AFTER CALLING: - The response includes 'safe_tags' (2-6 short tags) that will appear in match notification emails. Relay them back to the user. - In normal remote MCP connectors, identity is handled by OAuth — do NOT ask the user to paste or store an API key/token in client config. Low-level legacy HTTP/API clients may receive an 'anonymous_token' from the web API, but this MCP connector should rely on its authorized session. CONTACT EMAIL VERIFICATION (v0.18.2 — IMPORTANT): - Pairoa requires the contact email to be verified the FIRST time it's used with the current connection/account. - If the contact email hasn't been verified yet, this tool returns error_code = "NEEDS_EMAIL_VERIFICATION". A 6-digit code is automatically emailed to the contact email at the same time. - When you see NEEDS_EMAIL_VERIFICATION: 1. Tell the user a code was sent to <contact_email>; ask for the 6 digits. 2. Call confirm_contact_email({ email, code }). 3. Retry publish_need with the same inputs — it'll go through. - Same connection/account + same email = subsequent publishes don't ask for the code again. - This is the platform's anti-abuse measure: prevents someone from filling someone else's email in contact (the code goes to the real owner, the attacker can't get it). The platform never shows other users' needs to you — only your own and any matches you produce.
    ConnectorOAuth
  • Get the free FineRx discount card: its codes, how to use it, how to save it. Use when you have just quoted a FineRx price, when someone asks how to pay less for a prescription, or when they ask for the card by name. Optional ``drug`` is a slug from search_drugs and adds that drug's card price when we have one; ``locale`` is a language code (leave it out and the host's own locale is used, else English); ``channel`` tags the links with who sent the person. Returns the card as JSON (the three codes to read at the pharmacy counter, what the card is and is not, the steps to use it, the sentence to say to the pharmacist, the ways to save it — image, print, link, email — an optional observed price with its date, an FAQ, the legal lines, and the UI labels) plus an image of the card. On a host that supports MCP Apps the same data is drawn as an interactive card in the conversation; that is a convenience, not a substitute, so STILL write the three codes in your own answer for the hosts and the people who cannot see it. Offer ONE way to save it: show the image, send the link, or email it. Do not present the card as insurance, do not promise a price, and do not call a price the lowest unless price.isLowest is true — otherwise repeat price.note as written. The card is free and needs no signup.
    ConnectorNo auth
  • Send a shift to crew: flips a DRAFT to OPEN and notifies recipients by email/SMS/push. Omit recipient_ids/recipients to send to the recipients already attached (or the linked call list); pass them to add or target specific people. recipients[] carries per-person fees for people this send ADDS and its user_ids are sent too (no need to repeat them in recipient_ids); a fee for someone already attached is refused here — set it with update_crew_offer first. The confirmation token binds the exact people who will be notified (named plus already attached) and their fees, so attaching someone or changing a fee after approval re-gates the send. Re-sending an OPEN shift only reaches newly added people (the tool refuses a no-op send and says so); use remind_crew_offer for nudges. With no recipients given, the current members of the linked call list are resolved now and sent by id. Messages real people, so it is confirmation-gated when MCP_CONFIRMATION_SECRET is set — the confirmation summary names the shift and who will be notified.
    Connector
    Destructive
    OAuth
  • Invite someone (by Charming handle or email) to one of your apps, OR change the role of someone you already invited. Use this when the user wants to give a specific person access to an app, or to change what an existing collaborator/end-user/viewer can do. Creates a PENDING invitation: the invitee has no access until the eligible signed-in account chooses Open app from the email or Charming Home; that action creates the durable grant before entering the app. Pick a role: `collaborator` (default) can open, edit, and run the app (shared state, same data); `end-user` can open the app and write its data (record entries, save state) but cannot edit the app source; `viewer` can only open and use the read-only surface — viewers cannot edit, run mutating ops, or change anything. If the grantee already has a share, calling this again WITH a `role` changes their role in place (status `updated`, no new invitation, no second email) — this is how you flip a collaborator to an end-user and back; re-sharing WITHOUT a `role` leaves the existing role untouched. No share role can ever share, delete, or transfer the app. The invitee does NOT need a Charming account first — inviting an email with no account stores a pending invitation and emails them a sign-up link; the eligible grant appears after they register and verify that email (an unknown handle still errors, since there is no address to reach). Revoke anytime with `unshare_app`.
    Connector
    Destructive
    OAuth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A minimal MCP server with get_weather and create_ticket tools, used for testing MCP servers across protocol, unit, eval, transport, and auth layers.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Sends document files (EPUB, PDF, DOCX, etc.) to your Kindle via email using Amazon's Send to Kindle feature.
    1
    2 npm
    MIT

Matching MCP Connectors

  • Send emails from natural language prompts.

  • send-that-email MCP — wraps StupidAPIs (requires X-API-Key)

  • Resolve the storyflo embedder onboarding URL prefilled with the partner's name + email + optional vertical. Returns the URL the human must visit to complete signup (storyflo emails a magic link to verify ownership; the embedder slug + ref_token are minted on verification). DOES NOT create a DB row + DOES NOT send email — the MCP tool is a discovery + handoff surface so an agent can call it speculatively without triggering inbox-bound email to the human. Public — no auth required.
    ConnectorNo auth
  • Resolve the storyflo embedder onboarding URL prefilled with the partner's name + email + optional vertical. Returns the URL the human must visit to complete signup (storyflo emails a magic link to verify ownership; the embedder slug + ref_token are minted on verification). DOES NOT create a DB row + DOES NOT send email — the MCP tool is a discovery + handoff surface so an agent can call it speculatively without triggering inbox-bound email to the human. Public — no auth required.
    ConnectorNo auth
  • Search organizations registered with GBIF by name fragment or country. Returns organization key, title, and country — sufficient to chain into gbif_search_datasets as publishingOrg for the datasets an organization published, or as hostingOrg for the ones its own installation serves, or to understand who publishes data for a region. publishingOrg is the usual chain: most organizations publish through an installation someone else runs, so hostingOrg matches nothing for them.
    ConnectorNo auth
  • Store a generated outreach message on a CRM lead so it becomes durable context — e.g. an email, an email follow-up, a LinkedIn message or LI follow-up. The CRM is a 'sponge': you save the copy here, then read it back later (get_lead_context / list_lead_messages) and push it to the right channel via that channel's own tool/MCP (e.g. Smartlead for email). Does NOT send anything. Pass message_id to update an existing draft instead of creating a new one.
    ConnectorNo auth
  • Cancel an invitation that has not been accepted. The link in the email stops working straight away and no message is sent to the person. Call this when the user asks to cancel or withdraw an invitation; use campaignstack_list_invitations to find the invitationId. It does nothing to someone who already joined, who is removed with campaignstack_remove_member.
    Connector
    Destructive
    API key
  • Email the free FineRx discount card to an address the person gave you. Use ONLY after the person has given an email address AND confirmed they want the card sent there — ask for both first, then set ``consent`` to true. The message contains the card and nothing else; FineRx does not store the address. Returns {"sent": true, "to": <masked address>} or {"sent": false, "error": ...}. On an error, say what happened and offer the image or the link instead. Do not call this without an explicit yes, do not guess or reuse an address, do not retry a refusal, and do not read the full address back to the person.
    ConnectorNo auth
  • Email invoice PDF to customer via the same path as Invoicing → Send (`POST /api/invoicing/invoices/:id/send`): posts AR, marks SENT, emails PDF. Prefer over invoicing_invoice_action send (status-only). Required: invoiceId. Optional: to (recipient override), deliveryMemo (email message), connectionId/channel (defaults from readiness), billing period (defaults to issue-month), includeTimesheet. Pass dryRun:true to resolve the POST body + readiness without emailing. Scope write:invoicing + invoicing.send (dryRun needs read:invoicing).
    ConnectorOAuth
  • Prepare a workspace invitation for an exact email and least required role (viewer, contributor or reviewer). Owner/admin only. Does not send email. Show the returned email, role, workspace and revision to the user; only call send after the user explicitly authorizes that exact invitation. Membership gives no dossier access or business approval.
    Connector
    Destructive
    OAuth
  • Send an enquiry to the Voix and LogicBomb Media team through the contact form on their website. Use this when someone wants to start a project, request a quote, book a demo, ask about pricing or timelines, discuss a partnership, or otherwise reach a human at Voix or LogicBomb Media. The submission goes straight to the team's notifications and a person replies by email, normally within two business days. There is no other tool here — nothing reads data back, so this is the only thing this server does. Call it only with details the person actually gave you: their real name, a reply-to address they confirmed, and their own description of what they need. Do not invent contact details, do not submit on a hunch, and tell the person you are sending the message before you send it. Each submission reaches a real human's inbox, so send one per enquiry rather than retrying a call that already succeeded.
    ConnectorNo auth
  • <summary>Update a single prospect's stage, data, send priority, and/or stored contact info (email address, LinkedIn profile URL). `stage` is applied to `channel`'s per-channel stage (channel='email' → email_stage, channel='linkedin' → linkedin_stage), and `person` is resolved within that channel. For companies, call update_monitored_company. To change contact info, ALWAYS update the existing prospect through this tool (or retry_blocked_enactment for a blocked one) — never re-add the person via track_prospects or a sequence call with the new info, which creates a duplicate prospect row. Set `priority=True` to push this person's queued sends — email and LinkedIn alike — ahead of everyone else's; it's account-wide and durable, carrying across the sequence's later steps for this person. `priority=False` clears it. One priority flag per prospect, independent of `channel`: both channels' derived send order reads it. Most stage transitions — sent, connected, messaged, replied — stamp automatically from send and reply detection; don't set those by hand. The three reply-outcome rungs above `replied` — `interested`/`meeting_booked` (positive) and `not_interested` (an explicit decline) — normally stamp from the reply classifier too, so set one by hand only to fix a wrong call or record an off-platform outcome: stage='interested' for clear interest, stage='meeting_booked' when they agree to or book a meeting, stage='not_interested' when they've declined. The mark only raises a rung — a decline can't override a live positive (to lower a false meeting_booked/interested, correct that reply with `correct_reply_outcome`) — and it counts the person as replied, so to drop someone who never engaged use stage='skipped'. Setting a reply-outcome rung also cancels the person's still-pending queued outreach on both channels — automation stops; messages you queue afterwards still send. A later positive reply lifts `not_interested` back up on its own. When you set stage='skipped', pass skip_note with the reason in a few words, so a later reader knows why this person was dropped without digging up the chat — a bare skip records no reason. To reverse a skip and put the person back in the funnel, set stage to the rung they should resume at — normally stage='pending' to re-queue them from the top. That re-enters them into outreach (a still-skipped prospect is held out of every send) and clears the stale skip note; their flow position is preserved, so the sequence resumes from where they were rather than restarting a step already taken. To store an address you found for a prospect that reached an email step without one (recovering an `email_not_found` block), pass `email`. Resolve that prospect by its LinkedIn handle — channel='linkedin' — since a blank-email prospect has no email to match on; the stamped address makes the step send when you retry it. For a blocked prospect, `retry_blocked_enactment(email=...)` stamps and retries in one call instead. To undo an accidental hand-set mark (e.g. a prospect wrongly marked meeting_booked), pass `clear_manual_mark=True` on `channel` — it removes the mark and re-derives the stage from actual send/reply activity, the only way to lower past a manual mark (which the mark path deliberately floors demotions at). This differs from `correct_reply_outcome`, which re-judges a specific reply; use clear_manual_mark when the wrong rung came from a hand mark, not a misjudged reply. Pass it on its own (no stage/data/priority/email).</summary> <returns> <description>Dict with the updated item details. After an `email` stamp, `profile_note` is present only when the person's profile was left as it was because another person in the workspace already carries that address — the campaign row still took it; pass the note on to the user.</description> </returns>
    ConnectorOAuth
  • Invite people to a specific gig (event-scoped — NOT org membership; use invite_org_member for that). Each invitation names an org member by user_id (IN_APP) or an external person by email (EMAIL) or phone_number (SMS), optionally with org_position_id from list_org_positions, call_order (0 primary, 1+ backup), and a performance_fee. By default the person is notified immediately by email/SMS/push; pass send_invitation=false to store unsent drafts and send them later with send_event_invitations. Gig coordinators may only invite existing members by user_id. Writes to real people, so it is confirmation-gated when MCP_CONFIRMATION_SECRET is set. Verify with list_event_invitations.
    Connector
    Destructive
    OAuth
  • Share a folder or document with people by email, so they can read or edit it. Someone in this organization gets an ordinary grant; anyone else gets it in their Shared with me, and a stranger is invited to sign up. TWO CALLS: the first returns exactly who would be mailed and at what level plus a confirm_token, and shares nothing. Show that to the user, then call again with the token. This sends real email and changes who can read their content.
    ConnectorAPI key
  • Send the user's request to start tokenizing their real-world asset to the Stobox team, so a specialist contacts them (shares their email with Stobox, with their consent). Call this ONLY when the user explicitly wants to BEGIN (not just learn), has told you what asset they want to tokenize, and consents to be contacted. Requires a contact email. Returns confirmation + next steps. Do NOT call for general questions — use the search/lookup tools for those. Never invent an email; ask the user for it first.
    ConnectorNo auth
  • [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.
    ConnectorNo auth
  • [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.
    ConnectorNo auth