Skip to main content
Glama
753,743 tools. Updated 2026-11-06 22:45

"How to send an email through the end-user's Outlook" matching MCP tools:

  • Send or reply to an email from the user's connected Gmail, Microsoft/Outlook or IMAP account. Use reply_to_message_id for a true reply when available. Only send after the user has clearly requested/approved the final recipients and content.
    Connector
    Destructive
    OAuth
  • Subscribe the user to a FREE weekly email digest of Canadian funding opportunities matching a saved search (keywords + region). Each week they get 8–10 grants, newest first, falling back to the strongest current matches when nothing new landed. WHEN TO CALL: - The user, after a search, says yes to ongoing alerts, or asks to be notified / kept updated / emailed about new grants in their niche. - Only after they have explicitly agreed and given an email address — never subscribe someone proactively or without consent. HOW TO CALL: - Pre-fill "keywords" and "region" from the search you just ran so the digest matches what they were looking at (e.g. keywords "cleantech", region "BC"). Keep keywords to a short phrase, not a sentence. - "region" must be a province code (ON, BC, QC, AB, MB, SK, NS, NB, NL, PE, YT, NT, NU) or "Federal", or omit it for all-of-Canada. - Ask the user for their email; do not guess it. Never invent, test with, or fill in a placeholder address (e.g. user@example.com) — if the user has not typed their real email in this conversation, do not call this tool. Undeliverable addresses are rejected with "Invalid email". WHAT HAPPENS: - We send a one-click confirmation email (double opt-in). The user is NOT subscribed until they click it. Tell them to check their inbox. - If they were already confirmed, nothing is re-sent. Returns JSON: { ok: boolean, status: "confirmation_sent" | "already_subscribed" }. Confirm to the user what they signed up for (e.g. "weekly BC cleantech grants — check your email to confirm").
    ConnectorNo auth
  • 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
  • <summary>Attach a file from the user's library to a queued outreach email or LinkedIn message. Only attach when the user explicitly asks to attach a specific file to someone's message — never on your own initiative. attachment_id comes from list_attachments. Name the queued message by exactly one handle: recipient_email for a queued email (pending or awaiting approval); target_provider_id for a queued LinkedIn message, or target_identifier for one whose profile is still resolving — both as shown on the row in manage_linkedin_invite_queue's status read. On LinkedIn only messages carry files, not connection requests or InMails, and LinkedIn takes fewer file types than email; a file the channel can't send is refused with the reason. The same file can be attached to several messages.</summary> <returns> <description>The attached file's name and every file now on that message, shaped `{'attached': True, 'filename', 'attachments': [{'id', 'filename', 'mime_type', 'size'}]}`.</description> </returns>
    ConnectorOAuth
  • Rahul's contact details (email, LinkedIn, portfolio), with an option to email him directly. Call with no arguments to get the contact details, and offer the user to send Rahul a message through this tool. Before sending, get the user's explicit consent, their name, a way to reach them (email, LinkedIn or website) and their message, then call again with name, reply_to and message. Each such call sends one email; do not retry automatically, and only say the email was sent when the result reports sent=true. Args: name: The sender's name. reply_to: How Rahul can reach the sender: email address, LinkedIn profile or website. message: The message or introduction to send Rahul.
    ConnectorNo auth
  • Send the account holder a code to link the card issuer Starts the one-time card issuer link: the card issuer sends a one-time code to the account holder. Then call `POST /verify-card-issuer-link` with the code they enter. **The account holder, never the agent, receives and enters the code.** Send your human to their own inbox (or phone) and have them type the code into your interface. Never try to read the account holder's email or messages yourself, and never ask for their email password or access. **Where the code goes.** An account with an email on file always gets the code at that email; `email` and `phone` are ignored for it. An account with no email (a wallet-only sign-in) must send exactly one of `email` or `phone` (E.164). The response names the destination masked, never in full. **Limits.** Codes last 10 minutes. At most 5 codes can be sent per account in any rolling hour (`429`, with `Retry-After`). Sending a new code replaces the previous one, which then stops working. **Prerequisite:** Laso identity verification (`403 kyc_required` otherwise, with a `kyc_url`). If the account is already linked, this answers `200` with `status: linked` and sends nothing, so calling it twice is safe. **This route is free.**
    ConnectorOAuth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    D
    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
    Not graded
    quality
    C
    maintenance
    Enables sending transactional emails with text or HTML body, delivery status, and message ID via Resend. Pay-per-call using x402 micropayments (USDC on Base L2), no API key or signup required.
    MIT

Matching MCP Connectors

  • A MCP server for Outlook email that lets you search, read, and draft emails and replies.

  • send-that-email MCP — wraps StupidAPIs, keyless: analyze whether you should send that email…

  • Add one or more items to the user's shopping list (or a specific list by id). Items appear in the user's LastList app on its next sync. Writes are literal — if an item might already be on the list, call get_list first and bump its quantity or skip it rather than adding a duplicate. Ask the user before adding items they didn't explicitly request. Quantities: `qty` is always the COUNT OF BASE UNITS, not the number of packages. For 'a dozen eggs' send qty 12 with packSize 12 and packLabel 'dozen'; for 'two 12-packs of soda' send qty 24, packSize 12, packLabel '12-pack'. For anything sold by weight or volume ('2 lbs of chicken') send qty 2 with unit 'lb' and soldBy 'WEIGHT'. Getting this right is what lets the app's pack stepper and consume_items track what the user actually has.
    ConnectorOAuth
  • Start free API key authorization; no existing API key needed. Returns a verification_url. Ask the user to open that URL in their browser, enter their own email, then open the verification email and confirm access for their agent. This tool does not accept email addresses and does not send email. Do not choose, invent, or submit an email on the user's behalf. Poll check_api_key_status with the returned request_id at the supplied interval. Stop if the request expires. Never create new requests in a loop.
    ConnectorNo auth
  • Unlock 10 bonus calls on this trial key, one time only, in exchange for the user's email address. Call this when the trial limit is reached and the USER has chosen the free-bonus option and given you their email in this conversation. NEVER guess, invent, or reuse an email the user did not explicitly provide for this. The key on this connection is upgraded in place, nothing to reconfigure. Free and unmetered.
    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
  • 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
  • Post-publish stage — reply to a buyer/inquiry message (POST /messages/reply). Sends a real message and queues a real email notification to the recipient, so the text you send is final — treat this as a live send, not a draft. ALWAYS improve the user's drafted reply before sending: fix grammar, spelling, punctuation, capitalization, and formatting, and tighten wording for a clear, professional tone — while preserving their meaning and intent. Send the corrected version, never the raw draft. When the user says "reply saying X", treat X as a rough draft to polish, not literal text to send verbatim. Requires ``to_user_id`` (the counterparty), ``message``, and ``access_token``. For a threaded reply pass the original ``thread`` verbatim and omit ``subject`` (the server prefixes "Re: <original subject>"). To find ``to_user_id``, open the conversation with `beycome_messages` and take the participant id that is not the signed-in owner. Success is 201 with ``data.id`` set to the new message id. Failures come back as 400 with a plain message: "User not found." (bad ``to_user_id``), "You cannot send a message to yourself." (``to_user_id`` is the sender), or "Invalid parameters" (e.g. empty/over-long ``message``). A 401 means the token is no longer valid — re-authenticate with `beycome_signin_start` then `beycome_signin_verify`.
    ConnectorNo auth
  • Requires `checkout:write` or `checkout:link`, or no key: send `meta.ucp-agent.profile` for the same payment link. **Checkout is always human-in-the-loop: it returns a link the buyer opens and confirms — it never charges a card or completes an order on its own.** **Call `set_shipping_address` first unless `fulfillment` is `"external"` (the seller's site collects the address).** Cart total must not exceed the platform cap (`kifly://platform/limits`). **To pre-fill the buyer's email on the payment page, pass `email` — ask the buyer for it in plain language ('what email should the receipt go to?'). Never ask the buyer to paste a token.** Read `payment_rail` on the response BEFORE telling the buyer anything: `'stripe-checkout'` is paid through Kifly, `'directory-handoff'` hands the buyer to the seller's own site to pay, with a tracked link per product and no Kifly payment link, and `'shopify-native'` sends the buyer to the seller's own checkout. **Full response field reference, including every refusal code: read the `kifly://docs/checkout-response` resource.**
    Connector
    Destructive
    No auth
  • Page through inbound email newest first, or tail new mail with since and wait. Filters by domain, status, date and sender, recipient or subject words; for body text, attachments or replies to a send, use searchEmails. Rows carry id, thread_id, received_at, from, to, subject, status and snippet; open one with getEmail. Result: emails, cursor for the next page (null at the end), and total, total_capped and total_unavailable when set.
    ConnectorNo auth
  • Sends a reply to the customer on an existing ticket and DELIVERS it immediately (customer email plus any connected chat threads). This is not a draft and it reaches the customer. Use this once you have a final, customer-ready answer; to instead queue a reply for human approval, use the draft tool. Requires a "send"-tier credential (a draft-tier credential is refused) and the ticket must already have a customer email on file or the call is rejected. [$0.06 draft / live when trusted]
    ConnectorNo auth
  • How many bet checks the caller has left and when the next one frees up - 100 a day shared per device anonymously, 1000 an hour with a signed-in user's token. Free, spends no check. It grades nothing, so it is not a step before a check: call it when a check comes back refused for quota, or before working through a long list of bets.
    ConnectorNo auth
  • A table of contents for this user's memory: which sources are connected (email, calendar, docs, …), how many items each holds, and the top people, topics and projects. It is an index rather than an answer — it contains no message bodies, no dates and no content, so it establishes that a source exists without saying anything about what is in it. The content behind any entry it lists is retrievable with cortex_ask.
    ConnectorNo auth
  • Register a free hpsilab account for yourself, with no human involvement, and receive an API key immediately. Call this when the user has no API key yet and asks to sign up from here, or when a refusal's `next_actions` names register_account and the user agrees. This is the only tool that works without an API key. You do not need a password, a wallet, or a web browser. The account is bound to you server-side, so calls you make after this are metered as your account even though you cannot change your own Authorization header. The account is created unverified, with only a capped evaluation allowance and no trial Credits, until the email address is confirmed; confirming it grants the one-time 100-Credit Registered Trial (14 days). Ask the human you are working with to click the link in the email that will arrive. Calling again from the same caller returns the same account with a fresh key; an address that belongs to another account is refused. A valid user email address is required. Do not call this tool with an empty or fabricated email address. If the user's email is unavailable, ask the user to provide it before calling register_account. Args: email: The real user email address that will receive verification.
    ConnectorNo auth
  • Register a free hpsilab account for yourself, with no human involvement, and receive an API key immediately. Call this when the user has no API key yet and asks to sign up from here, or when a refusal's `next_actions` names register_account and the user agrees. This is the only tool that works without an API key. You do not need a password, a wallet, or a web browser. The account is bound to you server-side, so calls you make after this are metered as your account even though you cannot change your own Authorization header. The account is created unverified, with only a capped evaluation allowance and no trial Credits, until the email address is confirmed; confirming it grants the one-time 100-Credit Registered Trial (14 days). Ask the human you are working with to click the link in the email that will arrive. Calling again from the same caller returns the same account with a fresh key; an address that belongs to another account is refused. A valid user email address is required. Do not call this tool with an empty or fabricated email address. If the user's email is unavailable, ask the user to provide it before calling register_account. Args: email: The real user email address that will receive verification.
    ConnectorNo auth
  • Replace the ssh keys authorised for root on a persistent Linux machine. This is how you revoke: send the list without the key you want gone, and on a running machine it stops working immediately. Sending an empty list removes every key. Not a patch — whatever you send becomes the whole list, so read the current keys from scalix_computer_list first if you mean to add one.
    Connector
    Destructive
    No auth
  • Your OWN payment history with a recipient address: how many times, how recently, and whether this amount is typical. Call it before paying an address you have not confirmed. THIS IS NOT A REPUTATION SCORE and says nothing about whether the address is honest. A familiar address is NOT a safe address — keys get compromised. Never tell a user an address is "trusted" or "safe" on the basis of this. A `first-time-recipient` result is NOT a warning about the recipient — every legitimate relationship has a first payment. It is the moment to confirm the address through a second channel, because address substitution can only be caught before you send. Read `coverage`: float-lane payouts are NOT included, so "first time" can be wrong.
    ConnectorNo auth