https://app.lettr.com/mcp and authenticates through OAuth 2.1. Connect directly from Claude.ai, Claude Desktop, Claude Code, ChatGPT, Cursor, or GitHub Copilot — no API key required.
No browser available — CI, a cron job, a headless agent? The same server also accepts a
lttr_ API key in an Authorization header: see Connect with an API Key. The lettr-mcp npm package that ran on your own machine is no longer updated.Prerequisites
You’ll need a Lettr account with at least one verified sending domain and an AI assistant that supports the Model Context Protocol.Connection Details
When configuring your AI client, use the following settings:Setup by AI Client
- Claude
- Claude Code
- ChatGPT
- Cursor
- GitHub Copilot
Claude.ai and Claude Desktop
Claude connects to remote MCP servers as custom connectors. A connector added on Claude.ai is also available in Claude Desktop.1
Open Connectors
Open Customize → Connectors, click +, and select Add custom connector.
2
Add the Lettr Server
Enter “Lettr” as the name and
https://app.lettr.com/mcp as the remote MCP server URL, then click Add.3
Sign In
Click Connect. A browser window opens to Lettr’s OAuth flow. Sign in and authorize Claude to access your account.
4
Verify Connection
Start a new conversation and ask Claude about your email infrastructure.
On Claude Team and Enterprise plans, an Owner adds the connector once under Organization settings → Connectors. Each member then finds Lettr in their connector list, marked Custom, and clicks Connect to sign in with their own Lettr account.
Verifying the Connection
After connecting, verify that your AI assistant can access Lettr by asking a simple question:“List my sending domains”The AI should respond with your verified sending domains. If you see domain information, the connection is working correctly.
Available Tools
Once connected, your AI assistant can work with every part of your Lettr account. Each tool does exactly what the matching API endpoint does.
See the Tools Reference for every tool by name.
Permissions and Confirmations
Every tool runs as you, in the team you choose (see Choosing a Team), and goes through the same team permission checks as the dashboard. The AI can’t reach other teams’ data. Tools that send email, overwrite data, or delete it are marked as destructive using the MCP tool annotations. Clients that support these annotations, such as Claude, can ask you to approve each destructive call before it runs. The Tools Reference marks which tools are destructive.Example Workflows
Sending a Quick Email
Ask your AI assistant:“Send an email to support@customer.com from hello@mycompany.com with subject ‘Your request has been received’ and body ‘We’ve received your support request and will respond within 24 hours.’”The AI will compose and send the email using your verified domain.
Debugging Delivery Issues
“Check if the email I sent to john@example.com yesterday was delivered”The AI will search your email events and report the delivery status, including any bounce information or error codes.
Using Templates with Personalization
“Send the ‘order-confirmation’ template to buyer@example.com with order_id ‘12345’ and customer_name ‘Sarah’”The AI will use your saved template and substitute the merge tags with the provided values.
Checking Domain Health
“Are all my sending domains verified and ready to use?”The AI will list your domains and highlight any with verification issues.
Setting Up a New Domain
“Add notifications.example.com as a sending domain and tell me which DNS records to create”The AI registers the domain and shows the records to publish. Once you’ve added them, ask it to verify the domain, or to diagnose what’s wrong if verification still fails.
Scheduling an Email
“Schedule the ‘weekly-digest’ template to team@example.com for Monday at 9am”The AI schedules the email and returns its ID, so you can check on it or cancel it later.
Choosing a Team
An OAuth token identifies you, and you may belong to more than one team. When you do, every tool takes ateam_id and will refuse to guess:
This account belongs to more than one team, so team_id is required.Two tools exist to resolve that without asking you:
list_teams— the teams this connection can act oncurrent_team— which team a call would act on, and why
team_id on every call, pin a team in your client configuration by adding it to the server URL:
team_id is removed from the tools altogether, so the assistant cannot act on another team. A Lettr-Team-Id header does the same.
If you belong to exactly one team, none of this appears — there is nothing to choose.
Troubleshooting
OAuth flow doesn't complete
OAuth flow doesn't complete
Start by ensuring you’re already signed in to Lettr in your browser before initiating the OAuth flow. Check that pop-ups aren’t blocked for the AI client’s domain. If the flow still fails, try disconnecting and reconnecting the MCP server, or clear your browser cache and attempt the connection again.Desktop apps such as Claude Code and Cursor finish sign-in through a callback address on your own machine (
localhost). Lettr used to reject these callbacks, so if an earlier attempt from a desktop app failed, remove the server and add it again.AI says it can't access Lettr
AI says it can't access Lettr
First, verify that the MCP server URL is exactly
https://app.lettr.com/mcp with no trailing slash or typos. Confirm that your Lettr session is active by signing in to the dashboard in your browser. Make sure the AI client has MCP support enabled in its settings. If problems persist, try removing the server connection entirely and adding it fresh.Actions fail with permission errors
Actions fail with permission errors
MCP tools use your Lettr team permissions and act on the team you choose. If a tool reports that you aren’t authorized, ask the assistant to call
current_team to see which team it is acting on, and check that you’re still a member of it. Tools only see resources owned by that team, so an ID from another team is treated as not found.Emails aren't sending
Emails aren't sending
Verify that your sending domain is both verified and approved in the Lettr dashboard. Check that the “from” address in your email uses one of your verified domains. Ensure the recipient isn’t on your suppression list due to previous bounces or complaints. Finally, review your account’s sending limits to make sure you haven’t exceeded them.
Events not appearing
Events not appearing
Email events typically appear within a few seconds of delivery, but there can be slight delays. Check your date range filters, as event queries default to recent activity. For open and click events specifically, ensure that tracking is enabled for the emails you sent—events won’t be recorded for emails sent with tracking disabled.
Security Best Practices
When using MCP with Lettr, keep these security considerations in mind:- Only connect trusted clients — MCP allows AI assistants to send emails and access account data on your behalf, so treat authorization requests with the same caution you’d apply to any OAuth connection
- Review before confirming — Tools that send email or change data are marked as destructive, and most AI clients ask before running them. Review email content, recipient lists, and IDs before confirming, especially for campaigns, bulk audience changes, and deletions
- Audit connected clients — Periodically revoke access for clients you no longer use via Settings → Connected Apps
- Permission scoping — MCP respects your Lettr team permissions and only acts on the team you choose or pin
Disconnecting
To revoke an AI client’s access to your Lettr account, sign in to the Lettr dashboard, navigate to Settings → Connected Apps, find the AI client you want to disconnect, and click Revoke Access. You can also disconnect from within the AI client’s own settings.Rate Limits
MCP requests share your team’s REST API budget, at a higher per-second ceiling: 10 requests per second, because connecting a client costs about 4 requests before it does any work. Exceeding it returns429 with error_code: rate_limit_exceeded.
- Sending — Standard API rate limits apply to emails sent through AI assistants
- Event queries — 25 results per request by default (configurable: 10, 25, 50, or 100)
- API log queries — 20 results per request by default (configurable: 1, 20, 50, or 100)
- Pagination — Both support cursor-based pagination for accessing larger result sets
Learn More
Local Server (deprecated)
Run the MCP server locally with an API key
Tools Reference
Every MCP tool, grouped by area
Sending Domains
Set up domains for sending emails
Templates
Create reusable email templates