Connect Claude to Postal
Add Postal as a custom connector in Claude (web, desktop and mobile) and ask it to look up and send emails in plain language.
- How you sign in
- Account (OAuth)
- Transport
- HTTP
- Recommended access
- Read and send
Before you start
Check these points before opening the Claude setup. They prevent most connection failures.
- A team with the "MCP server" plan feature (
mcp_access); without it the server responds 403plan_limit_reached. - To send emails, the team needs at least one verified domain.
- Each connection acts on a single team. To use another team, connect again and pick the other one.
- Connections are listed under Settings › AI connections in the dashboard, where they can be revoked at any time.
What Claude requires
Server reachable from the public internet (Anthropic connects from 160.79.104.0/21; allow it in your firewall/WAF if you have one). Free, Pro, Max, Team and Enterprise can add custom connectors (Free: one). On Team/Enterprise only Owners can add them. Tool results up to about 150 thousand characters and 240 s per call; OAuth must respond within 10 s (30 s on refresh). Anthropic caches the discovery metadata for about 5 minutes.
Connect
Follow the steps in order. The server address is always https://api.postal.so/mcp. This tool signs in with your account (OAuth).
- 1
Pro and Max plans: under Customize > Connectors, click + Add and then "Add custom connector". Free: one custom connector.
- 2
Give it a name (for example, Postal), enter the URL
https://api.postal.so/mcpand continue. - 3
Check the detected authentication (OAuth) and choose "Sign in now". Under "OAuth client" leave the default option: Claude identifies itself.
- 4
On the Postal screen, choose the team and click Allow; then click Add.
- 5
Team and Enterprise: an Owner adds the connector under Organization settings > Connectors > Add > Custom > Web, with the same URL; each person then opens Customize > Connectors and clicks Connect.
- 6
In each conversation, turn on the connector from the + button > Connectors.
Connector URL
https://api.postal.so/mcpAccess the tool needs
Postal splits access into three levels, explained in the scopes table. For Claude:
mcp:readView emails, domains, contacts, segments, topics, templates, broadcasts, automations, forms, inbox conversations, metrics and usage.
mcp:sendSend and schedule emails from verified domains and record events for automations.
mcp:fullEverything above, plus creating, changing and deleting contacts and templates, creating and sending broadcasts (send_broadcast requires confirm: true), canceling scheduled emails and working in inboxes (organize, reply, create drafts).
To ask "how did today's sends go?", mcp:read is enough. For Claude to send emails you need mcp:send. mcp:full is required to create templates, contacts and broadcasts and to reply in inboxes. Claude requests the three scopes Postal announces and, if a tool requires more than the connection has, it redoes the authorization (403 response insufficient_scope).
How to confirm it worked
The simplest proof is to ask for something read-only inside Claude itself. The connection also shows up under Settings › AI connections in the Postal dashboard, with the app, the team and the last use.
Illustrative example
For those who want the technical proof
npx @modelcontextprotocol/inspectorThe Inspector proves that the Postal server responds. It does not test Claude itself. The full walkthrough is in Validate the connection.
If something goes wrong
Go through the list in order. Then read what we know (and what we don't know) about Claude.
Check
- The address is exactly
https://api.postal.so/mcp, with/mcpat the end. - The connection type is HTTP (Streamable HTTP). Postal does not offer SSE: if the tool gives you the choice, use HTTP.
- The team has the "MCP server" feature on its plan. Without it, the server responds 403
plan_limit_reached. - To send emails, the team has at least one verified domain.
- Each connection acts on a single team. To use another one, connect again and pick the other.
- 429 response (
rate_limit_exceeded): the plan's requests-per-second limit was reached. Wait a moment and try again. - If the tool complains about the response size, ask for smaller lists (at most 100 items per call; the default is 20).
- To start over from scratch, revoke the connection under Settings › AI connections and connect again.
What was tested and what was not
We ran Postal's automated tests with the real documents and callback addresses the app publishes, and with the official MCP SDK client. It is not a test inside the real application. Below is the full note on what was and was not verified.
Test details
Verified by test: the metadata document Anthropic publishes for Claude (https://claude.ai/oauth/mcp-oauth-client-metadata, with the grants authorization_code, refresh_token and jwt-bearer) is accepted, the full flow (consent, token, refresh) works with the redirect https://claude.ai/api/mcp/auth_callback, and dynamic registration does too. This required a fix in Postal on 2026-10-28: before, the jwt-bearer grant caused the document to be rejected and the connection would have failed. Not tested inside the real Claude, and we could not confirm which of the two paths (document or registration) Claude picks: the documentation says it uses the document when the server announces client_id_metadata_document_supported and "none" in the token endpoint methods, which Postal does.
Frequently asked questions
Do I need an API key to connect Claude?
No. Claude signs in with your Postal account (OAuth), picking the team on the permission screen. This page does not document an API key path for it.
Can I limit what Claude does on my account?
To ask "how did today's sends go?", mcp:read is enough. For Claude to send emails you need mcp:send. mcp:full is required to create templates, contacts and broadcasts and to reply in inboxes. Claude requests the three scopes Postal announces and, if a tool requires more than the connection has, it redoes the authorization (403 response insufficient_scope). You can revoke the connection at any time under Settings › AI connections.
Keep going
Other tools
Each tool has its own walkthrough. See also the full list under AI.
Claude Code
Add Postal to Claude Code with one command and use the terminal to diagnose deliveries and send test emails.
See how to connectCodex
Set up Postal in Codex (CLI, IDE extension and app) with a few lines in config.toml.
See how to connectGitHub Copilot
Use Postal in GitHub Copilot: in VS Code via OAuth, in the Copilot CLI and in the Copilot cloud agent with an API key.
See how to connectReady to use Postal in Claude?
Create your account and connect. If you need help, talk to us through the contact form.