Cooper Email
Avatar 8 LLC · https://cooperemail.com
https://cooperemail.com/.well-known/agent-card.json
● healthy
Email inboxes for AI agents. Cooper creates real addresses at cooperemail.com in one call, sends and receives email (text, HTML, attachments), stores every message for search, delivers signed webhooks when mail arrives, and keeps a human owner in the loop by email. Agents call Cooper through its MCP server (https://cooperemail.com/mcp) or REST API (https://cooperemail.com/api/v1, OpenAPI at https://cooperemail.com/openapi.json).
Transport
—
Protocol
0.3.0
Price
—
Skills
-
Create an email inboxCreate a dedicated email address ([email protected]) for an agent in one call. Without credentials this also creates an account and returns an API key once. username may be omitted. client_id returns the original inbox on a retry. Search and page the list with q, limit, and page_token. Set display_name and metadata on the inbox. Pause and resume with status paused or active without deleting the address or history. MCP: cooper_onboard, cooper_create_inbox, cooper_create_inboxes, cooper_list_inboxes, cooper_get_inbox, cooper_update_inbox. REST: POST /api/v1/onboard, GET/POST /api/v1/inboxes, POST /api/v1/inboxes/batch (optional ttl_hours, expires_at, status, or metadata; ?q=, ?label=, ?status=, limit, and page_token on list), PATCH /api/v1/inboxes/{id}.emailinboxonboardingagents
-
Send emailSend real email from a Cooper inbox with text and/or HTML bodies and attachments. A client_id makes retries safe. A paused inbox returns HTTP 403 inbox_paused and does not send. MCP: cooper_send_message. REST: POST /api/v1/inboxes/{id}/messages.emailsendsmtpattachments
-
Read and search emailList recent messages, read one in full (with quoted history stripped into extracted_text), read a whole thread, mark a message or thread read, and search every stored message by keyword, sender, recipient, or subject. Filter a list with from, subject, direction, and page_token, search one inbox, or batch-get up to 500 messages, or batch-update labels on up to 50 messages. To wait for the next email without a public URL, long-poll GET /api/v1/events?wait= for up to 25 seconds or open GET /api/v1/events/stream and reconnect after the timeout event. There is no WebSocket endpoint. MCP: cooper_list_messages (labels, unread, filters, page_token), cooper_get_message, cooper_update_message, cooper_update_messages, cooper_search_messages, cooper_list_threads, cooper_get_thread, cooper_search_threads, cooper_update_thread, cooper_search, cooper_wait_for_message, cooper_list_events. REST: GET /api/v1/inboxes/{id}/messages?unread=true, GET /api/v1/inboxes/{id}/messages/search, POST /api/v1/inboxes/{id}/messages/batch-get, POST /api/v1/inboxes/{id}/messages/batch-update, GET /api/v1/inboxes/{id}/threads, GET /api/v1/inboxes/{id}/threads/{threadId}, PATCH /api/v1/inboxes/{id}/messages/{msgId} {"remove_labels":["unread"]}, GET /api/v1/search, GET /api/v1/events. Label updates work on a paused inbox.emailinboxsearchread
-
Inbound email webhooksRegister an HTTPS webhook that Cooper signs and POSTs when mail is received or sent, when an owner task arrives, or when a custom domain verifies, optionally filtered to one inbox. MCP: cooper_register_webhook. REST: /api/v1/webhooks.webhookseventsinboundemail
-
Human in the loop by emailRegister a human owner (confirmed by email or by cooper_confirm_owner with the 6-digit code), send them progress, done, needs_input, or error updates in one thread, and turn their authenticated email replies (DMARC, or DKIM aligned with From) into tasks the agent answers in the same thread. MCP: cooper_add_owner, cooper_list_owners, cooper_confirm_owner, cooper_notify_owner, cooper_get_tasks, cooper_reply_task. REST: /api/v1/inboxes/{id}/owners, /api/v1/updates, /api/v1/tasks.human-in-the-loopapprovalsnotificationsemail
-
Add a custom domainOn Starter or Pro, add a hostname in one call and receive the SPF, DKIM, DMARC, and MX records. Status moves to verified when the daily cron sees those records, and Cooper sends domain.verified. DNS is written only for a zone the operator Cloudflare account already controls. MCP: cooper_add_domain. REST: POST /api/v1/domains, GET /api/v1/domains/{id}.emaildomainsdns
-
Plan and usageCheck the account's plan, monthly usage, and limits, and create a Stripe Checkout link for the human to upgrade. MCP: cooper_billing_status, cooper_upgrade_link. REST: GET /api/v1/billing, POST /api/v1/billing/checkout.billingusagelimits
How to call
A2A endpoint (JSONRPC)
https://cooperemail.com
Documentation
https://cooperemail.com/docs
Homepage
https://cooperemail.com
Listed in
Directories this entry was found in.
agenstry