MCP serverio.github.hail-hq/hail-mcp
Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.
Overview
Score?
UNRATED 0.815
of what a free look can see, on 30 looks
Looks
35
last 16 hr ago
Tools
20
changed 7 days ago
More info
URL
mcp.hail.so/
streamable-http
Says it is
hail 1.30.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.815 · highest on record 0.8561
Toolsfrom sha256:b8cbfc7f5c…38e69e · +0 −0 7 days ago
| Tool | Schema |
|---|---|
| create_contact Save 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 neit |
input · output |
| get_call Fetch 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.
|
input · output |
| get_email Fetch 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 |
input · output |
| get_email_attachment Get a fetchable URL for one inbound email attachment.
``attachment_id`` comes from an item in ``get_email``'s
``attachments`` list. Returns ``{"url": "<presigned-s |
input · output |
| get_email_events Delivery/engagement timeline (sent→delivered→opened…) for one email.
Chronological lifecycle events for a single email — use this to see
exactly what happened to o |
input · output |
| get_email_raw Get 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. |
input · output |
| get_email_stats Account-level email deliverability stats (counts, rates, time series).
Aggregates across your whole organization's outbound mail over a
window — use this for "how' |
input · output |
| get_events Page 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 |
input · output |
| get_sms Fetch the current state of one SMS by id.
Use this after ``send_sms`` to check delivery status.
Example:
get_sms(sms_id="...")
|
input · output |
| list_calls List recent calls in your organization, newest first.
Cursor-paginated: pass the previous response's ``next_cursor``
to fetch the next page. ``status`` (one of que |
input · output |
| list_contacts List the workspace's contacts: org members (with their phone/email)
plus manually saved contacts. Use ``lookup_contact`` for name searches.
``q`` optionally filter |
input · output |
| list_email_domains List 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.
|
input · output |
| list_emails List emails in your organization, newest first.
Cursor-paginated: pass the previous response's ``next_cursor`` to
fetch the next page. Two optional server-side fil |
input · output |
| list_sms Page through recent SMS messages for your organization.
``status`` filters to one of: queued, sent, delivered, failed,
undelivered, received. ``to`` filters to mes |
input · output |
| lookup_contact Find 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`` |
input · output |
| place_call Originate an outbound phone call.
Provide ``system_prompt`` (mode A — Hail's bundled fallback LLM
uses this prompt) or ``llm`` (mode B — bring your own
Ope |
input · output |
| send_email Send 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`` i |
input · output |
| send_sms Send an outbound SMS.
``to`` must be E.164 (e.g. ``+14155551234``). ``body`` is the
message text. With no ``from_``: UK (+44) and Germany (+49)
destination |
input · output |
| upload_email_attachment Upload a file to attach to a future outbound email.
``content_base64`` is the file's raw bytes, base64-encoded.
Returns ``{"id": ..., "filename": ..., "content_typ |
input · output |
| whoami Identify 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 re |
input · output |
Verify it yourself
npx teppi-check https://mcp.hail.socurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2FMA4DC5VASKHG6XB0MG