Generic / custom client
Any streamable-HTTP MCP client can connect with a Bearer production API key.
What are the connection details?
| Server URL | https://mcp.unitpost.com/mcp |
|---|---|
| Transport | Streamable HTTP |
| Auth header | Authorization: Bearer pk_live_YOUR_KEY(production key from www.unitpost.com) |
| Tools | one per API operation (emails_send, campaigns_send, …) |
How do I connect Generic / custom client?
Create a production API key
Open https://www.unitpost.com → Settings → API keys → create a scoped key. Copy the full
pk_live_…value (shown once). In every snippet below, replacepk_live_YOUR_KEYwith that value.Must be production. Keys from unitpost.dev only work on the dev API. This MCP URL is production (
mcp.unitpost.com) — a .dev key returns 401 Invalid API key on tool calls even if the server appears connected.Point the client at Unitpost
Configure a streamable-HTTP MCP server with these values:
Server URL https://mcp.unitpost.com/mcp Transport Streamable HTTP Auth header Authorization: Bearer pk_live_YOUR_KEY Tools one per API operation (emails_send, campaigns_send, …) Send the Authorization header
On every MCP request, send
Authorization: Bearer pk_live_YOUR_KEY(replace the placeholder; keepBearer).Grant only the scopes the agent needs (e.g.
emails:sendforemails_send). Prefer a revocable key dedicated to the agent.Discover tools
The server advertises one tool per API operation (
emails_send,campaigns_send,domains_verify, …). A write'sbodymaps to the API request body.Verify
Call a read tool (e.g. list domains). A 401 Invalid API key usually means a .dev key or a missing
Bearerprefix — recreate the key on www.unitpost.com and retry.
Every MCP call uses the same pipeline as the REST API (scopes, rate limits, suppression, tracking, webhooks). Full tool list: /api/v1/openapi.json.