Guides

Connecting ChatGPT, Claude and other AI apps

The Mailyte MCP server: connect an AI app, what it may do, using your own agent, and how sign-in works.

ChatGPT, Claude, Cursor and any agent that speaks the Model Context Protocol (MCP) can work in your Mailyte account. Add one address to the AI app, approve it on a Mailyte page, and it can set up domains, send email, build and test campaigns, find out why an email did not arrive, and read your reports, with exactly the access you chose.

https://mcp.mailyte.com

Connect an AI app

The app sends you to Mailyte to sign in and approve it. Only an Owner or Admin can approve.

  • ChatGPT: in Settings, add a new app or connector (you may need to turn on developer mode), paste the address, then sign in to Mailyte when asked.
  • Claude: Settings → Connectors → Add custom connector, paste the address, then Connect.
  • Claude Code: claude mcp add --transport http mailyte https://mcp.mailyte.com, then run /mcp and sign in.
  • Cursor, VS Code and other MCP clients: add an MCP server of type "HTTP" (sometimes called "Streamable HTTP") with the address. The client opens Mailyte to sign in.

On the approve page you choose what the app may do. Only "See your account" is ticked to start: reading domains, mailboxes, contacts, campaigns, reports and delivery logs. Sending emails, setting up domains and mailboxes, changing contacts, building campaigns, checking addresses and changing settings are separate ticks. You can also connect in test mode, where every email the app sends is caught in your sandbox and nothing is delivered.

What it can and cannot do

The app acts through the same API your own code uses, with a key holding only the access you ticked. On top of that:

  • A daily limit. An AI app may send 200 emails a day and 50 people per email unless you change it in Integrations → Connected apps. Your plan's own limits still apply.
  • Campaigns and automations wait for you. It prepares and tests them; you press Send or Publish, unless you ticked "Let it send campaigns and start automations".
  • No secrets. It never sees or sets a password, an SMTP password or a signing secret. A mailbox it creates gets its login emailed to the address you name.
  • No copies of your mail. It cannot forward a mailbox, change mail-flow rules, or send incoming mail to a webhook. Those are the moves a malicious email would ask an assistant to make, so they stay in the dashboard.
  • It asks first. Tools that change or send something are marked so; ChatGPT and Claude ask you before each one.

Every action is listed under the app in Connected apps, and the organization's security contacts get an email when an app is connected. Disconnect stops it at once. An Owner can turn AI apps off for the whole organization in Settings → Security.

Using your own agent with an API key

An agent you build yourself can skip the sign-in and send an API key as a Bearer token:

curl https://mcp.mailyte.com \
  -H "Authorization: Bearer $MAILYTE_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

The tools it sees follow the key's scopes, exactly as the API does. The AI daily limit does not apply to your own keys; give the key a narrow scope list instead, as in Giving a key to an AI tool or an agent.

For builders: how sign-in works

The server follows the MCP authorization specification and OAuth 2.1:

What Where
Protected resource metadata https://mcp.mailyte.com/.well-known/oauth-protected-resource
Authorization server metadata https://mcp.mailyte.com/.well-known/oauth-authorization-server
Authorize (the approve page) https://mailyte.com/connect/authorize
Token, registration, revocation /token, /register, /revoke on mcp.mailyte.com
  • PKCE with S256 is required. plain is refused.
  • Clients identify themselves with a Client ID Metadata Document (an HTTPS client_id, preferred) or register with Dynamic Client Registration. Public clients use token_endpoint_auth_method: none.
  • Send resource=https://mcp.mailyte.com on the authorize and token requests; tokens are bound to it and refused anywhere else.
  • Access tokens last an hour; refresh tokens rotate on every use and expire after 60 days unused. Presenting a refresh token twice ends the connection: someone else has it.
  • Every authorization response carries iss.
  • A tool that needs access the connection lacks answers with _meta["mcp/www_authenticate"] (error="insufficient_scope"), so ChatGPT can offer to reconnect with more access.

When something is wrong

  • The app says it cannot connect, or asks to sign in again: the connection was disconnected, the person who approved it lost Owner or Admin rights, or AI apps were turned off in Settings → Security. Connect again.
  • "This connection may not…": the app was not given that access. Reconnect and tick it.
  • A send is refused for the daily limit: raise it under the app in Connected apps.

Next