Connect Plumail to ChatGPT
ChatGPT reads MCP servers as connectors. Plumail's server is hosted: there is nothing to run on your side.
Create an API key
In your Plumail workspace: Settings → API → New key. Name it, tick the permissions, save. The key is shown ONCE — copy it immediately. It starts with plm_live_ followed by thirty-two characters.
Add the connector
In ChatGPT: Settings → Connectors → Add. Enter the server URL and the authentication header. Developer mode must be enabled to add a custom connector.
URL : https://plumail.fr/api/mcp Transport : HTTP (Streamable HTTP) Header : Authorization: Bearer YOUR_KEYOr, for tools that use a config file
Cursor, Codex, Claude Desktop, Windsurf and most others read the same snippet. Paste it into their MCP configuration file.
{ "mcpServers": { "plumail": { "type": "http", "url": "https://plumail.fr/api/mcp", "headers": { "Authorization": "Bearer YOUR_KEY" } } } }Check that it's connected
Ask for the account status. This is read-only: nothing is modified, nothing is sent. The response names your workspace and lists your verified sending domains — those are the addresses you can send from.
In the conversation: "What Plumail workspace do you see, and which sending domains are verified?"
Troubleshooting
Every API error carries a readable code. Here are the ones you encounter when connecting.
| The connector stays "pending" or does not respond | The transport must be HTTP, not SSE: this server does not hold an open stream. A GET on the URL returns 405, which is expected — requests are made via POST. |
|---|---|
| 401 invalid_api_key | The key is incomplete (a newline crept in during copy-paste) or has been replaced. Create a new one. |
| 401 revoked_api_key | The key was cut under Settings → API. Create another one. |
| 403 insufficient_scope | The key does not have the required permission. Permissions are chosen at creation and cannot be changed: create a key with the right scope. |
| 422 unverified_from_domain | The sending address is not on a verified domain in the workspace. The error message lists the ones that are. To add one: Domains → Add a domain, then set the DNS records. |
| 429 rate_limit_exceeded | More than 600 requests per minute for this key. The Retry-After header says how many seconds to wait. |