Skip to content
Agentmart
Submit a tool

Postfleet

Give an AI agent its own email address: send, reply, read, and wait for mail.

Connector by postfleet.aiOfficial · Domain verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/postfleet-ai-postfleet

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://api.postfleet.ai/api/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Give an AI agent its own email address: send, reply, read, and wait for mail.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
7 read · 8 write · 1 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 16

Read from the source code; the running server may list different tools.

Read 7 · Look things up without changing anything.

  • get_draft
  • list_domains
  • list_drafts
  • list_inbox
  • list_mailboxes
  • read_email
  • wait_for_email

Write 8 · Create, change, send or run things.

  • create_domain
  • create_draft
  • create_mailbox
  • reply_email
  • send_draft
  • send_email
  • update_draft
  • verify_domain

Delete 1 · Delete, drop, revoke or wipe things.

  • delete_draft

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • POSTFLEET_API_KEY

Other settings (environment variables or headers).

  • Authorization
  • POSTFLEET_API_URL

Network hosts it talks to 1

  • api.postfleet.ai · found in remote endpoint, install command

Tools (16)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • create_domainCreate domain

    Register a NEW custom sending domain on this account. Call this when list_domains does not already include the domain you want to host mailboxes on. Returns the domain id, verification status, and the DNS records to add at your registrar. The domain stays pending until those records are in place — call verify_domain after publishing them. Custom domains require a paid plan. A name that is already registered with Postfleet or the email provider is a conflict, not a success; do not retry with the same name.

  • create_draftCreate draft

    Prepare an email as a draft without sending it. Call this when you want to stage a message for later or for a human to review before it goes out — send it afterward with send_draft. Same fields as send_email, or omit to/subject and pass reply_to_message_id to draft a threaded reply. Returns the draft id with status "draft".

  • create_mailboxCreate mailbox

    Create a NEW email mailbox this agent owns. Call this when list_mailboxes shows you have no suitable mailbox yet — mailboxes persist across sessions, so creating a second one for the same purpose strands mail in the first. Returns a working address immediately. Optional slug personalizes the address (agent-<slug>@...). To create the mailbox on a custom domain instead of the shared one (<slug>@yourdomain.com), pass a domain_id from list_domains — the domain must be verified.

  • delete_draftDelete draftcan change or delete data

    Discard a draft by its id so it will never be sent. Call this when a staged or pending-approval message should be withdrawn — e.g. it is no longer needed or was created by mistake. A draft that is already sending or sent cannot be deleted.

  • get_draftGet draftread-only

    Read one draft in full by its id: recipient, subject, body text, attachment metadata (filename, type, size, and url when the file is URL-backed — never the bytes), and current status. Call this when you need the content of a specific draft — e.g. to review what is queued for approval after list_drafts, or before editing it with update_draft.

  • list_domainsList domainsread-only

    List the account's custom sending domains with their id, name, and verification status. Call this when you want to create a mailbox on a custom domain (pass the id of a verified domain as create_mailbox's domain_id), or to check whether a domain has finished verifying. Only status "verified" domains can host mailboxes; an empty list means only the shared platform domain is available.

  • list_draftsList draftsread-only

    List the open drafts in a mailbox (status draft, pending_approval, or sending), newest first. Call this when you need to see messages you have staged or that are queued waiting on human approval, e.g. after a send returned status "pending_approval".

  • list_inboxList inboxread-only

    List recent messages in a mailbox, newest first, with comprehension status per message. Call this when checking what has arrived; use read_email for full content and extracted data.

  • list_mailboxesList mailboxesread-only

    List the mailboxes you can use, newest first, each with its id and email address. Call this when you need a mailbox_id for any other tool, or to check whether you already have a mailbox before creating one — it is usually the first call in a workflow. Returns every mailbox on the account, or just your own if your API key is scoped to a single mailbox. An empty list means you have none yet — use create_mailbox.

  • read_emailRead emailread-only

    Read one email in full: cleaned body, sanitization report (screened against known hidden-content patterns), classification, and data extracted to the mailbox schema. Call this when you need the content or extraction of a specific message.

  • reply_emailReply to email

    Reply to an email you received. Call this when answering an existing message — recipient, subject, and conversation threading are derived automatically from the original. Pass a client_id (any unique string you make up) and reuse the SAME client_id if you retry after an error — that guarantees the reply is sent at most once. If the mailbox requires human approval, the reply is queued as a draft and returns {draft_id, status:"pending_approval"} instead of a message id — that is NOT a failure and must NOT be retried; it is sent once a human approves it (check with list_drafts).

  • send_draftSend draft

    Send a draft you prepared, by its id. Call this when a staged draft is ready to go out. If the mailbox requires human approval, this returns 202 {draft_id, status:"pending_approval"} — the draft is queued for a human to approve, which is NOT a failure and must NOT be retried; it is sent once approved. Otherwise it sends immediately and returns the message id.

  • send_emailSend email

    Send a new email from one of your mailboxes. Call this when starting a NEW conversation; to answer an email you received, use reply_email instead (it threads correctly). Pass a client_id (any unique string you make up) and reuse the SAME client_id if you retry after an error — that guarantees the email is sent at most once. If the mailbox requires human approval, the send is queued as a draft and returns {draft_id, status:"pending_approval"} instead of a message id — that is NOT a failure and must NOT be retried; the email goes out once a human approves it (check with list_drafts).

  • update_draftUpdate draft

    Edit the to, subject, text, or attachments of a draft that has not been sent yet — omitted fields keep their current value. Call this when a draft needs changes, e.g. a human declined to approve it and you are revising it. The reply target cannot be changed (create a new draft to reply to a different message), and a draft that is already sending or sent can no longer be edited.

  • verify_domainVerify domain

    Re-check DNS for a custom domain and refresh its verification status. Call this when you have added the records returned by create_domain, or when list_domains still shows pending and you believe DNS has propagated. Returns the current status (pending, verified, or failed). Only a verified domain can be passed to create_mailbox as domain_id.

Show 1 more tools
  • wait_for_emailWait for emailread-only

    Block until a matching email arrives in a mailbox (or time out). Call this when you just sent an email and need the reply, or are expecting an inbound message — instead of polling list_inbox yourself. Returns the full message on match, or {timed_out:true}.

Signals

Stars
0
Forks
0
Open issues
0
Last commit
Sep 28, 2026 (1 month ago)
Last release
Sep 2, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
ai.postfleet/postfleet
Version
0.1.4
Auth
Bearer token, API key
Packages
npm @postfleet/mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Postfleet MCP server. Agent Mart. https://agentmart.dev/connectors/postfleet-ai-postfleet (last updated 2026-10-24)