← Home
Search by capability

Tool search 164,478 tools · 10,067 live servers

Filtersactive
Searches the tool schemas themselves, not the README. Every result is a server you can install.
30 servers with tools matching “emailBest-graded first
emailmddev.emailmd/emailmdAPublisher
  • render

    Render emailmd markdown into email-safe HTML. Returns html (the complete email document), text (the plain-text MIME part), meta (frontmatter), warnings (non-fatal repairs made while rendering; aim for none), htmlBytes, and previewUrl (a live browser preview of this exact document to share with the user).

  • lint

    Check emailmd markdown for deliverability, accessibility, and readability problems without rendering it: missing alt text, http:// links, Gmail's 102KB clip limit, generic link text, spam-trigger phrases, and more. Fix warnings before sending; suggestions are sometimes intentional (e.g. transactional emails without an unsubscribe link).

  • read_docs

    Fetch emailmd documentation from emailmd.dev. Call with no arguments for the index of all pages; pass page to read one (e.g. 'buttons', 'frontmatter', 'theme', 'directives/hero'). Read the relevant page before using syntax you are not sure about.

Palmyrai.palmyr/palmyrAPublisher
  • email_create_inbox

    Provision an email inbox at {name}@palmyr.ai (or a custom domain you own), keyed to your wallet. Costs 2.00 USDC, paid per-action via x402.

  • email_create_temp

    Provision a cheap, disposable, receive-only email inbox — ideal for receiving a one-off verification or order-confirmation email during a checkout/signup flow. The address (a natural-looking handle on a dedicated inbox domain) is returned in the response. Auto-expires (default 24h). Reads return plaintext to the owning wallet (no E2E key to manage). Costs 0.50 USDC, paid per-action via x402.

  • email_extend_temp

    Rent another 7 days on a live disposable temp inbox — each call pushes expires_at exactly 7 days further (fixed, stackable, no cap). Owner-only; expired temp inboxes cannot be revived (buy a new one via email_create_temp). Costs 0.50 USDC, paid per-action via x402.

  • email_send

    Send an email from an inbox you own. Costs 0.08 USDC, paid per-action via x402.

  • email_read_messages

    Read decrypted messages from an inbox you own (payment wallet must match the inbox). Costs 0.02 USDC, paid per-action via x402.

  • phone_temp_number

    Lease a cheap, instant, receive-only US phone number from a pool to receive one SMS verification code — the phone analogue of a disposable temp email inbox. $0.20 for 30 min (ttl_seconds, clamped 300–1800), returned to the pool at expiry; call wait_for_otp to catch the code. Good for one-time SMS verification and phone-gated signups. Works with major sites like Google, X, and Discord; some (Telegram, WhatsApp, OpenAI) may reject it as a VoIP number — for strict sites, buy a dedicated number with phone_buy_number. Pool numbers are recycled after the lease, so use them for one-time codes only, not long-term 2FA. Costs 0.20 USDC, paid per-action via x402.

Mailrith Email Marketingcom.mailrith/mailrithAPublisher
  • subscribers_upsert

    Creates a new subscriber when the email does not exist in the workspace. If the email already exists, the API updates the existing subscriber unless create_only is true. Effect: external-email. Retry with the same idempotency_key. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.

  • subscribers_update_status

    Changes the delivery status for one Subscriber without changing profile, targeting, or Sequence enrollment fields. Making a Subscriber Active requires consent_evidence; its collected_at value must include the correct UTC offset and must not be later than Mailrith's server time. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.

  • subscribers_add_tag

    Adds the selected Tag to a Subscriber. If the Subscriber already has the Tag, the API returns the Subscriber unchanged. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.

  • subscribers_remove_tag

    Removes the selected tag from a subscriber. If the subscriber does not have the tag, the API returns the subscriber unchanged. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.

  • subscribers_add_to_sequence

    Adds the selected subscriber to the selected sequence. If the subscriber is already in the sequence, the API returns the subscriber unchanged. Effect: external-email. Retry after reading the current resource state. Permissions: live_actions:write, subscribers:write. API reference: https://mailrith.com/developers/api-reference.

  • custom_fields_list

    Returns a bounded page of custom fields in the authenticated workspace, including each field's exact ready-to-use email personalization token. Permission: custom_fields:read. Pagination: use bounded pages and returned cursors. API reference: https://mailrith.com/developers/api-reference.

Agent Cold Emailio.github.YS-projectcalc/agent-cold-emailAVerified
  • setup_infrastructure

    Provision sending infrastructure: buy branded lookalike domains, create mailboxes, start warmup. New mailboxes are ramp-limited server-side — 5 sends/day in week 1, rising to 40/day after 4 weeks — and your own calls cannot exceed that cap; poll infrastructure_status for the current dailyCap. Inputs: brand, primaryDomain, domains + inboxesEach counts, persona, physicalAddress, senderIdentity. Billing is per-provisioned-mailbox ($10/mailbox + $49 platform, min 5) and the billed quantity follows what you provision here — pass quoteOnly:true first to preview the new count + projected monthly price before committing (no silent capacity addition). Every response carries a `billing` projection { provisionedAfter (the live count AFTER this call — reality, not the ask), projectedMonthlyCents, formula }: on quoteOnly it's the preview, on an actual provision it's the real post-provision bill (a capacity-limited partial reflects only what landed). Returns { jobId, billing } — `jobId` is a correlation id only, not a trackable job handle: there is no job store and no endpoint that accepts it, so do not poll for it or treat its presence as meaningful; it exists to correlate this response with logs. A `provisioning` field is present ONLY when the call returned still OWING work, and names which state: 'pending' (a domain's DNS registration is still completing — `pendingDomain` names one of them) or 'capacity_pending' (held at a spend/plan-slot limit, so polling will NOT progress until an operator raises it — call contact_operator instead of waiting). Its ABSENCE is what says the provision finished; the only way to find out is to re-call setup_infrastructure or read infrastructure_status's `nextSteps`. An outcome carrying `provisioning`, and a quoteOnly preview, are deliberately NOT recorded against your idempotencyKey — retrying with the same key re-runs the call and finishes the job rather than replaying the unfinished answer. `domains` and `inboxesEach` are the infrastructure you want to HAVE, not an amount to add: each call keeps and resumes what this account already has and buys only the shortfall, so to provision MORE you ask for a LARGER number (domains:2 after a call that provisioned one buys the second; raising inboxesEach tops each domain up). Repeating a call therefore never buys twice, whatever you do with idempotencyKey — resend it, change it, or omit it. The key controls response replay only and has no bearing on what is purchased, so a retry is always safe. A domain this account already registered but that never landed in your account (a prior call that failed after the purchase) is ADOPTED on the retry at zero extra cost rather than bought again. A domain whose DNS setup has not finished yet is recorded and never lost — there is no per-domain DNS field to poll (infrastructure_status reports a domain count, not per-domain detail), so read its `nextSteps` for what to do next, and repeat this same call to converge on the domain and finish its DNS setup. Slot semantics: `domains: N` covers ordinals 0..N-1, and each ordinal fills to its own mailbox count (uniform via `inboxesEach`, or per-ordinal via `distribution` — see below); a repeat call at the SAME `domains` provisions nothing new once every ordinal is satisfied, so reaching ordinal 1 needs `domains:2`, not a second `domains:1` call. Mailbox addresses are DETERMINISTIC — derived from `persona` + ordinal + slot — so keep `persona` EXACTLY as it was on a resume or retry; changing it mid-account does not move existing addresses but does change what a NEW ordinal derives. `distribution` (optional, alternative to `inboxesEach`) names the per-ordinal mailbox count directly — one entry per domain ordinal, e.g. `[3, 2]` for 3 mailboxes on domain 0 and 2 on domain 1 — for a shape `inboxesEach`'s single uniform number cannot express; supply exactly one of the two (an array with `domains` entries, or the uniform count). `registerDomains` is this tenant's opt-in consent to real domain purchases made on the platform's own account (our COGS — your bill is unchanged, mailbox-count-based only); only the operator's own global switch being armed too can ever actually enable it. OMITTING it leaves any consent you previously gave UNCHANGED — pass `false` explicitly to revoke it. A call that omits `registerDomains` (or sends it `false`) on a buy-bearing request (one that needs to purchase a new domain) is refused BEFORE any spend. Once this account has consented at least once, that refusal is a 400 `registrar_optin_missing`: 'registerDomains was not set on this request' — resend the identical call with it set to true to self-correct; this is never an operator escalation. (An account that has never consented, on a platform where domain registration is not yet enabled at all, instead sees the operator-facing 503 `registrar_unarmed` — indistinguishable from the outside except by status code, but the fix is the same: set `registerDomains: true` and retry.) Separately, a `registerDomains:true` call with NO `registrant` anywhere (neither in this request nor persisted from a prior one) fails with a 400 `incomplete_registrant` naming the missing fields — also before any purchase. Fresh candidates are de-duplicated against what this account already owns and checked for availability; if a call needs to buy a domain and no available un-owned candidate exists it fails with a 400 naming that, never a silent repeat purchase (a call that needs to buy nothing is unaffected). `registrant` (a full registrant-of-record object { firstName, lastName, email, phone, addressLine1, city, state, country, postalCode, organization (optional, defaults to brand) }) is OPTIONAL even when `registerDomains` is true whenever a complete registrant is already on file from a prior call — supplying one makes it authoritative for THIS call; omitting it re-uses the persisted one. This platform never invents a domain registrant's legal identity, so a call with no registrant anywhere (neither supplied nor persisted) is rejected naming the missing fields, at or before the actual purchase — never silently. There is NO background retry: a call returning `provisioning` needs the caller to retry it; the platform does not complete it for you on a timer. Every response carries `nextSteps` (see the discriminated `status`/`steps` shape) — the account's own next action, computed fresh each time, so a stalled setup is never silent.

  • inbox

    Unified reply inbox across mailboxes. Cursor-paginated → { threads[], nextCursor }; each row: threadId, campaignName, leadEmail, subject, mailboxEmail, label, lastEventType, markStatus. Filters: mailbox, campaign, label, read, includeNonreply (bounces/OOO, default true), archived (exclude|include|only). Use thread for one thread's history.

  • thread

    Full message history for ONE thread. Input: threadId (from inbox). Returns { threadId, campaignId, leadId, leadEmail, mailboxEmail (null before first send), messages[] }, each message { type (sent/reply/bounce/...), ts, messageId, metadata }, oldest first. 404 if unknown. Use inbox to LIST threads; reply to respond; mark/label_thread to triage.

  • reply

    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.

  • configure_byo_domain

    Register or advance a BYO domain/mailbox intake (SPEC.md §20). action = register (needs domain + domainRelationship: fresh_standalone|subdomain_of_primary|is_primary — runs the pre-flight live-infra scan + abuse gate + reputation ladder, returns the starting byoStatus) | poll_dns (needs id — re-checks DNS delegation/records, advances pending_dns → active, or → abandoned after 7 idle days) | acknowledge_consent (needs id + acknowledged:true — REQUIRED before a primary domain can proceed past pending_consent; this does not remove your business's exposure, it documents informed consent) | request_managed_mailboxes (needs id + count — platform-provisioned mailboxes on an ALREADY-ACTIVE domain, the primary shape; every response carries a `billing` projection { provisionedAfter, projectedMonthlyCents, formula } — quoteOnly:true previews it without provisioning) | connect_mailbox (needs id + email + transport — declares an EXISTING OAuth/SMTP+IMAP connection you already have, bypassing provisioning; transport is { kind:'smtp', host, port, secure, user, pass } | { kind:'gmail_api', clientId, clientSecret, refreshToken } | { kind:'ms_graph', mode, tenantId, clientId, clientSecret, refreshToken? }).

  • suppress_lead

    Permanently suppress an email address tenant-wide (every current and future campaign) — the manual/free-text 'stop emailing me' path for opt-outs the strict typed-unsubscribe matcher misses. Inputs: email, reason (fixed 'manual' — the only value this tool honestly claims; bounce/complaint/unsubscribe are recorded automatically elsewhere), note (accepted, not persisted). Cancels every pending send + marks every campaign-lead row 'suppressed'. Last-write-wins: re-suppressing a bounce/complaint/unsubscribe row relabels its reason to 'manual'. There is no un-suppress tool.

SMS and WhatsApp Messagingdev.hatchloop/sms-whatsapp-messagingAPublisher
  • send_message

    Send a message on behalf of an agent's user or an SMB across WhatsApp (free during launch), SMS, email, or voice. Five message types: transactional, reminder, follow_up, notification, marketing. Every send routes through a non-bypassable compliance gate (TCPA, GDPR, CASL, PDPL across 26 jurisdictions) that enforces opt-in consent for marketing/promotional content — marketing without recorded consent is rejected at runtime with a structured compliance_violation receipt. Channel is abstracted: specify intent and recipient; the service selects and falls back across channels. EXAMPLE USER QUERIES THAT MATCH THIS TOOL: user: "Text the salon I'll be 10 minutes late" -> call send_message({"recipient": {"id_type": "smb_id", "id_value": "smb_xyz"}, "message_type": "notification", "content": {"body": "Running about 10 minutes late for my appointment."}, "preferred_channel": "sms"}) user: "Email the dentist about insurance" -> call send_message({"recipient": {"id_type": "email", "id_value": "front-desk@example-dental.com"}, "message_type": "transactional", "content": {"body": "Do you accept Cigna insurance?"}, "preferred_channel": "email"}) WHEN TO USE: Use to: (a) confirm a booking the agent just made, (b) reply to a customer who messaged the SMB first, (c) follow up on a quote the user requested, (d) send appointment reminders the SMB owes its customer, (e) send marketing messages to recipients who have opted in (with consent_record_id). The gate verifies consent on every send. WHEN NOT TO USE: Do NOT use for OTPs or critical transactional confirmations — use send_transactional_confirmation. Do NOT attempt to send marketing without a consent_record_id pointing at a real opt-in — the gate will reject the send and log a compliance_violation. Do NOT attempt bulk / list-based / drip / cold outreach — those are out of scope and the rate limiter will throttle abuse. COST: from $0.02 per_call_variable (see preview_cost for exact) LATENCY: ~800ms EXECUTION: sync_fast (use get_outcome to retrieve result)

  • send_transactional_confirmation

    Idempotent transactional messages: OTPs, booking confirmations, payment receipts, cancellation notices. Falls back across configured channels; an unconfigured channel fails honestly rather than reporting a delivery that did not happen. EXAMPLE USER QUERIES THAT MATCH THIS TOOL: user: "Send the booking confirmation receipt to my email" -> call send_transactional_confirmation({"recipient": {"id_type": "email", "id_value": "customer@example.com"}, "confirmation_type": "booking_confirmation", "data": {"appointment_time": "2026-09-03T15:00:00Z", "business_name": "Salon 718"}, "preferred_channel": "email"}) WHEN TO USE: Use for any message that MUST be delivered reliably — OTPs, booking confirmations, receipts. Do not use for marketing. WHEN NOT TO USE: Do not use for marketing or promotional messages. Do not use for conversational messages. COST: $0.02 per_call LATENCY: ~500ms EXECUTION: sync_fast (use get_outcome to retrieve result)

  • check_compliance

    Free, instant pre-flight for the compliance gate. Runs the SAME TCPA / GDPR / CASL / CAN-SPAM / 10DLC gate that send_message and call_business run — but in preview mode, so NO message is sent and NO state changes. Tells you whether a (recipient, channel, message_type, content) send would be permitted BEFORE you pay for it, and if not, names the exact rule and how to remediate. Use it to de-risk a paid send the same way check_booking_link de-risks a paid booking. Attaches a compliance_receipt: an Ed25519-signed, hash-bound record of what was checked, when, against which sources, and what it returned - verifiable OFFLINE against the public key published at https://hatchloop.dev/agents.md, so you can hand it to an auditor as evidence the check really ran. EXAMPLE USER QUERIES THAT MATCH THIS TOOL: user: "Is it legal to text this US number a 20%-off promo?" -> call check_compliance({"recipient_id": "+14045550200", "content": "20% off this week only!", "channel": "sms", "message_type": "marketing", "country_code": "US"}) user: "Before you email the dentist, make sure it's allowed" -> call check_compliance({"recipient_id": "office@dentist.example", "content": "Do you accept Cigna? Following up on my request.", "message_type": "follow_up"}) -> then send_message({"recipient": {"id_type": "email", "id_value": "office@dentist.example"}, "message_type": "follow_up", "content": {"body": "Do you accept Cigna? Following up on my request."}}) WHEN TO USE: Call this the moment before send_message or call_business when there is any chance the send is regulated — anything tagged marketing, any SMS to a US number (10DLC), any message to an EU/UK (GDPR) or Canadian (CASL) recipient, or any content you are unsure about. It is free and sub-100ms, so run it as a guard: if legal=true, proceed to send_message with confidence; if legal=false, fix the cited blocker instead of burning a paid, rejected send. WHEN NOT TO USE: Do not treat a legal=true as a permanent license — the gate re-runs at send time, so a fresh opt-out between preview and send still blocks. Do not use it to check two-party voice recording consent (that is evaluated at call time in the voice adapter, not here). It is not a substitute for send_message; it never delivers anything. COST: free - no key required LATENCY: ~15ms

Send That Emailio.github.pipeworx-io/send-that-emailAVerified
  • subscribe

    Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cannot persist subscriptions). Supported types: "sec_8k" (8-K filings matching ticker + item codes — e.g. items:["5.02"] = officer change), "polymarket_edge" (Polymarket↔Kalshi cross-venue mispricings — params:{topic:"fed"}), "fred_series" (new FRED observations — params:{series_id:"UNRATE"}). Delivery channels: feed (always on — pull via recent_alerts or GET registry.pipeworx.io/alerts.json), and optionally email (set delivery:{email:"you@x.com"}) or sms (delivery:{sms:"+15551234567"} — phone must be verified at /account first; 10/day cap).

  • send_that_email_analyze

    Analyze whether you should send that email. Evaluates passive aggression, regret probability, and provides a recommendation (heavily weighted toward no).

Quantdatauk.quantdata/quantdataAPublisher
  • quantdata_request_free_api_key

    Get a free qd_ API key for an email address. No account, card, payment or GUI is required. The key covers all four market-data tools, sharing 10 successful calls per UTC day, and expires after 30 days. Ask the user for their email address first, then call this tool: the key is returned here so you can use it immediately in the X-API-Key header, and a copy is emailed to that address. Do not invent an address — the owner is told an assistant requested it and can have it disabled. This tool never returns a key that already belonged to that address; it issues one for this purpose only.

Twitter Scraper APIio.github.Br0ski777/twitter-scraperAVerified
  • twitter_scrape_profile

    Use this when you need to look up a Twitter/X user profile by username or URL. Returns structured profile data including bio, follower/following counts, tweet count, verification status, and recent activity. 1. username: the @handle 2. displayName: full name 3. bio: profile description text 4. followers: follower count 5. following: following count 6. tweetCount: total tweets posted 7. verified: blue checkmark status 8. createdAt: account creation date 9. avatarUrl: profile picture URL 10. bannerUrl: header image URL 11. location: stated location 12. website: linked URL 13. pinnedTweet: text of pinned tweet if any Example output: { "username": "elonmusk", "displayName": "Elon Musk", "bio": "...", "followers": 195000000, "following": 850, "tweetCount": 45000, "verified": true, "createdAt": "2009-06-02" } Use this FOR social media due diligence, influencer research, competitor monitoring, or verifying the legitimacy of an account before trusting its content. Do NOT use for tweet search -- use twitter_search_tweets instead. Do NOT use for trust/security scoring -- use trust_score_evaluate instead. Do NOT use for email lookup from social -- use email_find_by_name instead.

Domanirun.domani/domaniAPublisher
  • provision_agent

    Give an AI agent a complete internet identity in one call: buy a domain, set up email, create a mailbox, and (optionally) register a webhook for inbound email. Use this when someone wants to 'give my agent a domain and email' or 'set up an agent from scratch'. Confirm the domain and price with the user first (it charges for the domain). The domain purchase is the only step that can fail the call; mailbox/webhook are best-effort and report warnings.

  • claim_identity

    Give your agent a free identity at <handle>.domani.run - a live profile page, no domain purchase, instantly. The frictionless way to start; upgrade to your own real domain later. Optional name/bio/emoji/email/links.

  • update_identity

    Update a free identity's name/bio/emoji/email/links.

  • get_nameservers

    Get the authoritative nameservers configured for a domain you own. If empty, DNS operations (parking, email, connect) will fail.

  • create_token

    Create a new API token with optional scoped permissions and spend caps. The full key is returned only once - save it immediately. A token can only grant scopes it already has (scope attenuation) and spend caps at or below its own. Scopes: domains:read (GET /api/domains, GET /api/domains/{domain}, GET /api/domains/{domain}/dns, /dnssec, /status, /email/check, /auth-code, /transfer-away, /transfer-status, /analytics), domains:write (PUT /api/domains/{domain}/dns, POST/DELETE /api/domains/{domain}/dnssec, POST /connect, POST /verify, PUT /settings, PUT /parking, PUT/DELETE /api/domains/{domain}/for-sale, POST /api/domains/import, POST /import/verify), domains:transfer (POST /api/domains/buy, POST /transfer, POST /renew (involves payment, includes marketplace purchases)), tokens:read (GET /api/tokens), tokens:write (POST /api/tokens, DELETE /api/tokens/{id}), webhooks:read (GET /api/webhooks, GET /api/webhooks/{id}/deliveries), webhooks:write (POST /api/webhooks, PATCH /api/webhooks/{id}, DELETE /api/webhooks/{id}), email:read (GET /api/emails, /api/emails/{address}, /api/emails/{address}/messages, /api/emails/{address}/aliases, /api/email/changes, /api/domains/{domain}/email/status, /api/domains/{domain}/email/deliverability, /api/suppressions), email:write (POST /api/emails, POST /api/emails/{address}/send, POST /api/domains/{domain}/email/setup, aliases + catch-all, POST/DELETE /api/suppressions), email:delete (Permanently delete messages already in Trash. Moving messages to Trash only requires email:write. Grant this scope only to agents allowed to irreversibly erase email content), email:auth_secrets (Read messages classified as authentication mail (OTP / verification codes, password resets, magic links). Without it, email:read still lists them but subject and body come back redacted - so a stolen agent token can't harvest 2FA codes. Grant it only to agents that genuinely need to complete logins), account:read (GET /api/me, GET /api/agents/identity), account:write (DELETE /api/me, POST /api/billing/setup, POST /api/billing/subscribe, POST /api/billing/cancel, POST /api/me/resend-verification, POST/PATCH/DELETE /api/agents/identity), billing:read (GET /api/billing/invoices), search (GET /api/domains/search, /suggest, /whois, /dns-check, GET /api/tlds), deals:read (GET /api/deals, GET /api/deals/{id}), deals:write (POST /api/domains/sell, PATCH /api/deals/{id}), notifications:read (GET /api/notifications, GET /api/notifications/count), backorders:read (GET /api/backorders, GET /api/backorders/{id}), backorders:write (POST /api/backorders, DELETE /api/backorders/{id}). Use ['*'] for full access (default). When minting a token for a sub-agent that can buy, ALWAYS set max_per_tx/max_per_month.

  • connect_domain

    Connect a domain to a hosting or email provider. Auto-detects provider from target, or accepts explicit provider name. For domains bought through the platform, DNS records are set automatically (status: dns_set). For imported domains (external registrar), returns the records as instructions to add manually (status: manual_setup_required). If the connect would REPLACE existing MX records pointing at another provider, it fails with MX_REPLACEMENT_REQUIRES_CONFIRMATION - preview with dry_run, confirm with the user, then retry with confirm_replace_mx. The response includes a next_steps array with provider-specific actions. Supported hosting: vercel, netlify, cloudflare-pages, github-pages, railway, fly. Email: google-workspace, fastmail, proton.

Prediction Markets Quantcom.predictionmarketspicks/quantAPublisher
  • find_arbitrage

    Scan for cross-platform price gaps between Kalshi and Polymarket on the same sports contract (NBA, NHL, MLB, World Cup). Returns each game where the two venues disagree on the implied probability, the gap in percentage points, the WATCH/ARB signal, and which venue is cheaper. Free without a key: the single largest gap on the board, in full detail. One email returns the top 3; Pro returns the whole board. Use for "where is the arbitrage", "cross-platform price gaps", "Kalshi vs Polymarket mispricing". Every signal our engines publish is settled against the market that priced it and scored wins and losses in public: predictionmarketspicks.com/track-record.

  • market_pulse

    The US macro-health composite (0–100) and regime plus the six category scores (growth, labor, inflation, rates, liquidity, sentiment). The composite and the regime call are free without a key, always, along with 2 category scores; one email returns 4 and Pro returns all six. Use for "how is the US economy", "macro regime", "risk-on or risk-off". (NFL edges moved to the dedicated nfl_edge tool.)

  • draft_board

    The PredictionMarketsPicks 2026 fantasy football draft board (standard, half-PPR or full-PPR) — every player ranked, blending our projection model with consensus ADP, showing projected points, ADP, draft round, and a SLEEPER / BUST value flag. Filter by position (QB/RB/WR/TE/FLEX). THE COMPLETE BOARD IS FREE — all ~330 players, no key, no email, no signup. Pro adds the judgment on top: boom/bust week odds per player and positional tier breaks. Use for "fantasy football rankings 2026", "who are the top RBs", "draft board", "best available by position".

  • best_available

    Given the current pick number and the players already drafted, return the best players still on the board (2026, any scoring format), each with projection, ADP, and a value flag, plus the biggest model value available. The full remaining pool is FREE — no key, no email. Pro adds boom/bust week odds and the positional tier breaks across everyone still on the board. Prefer this mid-draft when the user asks "who is the best available", "who should I take next", "best player left". Input: pick_number, drafted (names already gone).

  • sleepers_and_busts

    The biggest gaps between the PredictionMarketsPicks model and consensus ADP for 2026 (standard, half-PPR or full-PPR): SLEEPERS the model ranks well above their draft cost, and BUSTS it ranks below. Filter by position or draft round. Every sleeper and every bust is FREE — the complete list, no key, no email. Use for "fantasy sleepers 2026", "draft busts to avoid", "undervalued players", "overrated fantasy players", "late-round sleepers".

  • who_do_i_draft

    Recommend the single best player to draft right now given the roster already on the user's team and their pick number, weighing positional need against the best value available (2026, any scoring format). The pick AND every alternative are free — no key, no email. Pro adds the reasoning behind each one. Prefer this mid-draft when the user asks "who should I take", "who do I draft", "what do I need". Input: roster (names on their team), pick_number, and optionally drafted (names already gone). Without drafted, the board is estimated from pick_number using consensus ADP. Returns one pick + a one-line reason.

Email Verification MCPio.github.FoundryNet/email-verify-mcpAVerified
  • verify_email

    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.

  • batch_verify

    Verify an array of email addresses in one call — the volume play for list hygiene and bulk lead enrichment. Returns a per-email result array (same signals as verify_email) plus a deliverable/disposable summary. Up to 100 emails per call; domain-level facts are cached and deduped, so repeat domains are cheap. PAID: $0.003 USDC per email, minimum $0.05, after the daily free allowance. 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.

  • lead_quality_score

    Score a B2B lead 0-100 (grade A-F) from email deliverability + domain credibility — decide whether a lead is worth your outreach time before you spend it. Combines deliverable/MX validity, disposable & role-account & free- provider detection, and domain age (cross-enriched from the FoundryNet brand- intel network) into a single score, with named signals and a recommendation. PAID: $0.01 USDC per lead after the 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.

  • batch_lead_score

    Score a batch of B2B leads in one call and get them back ranked best-first — the volume play for prioritizing a prospect list. Each lead is scored 0-100 (A-F) on email deliverability + domain credibility; returns a ranked result array plus a grade distribution and average score. Up to 100 leads per call. PAID: $0.01 USDC per lead, minimum $0.05, after the daily free allowance. 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.

  • daily_brief

    Get the curated daily email-verification brief — the day's verification activity in one package: volume, deliverability mix, disposable-domain hit rate, and the most-queried + most-flagged domains. Each brief carries a MINT provenance attestation so a buyer can verify it was produced by this server, unaltered. PAID: $5 USDC per brief. Defaults to today (UTC); a brief expires at the next midnight UTC. On a 402, pay the returned Solana memo and re-call with the SAME args plus payment_tx=<signature>. An fnet_ Bearer key bypasses payment.

  • mint_info

    FoundryNet Data Network + MINT Protocol details (FREE). How to attest your agent's email/contact verification on-chain for verifiable proof of work, and the sibling data servers available across the network.

Fantasy Football Draft Assistantcom.predictionmarketspicks/fantasy-draftAPublisher
  • draft_board

    The PredictionMarketsPicks 2026 fantasy football draft board (standard, half-PPR or full-PPR) — every player ranked, blending our projection model with consensus ADP, showing projected points, ADP, draft round, and a SLEEPER / BUST value flag. Filter by position (QB/RB/WR/TE/FLEX). THE COMPLETE BOARD IS FREE — all ~330 players, no key, no email, no signup. Pro adds the judgment on top: boom/bust week odds per player and positional tier breaks. Use for "fantasy football rankings 2026", "who are the top RBs", "draft board", "best available by position".

  • best_available

    Given the current pick number and the players already drafted, return the best players still on the board (2026, any scoring format), each with projection, ADP, and a value flag, plus the biggest model value available. The full remaining pool is FREE — no key, no email. Pro adds boom/bust week odds and the positional tier breaks across everyone still on the board. Prefer this mid-draft when the user asks "who is the best available", "who should I take next", "best player left". Input: pick_number, drafted (names already gone).

  • sleepers_and_busts

    The biggest gaps between the PredictionMarketsPicks model and consensus ADP for 2026 (standard, half-PPR or full-PPR): SLEEPERS the model ranks well above their draft cost, and BUSTS it ranks below. Filter by position or draft round. Every sleeper and every bust is FREE — the complete list, no key, no email. Use for "fantasy sleepers 2026", "draft busts to avoid", "undervalued players", "overrated fantasy players", "late-round sleepers".

  • adp_market_gaps

    Find the 2026 fantasy players whose Average Draft Position swings most between platforms — consensus vs ESPN, Sleeper, Yahoo, Underdog, etc. A wide gap (e.g. "consensus RB18 but ESPN drafts him RB30") is a platform-specific value: grab him where he goes latest. All 154 gaps are FREE — no key, no email. Pro adds the judgment layer on each row. Use for "ADP differences by platform", "where is a player cheapest", "ADP arbitrage", "who falls on ESPN vs Sleeper". Filter by position (QB/RB/WR/TE/FLEX).

  • who_do_i_draft

    Recommend the single best player to draft right now given the roster already on the user's team and their pick number, weighing positional need against the best value available (2026, any scoring format). The pick AND every alternative are free — no key, no email. Pro adds the reasoning behind each one. Prefer this mid-draft when the user asks "who should I take", "who do I draft", "what do I need". Input: roster (names on their team), pick_number, and optionally drafted (names already gone). Without drafted, the board is estimated from pick_number using consensus ADP. Returns one pick + a one-line reason.

FavCRMio.favcrm/favcrmAPublisher
  • preview_customer_import

    Preview a bulk customer import (max 2000 rows). Matches existing accounts by phone/email and shows create vs update actions plus points/stamps/credit deltas. Use commit_customer_import with the returned sessionId to apply.

  • update_account

    Update CRM account/customer profile fields such as name, phone, email, life stage, owner, notes, or member code.

  • search_crm

    Search across CRM accounts and contacts by name, email, or phone.

  • mark_invoice_sent

    Mark an invoice as sent to the customer (transitions DRAFT → OPEN). Use after delivering the invoice via email or share link. Idempotent.

  • list_campaigns

    List marketing campaigns (email, SMS, WhatsApp, or push) with delivery stats. Use the returned IDs when excluding recipients of previous campaigns.

  • create_campaign

    Create an email, SMS, WhatsApp, or push campaign in DRAFT. audienceExclusions can omit specific account IDs and recipients of previous campaign IDs. For email channelConfig, use subject + htmlBody + optional plainTextBody. recipientSource="list" is accepted as an alias for "individual".

Auradev.rohnelt.aura/auraAPublisher
  • identity_create

    Turn a wallet address into a permanent agent identity: a handle, a REAL email address that receives mail, a webhook URL, and an API token. Free, and grants a small trial credit. When to use: Call this once, before anything else. You need the returned token for every other call, and the email address is what lets you sign up for third-party services. Price: Free.

  • whoami

    Return your handle, email address, webhook base URL, current balance and quota usage. Free. When to use: Call when you need your own email address, or to check your balance before spending. Price: Free.

  • inbox_list

    List messages delivered to your Aura email address, newest first. When to use: Call after signing up somewhere, to see what arrived. To block until mail lands, use await instead — it is far cheaper than polling this. Price: US$0.001000 per call.

  • await

    Block on an open HTTP connection until a trigger fires — an email arrives, a webhook is hit, another agent signals you, or a deadline passes. Returns the instant it happens. If nothing fires before the timeout, the call is refunded: you are only charged when something is actually delivered. When to use: Call INSTEAD of polling in a loop. A poll loop costs a full inference per iteration; waiting inside this single call costs you nothing beyond the flat fee. Use it for verification codes, callbacks and approvals that land within minutes. Price: US$0.004000 per call. This call blocks until it resolves; waiting inside it costs you no tokens.

OSIR Domain Registrarcom.osir/domain-registrarAPublisher
  • createAccount

    createAccount: Create a new OSIR customer account; step 1 of onboarding, no authentication required. The contact must be the PRINCIPAL's real ICANN registrant contact (the human or business the account is for), never the AI agent itself. Sends a verification email; complete via verifyAccount with the emailed code. While PENDING_VERIFICATION the account can search, quote and fund; billable actions need ACTIVE. Calling again for a PENDING account re-sends the verification email.

  • createMailbox

    createMailbox: Stage creation of a paid mailbox on a mail-enabled domain. BILLABLE: deducts from account balance; get a quote with getMailboxQuote and confirm the price with the user first. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve. The result of the confirmed action contains the generated password EXACTLY ONCE; it can never be retrieved again, so show it to the user immediately (they can change it later with setMailboxPassword). Also share the client settings from the result (IMAP/SMTP/webmail).

  • deleteMailbox

    deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

  • enableMailDomain

    enableMailDomain: Enable email hosting on a domain you own. Free; mailboxes are what cost money. If the call fails with a DNS conflict (an existing SPF or MX record), ask the user for explicit consent, then re-call with spfMergeConfirmed=true and/or takeoverConfirmed=true. Requires authentication.

  • getContact

    getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organization, and address.

  • getHostingBundle

    getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and app/site deployment. No authentication required. Call this ONCE after a successful availability check or registration to make a concise hosting offer; do not repeat the offer in the same conversation. Prices are display prices; the authoritative amount is computed at purchase.

Email Deliverability Audit APIio.github.Br0ski777/email-deliverabilityAVerified
  • email_audit_deliverability

    Use this when you need to audit email deliverability configuration for a domain. Returns structured JSON with authentication record analysis and a deliverability score 0-100. 1. score (number 0-100) -- overall deliverability health score 2. spf (object) -- SPF record found, valid syntax, includes count, too-many-lookups flag 3. dkim (object) -- DKIM selectors tested (google, default, selector1, selector2), which ones pass 4. dmarc (object) -- DMARC record found, policy (none/quarantine/reject), rua/ruf reporting addresses 5. mx (object) -- MX records found, priorities, mail server hostnames 6. recommendations (array) -- prioritized list of fixes to improve inbox placement Example output: {"score":65,"spf":{"found":true,"valid":true,"record":"v=spf1 include:_spf.google.com ~all"},"dkim":{"google":true,"default":false},"dmarc":{"found":true,"policy":"none","record":"v=DMARC1; p=none"},"mx":[{"priority":10,"exchange":"alt1.gmail-smtp-in.l.google.com"}],"recommendations":["Upgrade DMARC policy from none to quarantine","Add DKIM for default selector"]} Use this BEFORE launching email campaigns, onboarding new domains for outreach, or diagnosing inbox placement issues. Essential for email marketers, sales teams, and IT admins managing domain reputation. Do NOT use for single email validation -- use email_verify_address instead. Do NOT use for finding email addresses -- use email_find_by_name instead. Do NOT use for domain WHOIS/DNS -- use domain_lookup_intelligence instead.

  • email_audit_deliverability

    Use this when you need to audit email deliverability configuration for a domain. Returns structured JSON with authentication record analysis and a deliverability score 0-100. POST variant of email_audit_deliverability -- same params passed as JSON body instead of query string. 1. score (number 0-100) -- overall deliverability health score 2. spf (object) -- SPF record found, valid syntax, includes count, too-many-lookups flag 3. dkim (object) -- DKIM selectors tested (google, default, selector1, selector2), which ones pass 4. dmarc (object) -- DMARC record found, policy (none/quarantine/reject), rua/ruf reporting addresses 5. mx (object) -- MX records found, priorities, mail server hostnames 6. recommendations (array) -- prioritized list of fixes to improve inbox placement Example output: {"score":65,"spf":{"found":true,"valid":true,"record":"v=spf1 include:_spf.google.com ~all"},"dkim":{"google":true,"default":false},"dmarc":{"found":true,"policy":"none","record":"v=DMARC1; p=none"},"mx":[{"priority":10,"exchange":"alt1.gmail-smtp-in.l.google.com"}],"recommendations":["Upgrade DMARC policy from none to quarantine","Add DKIM for default selector"]} Use this BEFORE launching email campaigns, onboarding new domains for outreach, or diagnosing inbox placement issues. Essential for email marketers, sales teams, and IT admins managing domain reputation. Do NOT use for single email validation -- use email_verify_address instead. Do NOT use for finding email addresses -- use email_find_by_name instead. Do NOT use for domain WHOIS/DNS -- use domain_lookup_intelligence instead.

mailverdictdev.mailverdict/mailverdictAPublisher
  • check_email

    Check an email address: syntax, disposable/burner domain, role account, free provider, typo suggestion, MX records. Returns result (deliverable|undeliverable|risky|unknown), reason, score 0-100, and per-signal booleans.

SMS Validator APIio.github.Br0ski777/sms-validatorAVerified
  • sms_validate_number

    Use this when you need to check if a phone number can receive SMS messages. Returns SMS capability data in JSON. Returns: 1. canReceiveSMS (boolean) 2. carrierType (mobile/landline/voip) 3. e164 formatted number 4. countryCode 5. numberType (mobile/landline/voip/toll-free) 6. carrier name. Example output: {"phone":"+14155551234","canReceiveSMS":true,"carrierType":"mobile","e164":"+14155551234","countryCode":"US","numberType":"mobile","carrier":"T-Mobile"} Use this BEFORE sending SMS campaigns, FOR filtering landlines from SMS lists, verifying 2FA phone numbers, and OTP delivery validation. Do NOT use for full phone validation with carrier lookup -- use phone_validate_number instead. Do NOT use for email validation -- use email_verify_address instead. Do NOT use for address validation -- use address_validate instead.

Email Finder APIio.github.Br0ski777/email-finderAVerified
  • email_find_by_name

    Search for people/contacts matching criteria and find their professional email address from name and company domain. Alternative to Apollo people-search at 4x lower cost. Returns the most likely email with confidence score after testing 15+ patterns against MX records. 1. email (string) -- best matching email address found 2. confidence (number 0-100) -- likelihood the email is correct 3. pattern (string) -- the pattern that matched (e.g. "first.last", "flast", "first") 4. allCandidates (array) -- all tested patterns with individual scores 5. domain (string) -- company domain used 6. mxValid (boolean) -- whether domain has valid MX records Example output: {"email":"john.doe@stripe.com","confidence":92,"pattern":"first.last","allCandidates":[{"email":"john.doe@stripe.com","score":92},{"email":"jdoe@stripe.com","score":75},{"email":"john@stripe.com","score":60}],"domain":"stripe.com","mxValid":true} Use this BEFORE sales outreach, cold emailing, or building prospect contact lists. Essential for searching for people/contacts and finding decision-maker emails when you only know their name and company. Drop-in replacement for Apollo people search. Do NOT use for email validation -- use email_verify_address instead. Do NOT use for company data -- use company_enrich_from_domain instead. Do NOT use for person data from email -- use person_enrich_from_email instead.

  • email_find_by_name

    Search for people/contacts matching criteria and find their professional email address from name and company domain. Alternative to Apollo people-search at 4x lower cost. Returns the most likely email with confidence score after testing 15+ patterns against MX records. POST variant of email_find_by_name -- same params passed as JSON body instead of query string. 1. email (string) -- best matching email address found 2. confidence (number 0-100) -- likelihood the email is correct 3. pattern (string) -- the pattern that matched (e.g. "first.last", "flast", "first") 4. allCandidates (array) -- all tested patterns with individual scores 5. domain (string) -- company domain used 6. mxValid (boolean) -- whether domain has valid MX records Example output: {"email":"john.doe@stripe.com","confidence":92,"pattern":"first.last","allCandidates":[{"email":"john.doe@stripe.com","score":92},{"email":"jdoe@stripe.com","score":75},{"email":"john@stripe.com","score":60}],"domain":"stripe.com","mxValid":true} Use this BEFORE sales outreach, cold emailing, or building prospect contact lists. Essential for searching for people/contacts and finding decision-maker emails when you only know their name and company. Drop-in replacement for Apollo people search. Do NOT use for email validation -- use email_verify_address instead. Do NOT use for company data -- use company_enrich_from_domain instead. Do NOT use for person data from email -- use person_enrich_from_email instead.

Email Send APIio.github.Br0ski777/email-sendAVerified
  • email_send_message

    Use this when you need to send an email to one or more recipients. Returns delivery confirmation in JSON. Returns: 1. messageId (unique identifier) 2. status (sent/queued/failed) 3. timestamp (ISO 8601) 4. to and from addresses 5. subject. Example output: {"messageId":"msg_01abc123","status":"sent","timestamp":"2026-04-13T14:30:00Z","to":"user@example.com","from":"noreply@x402.dev","subject":"Your Report"} Use this FOR sending transactional emails, notifications, alerts, password resets, order confirmations, and automated reports. Do NOT use for email validation -- use email_verify_address instead. Do NOT use for finding email addresses -- use email_find_by_name instead. Do NOT use for person data enrichment -- use person_enrich_from_email instead.

mcpai.sendraven/mcpAPublisher
  • send_email

    Send a transactional email, immediately or scheduled. Use scheduled_at with a relative phrase like 'in 3 days' or an ISO timestamp. The From domain must already be verified.

  • list_emails

    List recent messages with their delivery status. Filter by status (queued, scheduled, sent, delivered, bounced, complained, rejected) or recipient.

  • get_email

    Fetch one message with its full event timeline (send, delivery, bounce, complaint, open, click). This is the tool to reach for when asked why an email didn't arrive.

  • cancel_scheduled_email

    Cancel a scheduled email before it sends. Only works while status is 'scheduled'.

  • list_suppressions

    List addresses we refuse to mail and why (hard_bounce, complaint, unsubscribe, manual). Check here first when someone reports not receiving email.

  • list_threads

    List email conversations. Pass awaiting_reply=true to get only the threads where someone has written to you and you haven't answered — this is the tool to poll when deciding what needs a response.

Dead Simple Emailemail.deadsimple/dead-simple-emailAPublisher
  • create_inbox

    Create a new email inbox. Returns the inbox details including the email address. Args: display_name: Friendly name for the inbox (e.g. "Support Bot") tags: Comma-separated tags (e.g. "support,production")

  • list_inboxes

    List all email inboxes in the account. Args: limit: Maximum number of inboxes to return (default 20)

  • send_email

    Send an email from an inbox. Args: inbox_id: The inbox to send from to: Recipient email address (comma-separated for multiple) subject: Email subject line body: Email body (plain text) cc: CC recipients (comma-separated, optional) bcc: BCC recipients (comma-separated, optional)

  • forward_message

    Forward a message to new recipients. Args: inbox_id: The inbox containing the message message_id: The message ID to forward to: Recipient email address (comma-separated for multiple) body: Optional additional text to include

  • wait_for_email

    Block until a NEW inbound email arrives in the inbox, then return it. Use for signup/verification flows: trigger the action that sends the email, then call this to receive it. Only emails arriving after this call count. Args: inbox_id: The inbox to watch from_contains: Only match senders containing this text (optional) subject_contains: Only match subjects containing this text (optional) timeout_seconds: Max seconds to wait (default 60)

  • get_verification_code

    Wait for a verification/OTP email and return the extracted code. Waits for the next new inbound email, then returns the auto-extracted verification code (and any magic link). Perfect for autonomous sign-ups. Args: inbox_id: The inbox to watch from_contains: Only match senders containing this text (optional) timeout_seconds: Max seconds to wait (default 60)

Social Signalio.github.pipeworx-io/social-signalAVerified
  • subscribe

    Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cannot persist subscriptions). Supported types: "sec_8k" (8-K filings matching ticker + item codes — e.g. items:["5.02"] = officer change), "polymarket_edge" (Polymarket↔Kalshi cross-venue mispricings — params:{topic:"fed"}), "fred_series" (new FRED observations — params:{series_id:"UNRATE"}). Delivery channels: feed (always on — pull via recent_alerts or GET registry.pipeworx.io/alerts.json), and optionally email (set delivery:{email:"you@x.com"}) or sms (delivery:{sms:"+15551234567"} — phone must be verified at /account first; 10/day cap).

Social Profile Enrichment APIio.github.Br0ski777/social-profileAVerified
  • social_lookup_profile

    Use this when you need public profile data from a social media handle or URL. Returns structured profile data in JSON. Returns: 1. displayName and bio 2. avatarUrl 3. followerCount and followingCount 4. postCount 5. location and website 6. createdAt (account creation date) 7. isVerified (boolean) 8. platform. Example output: {"platform":"github","handle":"torvalds","displayName":"Linus Torvalds","bio":"Linux kernel developer","avatarUrl":"https://avatars.githubusercontent.com/u/1024025","followerCount":213000,"followingCount":0,"postCount":729,"location":"Portland, OR","isVerified":true} Use this FOR influencer research, lead enrichment, social listening, building contact profiles, and verifying social media presence. Do NOT use for email lookup -- use email_find_by_name instead. Do NOT use for company data -- use company_enrich_from_domain instead. Do NOT use for person enrichment by email -- use person_enrich_from_email instead.

  • social_lookup_profile

    Use this when you need public profile data from a social media handle or URL. Returns structured profile data in JSON. Returns: 1. displayName and bio 2. avatarUrl 3. followerCount and followingCount 4. postCount 5. location and website 6. createdAt (account creation date) 7. isVerified (boolean) 8. platform. Example output: {"platform":"github","handle":"torvalds","displayName":"Linus Torvalds","bio":"Linux kernel developer","avatarUrl":"https://avatars.githubusercontent.com/u/1024025","followerCount":213000,"followingCount":0,"postCount":729,"location":"Portland, OR","isVerified":true} Use this FOR influencer research, lead enrichment, social listening, building contact profiles, and verifying social media presence. Do NOT use for email lookup -- use email_find_by_name instead. Do NOT use for company data -- use company_enrich_from_domain instead. Do NOT use for person enrichment by email -- use person_enrich_from_email instead.

Email Verification APIio.github.Br0ski777/email-verificationAVerified
  • email_verify_address

    Verify email deliverability in real-time. Alternative to Hunter email-verifier at 15x lower cost. Returns a structured JSON report with syntax, MX, disposable detection, role-based flags, and quality score 0-100. 1. valid (boolean) -- overall verdict 2. syntax (boolean) -- RFC 5322 format check 3. mx (boolean) -- domain has working mail servers 4. disposable (boolean) -- Mailinator, Guerrilla Mail, 100+ throwaway providers 5. role (boolean) -- role-based address (admin@, info@, support@) 6. free (boolean) -- free provider (Gmail, Yahoo, Outlook) 7. score (number 0-100) -- composite quality score Example output: {"valid":true,"syntax":true,"mx":true,"disposable":false,"role":false,"free":true,"score":85,"email":"john@gmail.com"} Use this BEFORE sending outreach emails, adding contacts to CRM, or processing signups. Essential for verifying email deliverability, cleaning email lists, detecting fake registrations, and qualifying leads. Drop-in replacement for Hunter email verification. Do NOT use for finding emails -- use email_find_by_name instead. Do NOT use for person data -- use person_enrich_from_email instead. Do NOT use for domain deliverability audit (SPF/DKIM/DMARC) -- use email_audit_deliverability instead.

  • email_verify_batch

    Use this when you need to validate multiple email addresses at once (up to 100). Returns a JSON array of verification results plus summary counts. 1. results (array) -- each entry has valid, syntax, mx, disposable, role, free, score 2. summary.total (number) -- total emails processed 3. summary.valid (number) -- count of valid emails 4. summary.invalid (number) -- count of invalid emails 5. summary.disposable (number) -- count of disposable addresses caught Example output: {"results":[{"email":"a@test.com","valid":true,"score":90},{"email":"b@mailinator.com","valid":false,"score":10}],"summary":{"total":2,"valid":1,"invalid":1,"disposable":1}} Use this FOR bulk list cleaning, CRM hygiene, or pre-campaign validation. Essential when you have 5+ emails to verify at once. Do NOT use for single emails -- use email_verify_address instead. Do NOT use for finding emails -- use email_find_by_name instead.

Famulorio.famulor/famulor-mcpBPublisher
  • generate_ai_reply

    Generate a context-aware AI reply for a customer message. The system keeps conversation state per customer_identifier (e.g. phone, email, CRM ID).

Wedyesday — wedding planningcom.wedyesday.mcp/wedyesdayBPublisher
  • get_my_guest_list

    Get a summary of the couple's Wedyesday guest list: headcount, groups, how many have contact details on file, plus_ones and children. Guests' email addresses and phone numbers are never returned — those stay in the dashboard. Requires a connected Wedyesday account.

Sitecom.mailmergepdf/siteBPublisher
  • submit_enquiry

    Submits an enquiry to Mail Merge PDF — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "Happy for my details to go to document automation suppliers, who'll contact me directly."

Send Emailio.github.hal9ai/send-emailBVerified
  • chat

    Send emails via Resend using natural language prompts

VolunteerRemindercom.volunteerreminder/mcpBPublisher
  • import_volunteer_schedule

    Parse a pasted or uploaded volunteer roster + schedule (CSV or a table with columns like name, phone, email, job/role, day, start, end) and either PREVIEW or CREATE the contacts, schedules, and assignments. Always call first with confirm=false and show the user the upcoming shifts; only call again with confirm=true, passing back preview_token from that preview, after they approve. Import is test-mode only and is refused on some accounts. Use create_account first if they do not have an account — do not invent a second signup path. This tool never changes reminder mode, never enables the confirm loop or substitute finder, and never texts real volunteers. New accounts stay in test mode. Requires `read` for preview; `schedules:write` and `contacts:write` to commit. Set consent_attested=true on commit when any row has a phone number (the coordinator affirms the volunteers agreed to be texted).

  • get_reminder_settings

    Read the account's reminder lead times (the account-wide default plus any per-job overrides) and which channels (email / SMS) are available on the current plan. Reminder overrides are per JOB, not per individual schedule. Requires the `read` scope.

  • send_test_reminder

    Send a single TEST reminder to the account owner's own email/phone so they can preview what a reminder looks like. This never reaches volunteers — it always reroutes to the owner. Optionally pass a schedule_id to preview that schedule's reminder; otherwise a generic sample is sent. Requires the `reminders:write` scope.

  • create_account

    Start a new VolunteerReminder account for a human, using their email address. This does NOT finish signup and does NOT return an API key: it emails the person a verification link they must click to activate the account. Nothing can be built on the account and no reminders can ever send until they verify — and even then a new account starts in safe `test` mode (reminders reach only the owner, never volunteers) until a human turns on live sending from the dashboard. Idempotent: calling it again with the same email re-sends the link and creates no duplicate. After the user tells you they've verified, they mint an API key from the dashboard and reconnect this connector with it. Tell the user to check their email.