MuseDirectory
All connectors / Developer Tools
Developer Tools

Hail

Phone, SMS and email for AI agents with OAuth login and zero install

Hail lets Muse and other AI agents make outbound calls, send SMS and email through a single MCP endpoint. Includes contact lookup, delivery tracking, engagement analytics, and built-in consent attestation for compliance.

Try asking Muse: "Send a reminder email to my customers about their upcoming appointments and track who opens it"

Working now?
Working
Worked last 7 days
100% of checks
How to get it
Extra setup
Account
No account needed
Price
Not stated

Source: Found in the official MCP Registry (io.github.hail-hq/hail-mcp) · First listed September 25, 2026

Last 24 hours

Each bar is one check, every 15 minutes. Green means it answered. Last checked 1 h ago.

Is it safe to connect?

What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.

Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.

musedirectory.ai is not part of Meta. More about how Muse handles your information

How to add it to Muse

Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Open Muse
https://mcp.hail.so/

Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.

Technical details: safety screening, tools, response time and recent checks

Response time at the last check: 765ms. Worked in 100% of checks over 30 days.

Screening · September 25, 2026

Screened, no issues found

MCP handshake
Pass
Answered in 513ms
Domain against threat feeds (Cloudflare security DNS)
Pass
mcp.hail.so, hail.so not flagged
Published packages against the OSV malicious-package database
n/a
No npm or PyPI package published
Hidden instructions or invisible characters in tool text
Look
place_call: Unusually long tool description; send_email: Unusually long tool description
Inputs asking for passwords, card numbers or seed phrases
Pass
None found
Domain and redirects
Pass
No redirects off the domain
AI review of purpose and tool behavior
Pass
No concerns

Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.

Tools · 20

place_callOriginate an outbound phone call. Provide ``system_prompt`` (mode A — Hail's bundled fallback LLM uses this prompt) or ``llm`` (mode B — bring your own OpenAI-compatible endpoint as ``{"base_url": ..., "api_key": ..., "model": ...}``), or both. At least one is required. Passing b
send_emailSend an outbound email through your configured SES sender. ``to`` is a non-empty list of RFC-style email addresses. At least one of ``body_text`` / ``body_html`` is required (both is fine — multipart-alternative). Prefer including ``body_html``: open and click tracking only works
upload_email_attachmentUpload a file to attach to a future outbound email. ``content_base64`` is the file's raw bytes, base64-encoded. Returns ``{"id": ..., "filename": ..., "content_type": ..., "size_bytes": ...}`` — pass ``id`` in ``send_email``'s ``attachment_ids`` list. The id is reusable across ma
get_callFetch the current state of one call by id. Use this after ``place_call`` (or to check on any prior call) to read the call's latest ``status`` and timing fields. Returns the API's ``CallResponse`` as a dict, or ``{"error": "call not found"}`` for an unknown id.
list_callsList recent calls in your organization, newest first. Cursor-paginated: pass the previous response's ``next_cursor`` to fetch the next page. ``status`` (one of queued, dialing, ringing, in_progress, completed, failed, busy, no_answer, canceled) and ``to`` (E.164) are optional ser
send_smsSend an outbound SMS. ``to`` must be E.164 (e.g. ``+14155551234``). ``body`` is the message text. With no ``from_``: UK (+44) and Germany (+49) destinations use your organization's sender ID (or ``HAIL``, the platform default); Australia (+61) always uses ``HAIL``; every other de
get_smsFetch the current state of one SMS by id. Use this after ``send_sms`` to check delivery status. Example: get_sms(sms_id="...")
list_smsPage through recent SMS messages for your organization. ``status`` filters to one of: queued, sent, delivered, failed, undelivered, received. ``to`` filters to messages sent to a specific E.164 number. Paginate with the returned ``next_cursor``.
get_emailFetch the full record of one email by id. Returns the complete row — including ``body_text`` / ``body_html`` and (for inbound mail) the ``in_reply_to`` / ``message_id`` headers and ``spam``/``virus``/``spf``/``dkim``/``dmarc`` verdicts. Use this after ``list_emails`` to read a re
list_emailsList emails in your organization, newest first. Cursor-paginated: pass the previous response's ``next_cursor`` to fetch the next page. Two optional server-side filters: * ``direction`` — ``outbound`` or ``inbound``. Pass ``direction="inbound"`` to read replies and other received
get_email_rawGet a fetchable URL for an email's original MIME source. Returns ``{"url": "<presigned-s3-url>"}`` — a short-lived (~5 minute) link to the full raw RFC822 message. Fetch the URL directly to read the complete original; it needs no auth header. Raw source exists for **inbound** mai
get_email_attachmentGet a fetchable URL for one inbound email attachment. ``attachment_id`` comes from an item in ``get_email``'s ``attachments`` list. Returns ``{"url": "<presigned-s3-url>"}`` — a short-lived (~5 minute) link to the attachment bytes, fetchable directly with no auth header. Unknown
get_email_eventsDelivery/engagement timeline (sent→delivered→opened…) for one email. Chronological lifecycle events for a single email — use this to see exactly what happened to one message (bounced? opened? clicked?) rather than the account-wide aggregates ``get_email_stats`` returns. Returns `
get_email_statsAccount-level email deliverability stats (counts, rates, time series). Aggregates across your whole organization's outbound mail over a window — use this for "how's deliverability doing" rather than one message's history (``get_email_events`` covers that). ``from_`` / ``to`` are
get_eventsPage through events from across the org or one resource. Pass ``id="<type>:<uuid>"`` to narrow to a single resource — supported types are ``call``, ``email``, and ``sms`` (e.g. ``id="sms:<uuid>"`` after ``send_sms``). When narrowed to a call, the response includes a ``call_status
list_contactsList the workspace's contacts: org members (with their phone/email) plus manually saved contacts. Use ``lookup_contact`` for name searches. ``q`` optionally filters server-side (matches name/email/phone). ``limit`` caps the page (server default 100, max 500). Returns ``{"items":
lookup_contactFind a contact by name, email, or phone fragment. Resolve a person to their ``phone_e164``/``email`` BEFORE calling ``place_call``, ``send_sms``, or ``send_email`` — do not guess a contact's number. Returns up to 10 matches, same item shape as ``list_contacts``. Example: lookup_c
list_email_domainsList the addresses this workspace can send email from. Call this BEFORE ``send_email`` when you do not already know the ``from_`` address — do not guess a domain. Returns ``{"items": [...], "next_cursor": ..., "default_from": ...}``. Each item carries ``domain``, ``kind`` (``"cus
whoamiIdentify the human whose credentials this session runs under. Use it to sign or route mail as that person: pass their address as ``send_email(reply_to=...)`` so replies reach them rather than the sending domain, which is often an unattended ``noreply@``. Returns ``{"auth_kind", "
create_contactSave a new contact for the workspace. Provide at least one of ``phone_e164`` (E.164, e.g. ``+14155551234``) or ``email`` — the API rejects (422) a contact with neither. A duplicate phone or email on an existing contact returns 409. Example: create_contact(name="Maya Chen", phone_

Recent checks

2026-09-28 08:46:03live · HTTP 200765ms
2026-09-28 06:30:57live · HTTP 20083ms
2026-09-28 04:15:46live · HTTP 200280ms
2026-09-28 01:45:59live · HTTP 200879ms
2026-09-27 23:30:53live · HTTP 200267ms
2026-09-27 21:01:17live · HTTP 2002098ms
2026-09-27 18:46:06live · HTTP 200721ms
2026-09-27 16:31:13live · HTTP 2003084ms
2026-09-27 14:31:26live · HTTP 2001447ms
2026-09-27 12:01:31live · HTTP 2002447ms
2026-09-27 09:46:13live · HTTP 2001395ms
2026-09-27 07:30:51live · HTTP 2001520ms

Link

https://mcp.hail.so/

Questions about Hail in Muse

How do I connect Hail to Muse?

Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Hail to help me. It is a free service with an MCP server at https://mcp.hail.so/. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Is Hail working right now?

At the last check (September 28, 2026, 08:46 UTC) the endpoint was working, answering in 765ms. Over the last 7 days it answered 100% of health checks. It is checked every 15 minutes.

Is Hail safe to connect to Muse?

It was screened on September 25, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.

What can Hail do in Muse?

It exposes 20 tools, including place_call, send_email, upload_email_attachment, get_call. For example, you could ask Muse: "Send a reminder email to my customers about their upcoming appointments and track who opens it"

Follow Hail

Tell me if Hail goes down, comes back, or changes its tools
One email per change. You confirm first, and every email has a link to stop.
Made this app? Claim it or get a status badge

Is this yours?

This listing was added from public sources (Found in the official MCP Registry (io.github.hail-hq/hail-mcp)). If you build Hail, claim it to correct the details and get your badge.

Claim this listing

Hail status badge

Paste this on your site or README. It always shows the latest check.

<a href="https://musedirectory.ai/connector/hail"><img src="https://musedirectory.ai/badge/hail.svg" alt="Hail on musedirectory.ai" width="236" height="40"></a>

More for app makers