New: campaigns, automations and product emails in the same account. Meet Postal
Sign in Create account
App builderCompatible per the specificationChecked on 10/28/2026

Connect Replit to Postal

Add Postal as an MCP server in Replit Agent and use your domains, templates and sends in the project.

How you sign in
Account or key
Transport
Not specified
Recommended access
Read and send
1

Before you start

Check these points before opening Replit's settings. They prevent most connection failures.

  • A team with the "MCP server" plan feature (mcp_access); without it the server responds 403 plan_limit_reached.
  • To send emails, the team needs at least one verified domain.
  • If you will use an API key: create the key in the dashboard, under API keys. It starts with ps_; a send-only key is enough if you will only send.
  • 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 Replit requires

A public HTTPS URL. The documentation does not state a plan, version or limits. Use the Authorization header (Postal does not read X-API-Key).

2

Connect

Follow the steps in order. The server address is always https://api.postal.so/mcp. Recommended path: API key (signing in with your account, via OAuth, also works). Wherever ps_... appears, use your own API key: the value shown is just an example.

  1. 1

    In Replit, open the MCP Servers panel and click "+ Add MCP server".

  2. 2

    Enter a name (for example, Postal) and the URL https://api.postal.so/mcp.

  3. 3

    Under "Advanced settings", add the Authorization header with the value Bearer ps_... (a Postal API key). If you prefer OAuth, leave the header out.

  4. 4

    Click "Test & save": Replit connects and, if the server requires OAuth, walks you through the Postal sign-in (choose the team and click Allow).

  5. 5

    Shortcut: the install link below fills in the name and URL.

Server URL

Text
https://api.postal.so/mcp

Header

Text
Authorization: Bearer ps_...

Install link

Text
https://replit.com/integrations?mcp=eyJkaXNwbGF5TmFtZSI6IlBvc3RhbCIsImJhc2VVcmwiOiJodHRwczovL2FwaS5wb3N0YWwuc28vbWNwIn0=
3

Access the tool needs

Postal splits access into three levels, explained in the scopes table. For Replit:

Required
Read your datamcp:read

View emails, domains, contacts, segments, topics, templates, broadcasts, automations, forms, inbox conversations, metrics and usage.

Recommended
Send emails and eventsmcp:send

Send and schedule emails from verified domains and record events for automations.

Replit Agent shows a confirmation before tools that require approval. mcp:read + mcp:send cover lookups and test emails; with a sending_access key the server exposes only send_email and track_event.

4

How to confirm it worked

The simplest proof is to ask for something read-only inside Replit itself. The connection also appears under Settings › AI connections, in the Postal dashboard, with the app, the team and the last use.

Illustrative example

List my domains on Postal.
I found 2 domains on the Aurora Cosméticos team: exemplo.com.br (verified) and loja.exemplo.com.br (verifying).

For those who want the technical proof

Terminal: tool list with an API key
npx @modelcontextprotocol/inspector --cli https://api.postal.so/mcp \
  --transport http \
  --header "Authorization: Bearer ps_..." \
  --method tools/list
34Tools expected with a full-access key

The Inspector proves that the Postal server responds. It does not test Replit itself. The full walkthrough is in Validate the connection.

5

If something goes wrong

Go through the list in order. Then read what we know (and what we don't) about Replit.

Check

  • The address is exactly https://api.postal.so/mcp, with /mcp at the end.
  • Replit's documentation does not state the transport. If it only speaks the old transport (SSE), Postal won't connect, and we could not confirm this.
  • 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

Compatible per the specificationChecked on 10/28/2026

We followed the app's specification and documentation, but have not yet tested with the real app. Below is the full note on what was and was not verified.

Test details

Replit's documentation requires an HTTPS URL and describes custom headers and OAuth dynamic client registration, but it does not state the transport (the catalog examples end in /sse), nor the redirect URLs, plans or limits. If Replit only speaks the legacy SSE transport, Postal (which only offers Streamable HTTP) will not connect: we could not confirm this. The Authorization: Bearer header with an API key was verified with the SDK. Not tested with the real Replit. All of Replit's MCP traffic goes through its own security checker, which can block tools.

Frequently asked questions

Do I need an API key to connect Replit?

It is not required. Replit can sign in with your Postal account (OAuth) or with an API key. Recommended path: API key (signing in with your account, via OAuth, also works). The send-only key (sending_access) exposes only send_email and track_event.

Can I limit what Replit does in my account?

Replit Agent shows a confirmation before tools that require approval. mcp:read + mcp:send cover lookups and test emails; with a sending_access key the server exposes only send_email and track_event. You can revoke the connection at any time under Settings › AI connections.

Ready to use Postal in Replit?

Create your account and connect. If you need help, talk to us through the contact form.