Skip to main content
Glama
534,854 tools. Updated 2026-09-08 15:29

"How to summarize an email thread from Outlook and add it to a JIRA ticket" matching MCP tools:

  • Send an email reply on an existing thread. Goes FROM the original recipient address (the <slug>@shiply.now alias the sender used) and TO the original sender. Threaded via RFC 5322 In-Reply-To so Gmail/Outlook group it with the original. Subject defaults to 'Re: <original>' when omitted. Cap at 20,000 chars. Use after read_thread to make sure you're replying to the right conversation.
    ConnectorNo auth
  • Use this when the user wants to reply to an email that lives in the Mac's Apple Mail (message ID from list_emails/search_emails). Supports plain text or HTML body and previews before sending. To leave the reply in Drafts WITHOUT sending, pass `save_as_draft: true`: it builds the same native Mail reply (automatic quote of the original, correct thread, Reply/Reply-All recipients) and saves it instead of sending — `send` is never called on that path. `create_draft` with `reply_to_message_id` also leaves a draft, but composes it from scratch, so it has no automatic quote. For a Microsoft 365 message ID from m365_list_emails, use m365_reply_email. Pass `account` (from list_emails/search_emails results) to skip scanning other accounts and avoid timeouts on multi-account Macs.
    Connector
    Destructive
    No auth
  • Classify an existing support ticket by setting any of its priority, tags, and/or category in a single call; reach for this after reading a ticket to route or label it for the team. At least one of priority, tagIds, or category must be provided. This only updates the ticket metadata within the calling tenant: it never changes the ticket status and never contacts or notifies the customer. [price: $0.03]
    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
  • Read the thread on a request you or your principal filed earlier: whether a human has looked at it, and what they said. Use the `reference` and `access_token` from `request_human_assistance`. Answers arrive at human speed — hours or days, not seconds — so poll this occasionally rather than in a loop, and treat an empty thread as "not yet", never as "no". A reply is one human's view, recorded on request. It is not approval, not a retainer, and not authorisation to proceed.
    ConnectorNo auth
  • Returns the official ways to reach turva.dev and what starting an engagement takes: the email address, the Signal link, the LinkedIn profile, the business ID and location, the correspondence languages, the first-reply time, and the access an audit needs. Use this when a user asks how to contact turva.dev, how to start an audit, or what access has to be granted. For what is sold and what it costs use get_services instead. Read-only: returns static JSON that is compiled into the Worker, so it changes nothing and updates only on deploy.
    ConnectorNo auth

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

Matching MCP Connectors

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

  • Jira MCP Pack

  • Get Kifly's website and support contact email. Call this if you are stuck, hit an unresolvable error, or the buyer asks how to reach a human. Returns the website URL and support email — always share both with the buyer.
    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
  • Send a reply on an existing thread, from the mailbox that sent it. Inputs: threadId, body. Returns { messageId, deduplicated }. A reply is real sending volume and is governed exactly like campaign sends: it counts against that mailbox's daily cap (sentToday +1, visible in infrastructure_status), and it is REFUSED — never silently dropped — when the recipient is suppressed, the mailbox is deliverability-paused, or the cap is used up. A refusal returns { error, code:'send_blocked', reason:'suppressed'|'mailbox_paused'|'daily_cap_reached', retryable }: retryable (cap) clears at the next daily rollover, non-retryable does not, so stop retrying and don't loop replies to manufacture volume. Idempotent: identical retries collapse to one send — pass a stable idempotencyKey (else a body hash is used) so a dropped-response retry can't double-send. `deduplicated: true` means NO new email was sent — `messageId` is from an earlier send this call matched. `deduplicated: false` means this platform sent the call onward as a NEW send, which is normally a new email — but it is not a guarantee one left the building: with NO idempotencyKey the body hash is only matched here for 10 minutes, while the sending provider keeps its own record of an identical body on the same thread for longer, and can collapse a much later repeat into the original send. So on a long-delayed identical repeat you may get `deduplicated: false` with the ORIGINAL send's messageId and no new email. PASS AN IDEMPOTENCYKEY, or vary the body, if you need a repeat to genuinely go out. 404 if no sending mailbox is on record for the thread.
    Connector
    Destructive
    No auth
  • Add a comment to a ticket. DEFAULT is an INTERNAL note (is_internal=true): team-only, NOT shown to the customer. To reply visibly to the customer pass is_internal=false — the comment then appears on the customer's public ticket page. Draft internally first; make it public deliberately. Each comment carries app_url, an INTERNAL deep link to the ticket's task drawer — do not hand it to the customer; use the ticket's public_url (from retrieve_ticketsubmissions) for a customer-facing link.
    ConnectorAPI key
  • Summarize the user's imported collection: how many distinct cards, total copies, and where it was imported from. This is the SUMMARY only. Use search_my_collection to look up individual owned cards, and what_can_i_build to rank commanders they could assemble. Requires a free API key (send it as "X-API-Key: <key>" or "Authorization: Bearer <key>").
    ConnectorNo auth
  • Retire an owned ticket from the working set, or restore one. Archiving is a different axis from status: the ticket keeps whatever status it had, so a done ticket stays done and a blocked one comes back still blocked — never use status 'cancelled' to mean 'archived'. An archived ticket disappears from ticket_list, the stats, the buckets, the attention queue, and outbound JIRA/Linear sync, but keeps its id and URL so citations stay valid, and it refuses edits until restored. Cascades to the active subtree; restore brings back exactly what was archived alongside it. Nothing is destroyed — this is not a delete, and no delete tool is exposed.
    ConnectorNo auth
  • Issues a single-use `claim_token`, and the `claim_url` built from it, so the account's holder can set a password and take ownership. - **`email`:** send it when the account has no holder yet — the person is created by this call. Omit the body to re-issue the token for the holder the account already has. An `email` that differs from the existing holder's is rejected rather than replacing them. - **Lifetime:** tokens last 30 days, and only the last one issued is live. Issuing again invalidates the previous token, so the old link stops working the moment you ask for a new one. - **Not an invitation:** this hands the account itself over to its holder. To add a further person to an account that already has one, invite them with `POST /v1/accounts/{account_id}/invitations`. - **Entitlement:** requires `manage_accounts`. Endpoint: POST /v1/accounts/{account_id}/claim-tokens
    ConnectorNo auth
  • Get full detail for one AI-detected issue: every occurrence with timestamps, the sessions behind it, steps to replicate, comments, and any linked Linear or Jira ticket. Get issueId from list_issues; use this only when you need the evidence behind one issue. An unknown id, or one from another website, fails with 'Issue not found'; on a free trial, issues beyond the first 10 fail with 'Upgrade to view this issue'. Session detail names pages, referrers, and geography, so surface only what answers the question. Requires websiteId or domain with a workspace token.
    ConnectorOAuth
  • Write on a task's comment thread. `action: "add"` posts a comment, attributed to the connected user and visible to everyone in the workspace, so write it as a message to the user's teammates rather than a note to the user; nobody is notified. `action: "edit"` rewrites one of your own (only its author may, and it is then marked edited). `action: "remove"` deletes one permanently — comments have no Trash — so confirm with the user first. Read the thread with task_show and `include: ["comments"]`.
    Connector
    Destructive
    No auth
  • Write on a task's comment thread. `action: "add"` posts a comment, attributed to the connected user and visible to everyone in the workspace, so write it as a message to the user's teammates rather than a note to the user; nobody is notified. `action: "edit"` rewrites one of your own (only its author may, and it is then marked edited). `action: "remove"` deletes one permanently — comments have no Trash — so confirm with the user first. Read the thread with task_show and `include: ["comments"]`.
    Connector
    Destructive
    No auth
  • Send something through a destination right now, to move it from 'created' to 'known to work'. By default it delivers a synthetic 'LastPing test alert' immediately — use that after create_destination to confirm the credentials are right. For an EMAIL destination that is still unverified, a test alert is not what you need: an unverified email cannot be attached to a route at all, and no amount of testing changes that. Pass resend_verification=true instead to re-send the confirmation link a human must click. That is the tool to reach for when create_destination reported UNVERIFIED and the confirmation email never arrived or has expired.
    ConnectorNo auth
  • Add a participant to an encrypted discussion by wrapping the thread key with their published encryption key locally and storing only that envelope. Only an existing participant can do this — the server cannot add anyone, because it does not hold the thread key. Granting access lets the new participant decrypt the discussion's history as well, so grant deliberately. Verify the recipient's key fingerprint against get_key_history before wrapping. Newcomers cannot admit themselves: use list_agents with open_to_contact to find willing participants, and open_invite on a discussion to see whether its participants welcome join requests.
    ConnectorNo auth
  • Post-publish stage — read the owner's buyer/inquiry messages (GET /messages). Read-only. Requires ``access_token``. Two modes: - Omit ``thread`` → lists the ~20 most recent conversations, newest first, one row per thread (the latest message in each). Useful fields per row: ``address``, ``prop_id``, ``prop_status``, ``msg`` (latest text), ``subject``, ``requested_by`` / ``email`` (the other party), ``thread``, ``read_msg`` ("0" = unread), ``attachments``, and ``message_type`` (``sender`` if the owner wrote the latest message, else ``receiver``). - Pass ``thread`` → returns that one conversation in full, oldest-first. Use the ``thread`` value from a list row to drill in. The list is not paginated here on purpose (the upstream ``page`` param is overloaded — it sets both page size and page number — so it is not exposed). Soft-deleted messages are dropped after paging, so a page may hold fewer than 20 rows; that is not an error. The payload is a bare array under ``data``. A 401 means the token is no longer valid (logged out, or very old) — re-authenticate with `beycome_signin_start` then `beycome_signin_verify`. To answer a message, use `beycome_reply_message`.
    ConnectorNo auth
  • Orientation for wiring a redu.cloud capability (backups, DNS, extra storage, a managed DB, ...) INTO an app already deployed on redu, e.g. 'add a backup feature to the Supabase I deployed on redu'. Explains the pattern: mint a LEAST-PRIVILEGE scoped API key (with the user's approval via create_api_key), inject it into the app, and call the redu API from the app. Call this when a user asks to add/integrate a redu feature into a running deployment and you are unsure how.
    ConnectorNo auth
  • Add one or more domains to your snooze watchlist. Each is monitored continuously and you get an email when its status changes or it nears a drop. Requires signing in to your snooze account. Up to 25 domains per call (100 total).
    ConnectorNo auth