ReceiveHQ
Give your AI agent an inbound email address. Remote MCP (OAuth) to create domains, blackhole/webhook routes, and read mail. EU-hosted.
Hosted MCP Server
npx add-mcp 'https://receivehq.com/api/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
ReceiveHQ MCP
Connect AI agents (Cursor, Claude, etc.) to ReceiveHQ over Model Context Protocol — configure domains, create blackhole or webhook endpoints, receive and manage mail, and handle billing with OAuth. Agent-native: the full account lifecycle without the console.
Quick connect
- Create a ReceiveHQ account at https://receivehq.com/ (magic-link email sign-in).
- Add the MCP server URL to your client:
{
"mcpServers": {
"receivehq": {
"url": "https://receivehq.com/api/mcp"
}
}
}
- Start the client — it will open a browser for login and consent.
- Revoke apps anytime under Settings → MCP in the console.
Endpoints
| Path | Role |
|---|---|
GET/POST/DELETE /api/mcp | Streamable HTTP MCP resource (Bearer token) |
GET /.well-known/mcp | Discovery manifest (SEP-1960-style) |
GET /.well-known/mcp/server-card.json | Server card (SEP-1649-style) |
GET /.well-known/oauth-protected-resource/api/mcp | RFC 9728 PRM |
GET /.well-known/oauth-authorization-server | RFC 8414 AS metadata |
POST /api/mcp/oauth/register | Dynamic client registration |
GET /api/mcp/oauth/authorize | Browser authorize → consent UI |
Scopes
mcp:read— read toolsmcp:admin— mutating tools (create/update/delete, resend, checkout)
Tokens are user-scoped (all of that user’s tenants). Tools take tenantId and re-check membership on every call.
What agents can do
- Tenants: list / get / create / update / delete
- Inbound domains: CRUD + MX verify +
setup_inbound_domainwizard - Domain endpoints:
list_inbound_domain_endpoints,create_inbound_domain_endpoint - Tenant endpoints:
list_endpoints,get_endpoint,create_endpoint,update_endpoint,delete_endpoint - Messages: list / get / deliveries / resend
- Members & invitations
- Billing: status, Stripe Checkout URL, Customer Portal URL
- Logs: fetch retained attempt / raw-mail objects by key
Endpoint kinds (webhook vs blackhole)
Every route on an inbound domain has endpointKind:
| Kind | url | Behavior |
|---|---|---|
webhook | Required HTTPS URL | POST parsed mail (Postmark / Mailgun-SendGrid / CloudMailin format) |
blackhole | Omit / empty | Receive, parse, log; delivery status blackholed; no HTTP forward; works on trial |
Agent quick start (blackhole):
setup_inbound_domainwithendpointKind: "blackhole"(noendpointUrl) — orcreate_inbound_domainthencreate_inbound_domain_endpoint.- User points MX to
mx.receivehq.com; callverify_inbound_domain_mx. list_messages/get_message/list_deliveriesto read captured mail.
Webhook example: create_inbound_domain_endpoint with endpointKind: "webhook", url, and payloadFormat: "postmark".
Pricing reminder
€10/month or €100/year · 100k inbound emails · then €10 per additional 100k · first 10 emails free (trial). Hosted in Germany.
Related
- llms.txt — site index for LLMs
- MCP inbound email guide — agent signup + blackhole
- Alternatives — Postmark / CloudMailin / SendGrid / Mailgun
- Webhook API docs
- security.txt