io.github.zwebso/postlane
Send transactional email and read send activity through the Postlane API.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
postlane-mcpclaude mcp add postlane -e 'POSTLANE_API_KEY=<your postlane_api_key>' -- npx -y postlane-mcp@0.1.0
{
"mcpServers": {
"postlane": {
"command": "npx",
"args": [
"-y",
"postlane-mcp@0.1.0"
],
"env": {
"POSTLANE_API_KEY": "<your postlane_api_key>"
}
}
}
}
Environment variables
POSTLANE_API_KEYrequired secret Bearer key from https://www.postlane.email/app/api-keys. It starts with pl_live_.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Postlane
Postlane is a transactional email API. Applications use it to send welcome messages, address verification, password resets, and receipts from a verified domain.
Postlane is not an inbox, and it does not provide IMAP or hosted mailboxes.
- Product: https://www.postlane.email
- Docs: https://www.postlane.email/docs
- Pricing: https://www.postlane.email/pricing
- Sign in: https://www.postlane.email/login
Send
Create a key at API keys after you verify a sending domain. The secret is shown once and starts with pl_live_. Keep it on your server.
POST https://www.postlane.email/v1/emails
Authorization: Bearer pl_live_…
Content-Type: application/json
Idempotency-Key: welcome-user-123
{
"from": "hello@send.yourdomain.com",
"to": ["alex@example.com"],
"subject": "Welcome",
"html": "<h1>You’re in.</h1>"
}
A successful response is 202 with { "id": "em_…", "status": "queued" }. queued means the message was accepted for delivery. It does not mean the message is in the inbox. Repeating the same Idempotency-Key returns the original result and does not send again.
Errors use { "error": { "code", "message", "request_id", "retryable" } }. The same contract is published for agents at https://www.postlane.email/llms.txt.
Cursor
postlane-cursor/ is the Postlane plugin for Cursor. It teaches POST /v1/emails and exposes send_email, get_email, and list_emails. The API key is a plugin setting. It is not stored in this repository.
Development
npm install
npm run dev
Open http://localhost:5173. The first API request creates the local database schema. Local sends use a mock provider unless Email Sending is bound. accepted in that mode means the request was stored, not delivered.
npm test
npm run typecheck
Signed webhook delivery, attachments, and template versions are not part of the public API yet.
Frequently asked questions
What is io.github.zwebso/postlane?
Send transactional email and read send activity through the Postlane API.
How do I install io.github.zwebso/postlane?
It runs on your machine. In Claude Code: claude mcp add postlane -e 'POSTLANE_API_KEY=<your postlane_api_key>' -- npx -y postlane-mcp@0.1.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.zwebso/postlane need an API key?
Yes. It expects POSTLANE_API_KEY, which you set in its configuration.
Is io.github.zwebso/postlane open source?
Its code is public on GitHub, but the repository does not declare a standard license.
Who maintains io.github.zwebso/postlane?
It is published by zwebso. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.