Skip to main content

MCP server

Connect Claude, Cursor or any MCP client once, and it can work in Lettrove as you: design an email from a brief, check who is in a list, send a test, send to a list at nine tomorrow, and tell you who opened it. One address, one sign-in, exactly your permissions.

Server address: https://lettrove.com/api/mcp

It is also listed in the MCP registry as com.lettrove/lettrove, for clients that install servers from there.

Connect​

Claude Code​

  1. In a terminal, add the server:

    claude mcp add --transport http lettrove https://lettrove.com/api/mcp
  2. Inside Claude Code type /mcp, choose lettrove, then Authenticate. Your browser opens on Lettrove: sign in if you are not, then Allow.

  3. Back in Claude Code the server shows as connected. Try: "list my emails in Lettrove".

Claude (claude.ai and the desktop app)​

  1. Settings → Connectors → Add custom connector.
  2. Name it Lettrove and paste the address: https://lettrove.com/api/mcp.
  3. Claude reads the server and pre-selects the right options; leave them: Authentication Sign in now (everyone signs in through Lettrove) and OAuth client Register automatically (Claude registers itself; nothing to copy). No request headers. Click Add.
  4. On the Lettrove card click Connect; your browser opens Lettrove: sign in if you are not, then Allow. Lettrove then appears in the tools menu of every chat.

On a Team or Enterprise plan an Owner adds the connector in Organization settings, and Claude shows it to every member of that organization. That is how Claude works, not a sign the account is shared: each member clicks Connect and signs in to Lettrove as themselves, and only their own Lettrove account is ever listed under Settings → Profile → Connected apps.

Cursor​

  1. Settings → MCP → Add new global MCP server, or put this in .cursor/mcp.json:

    {
    "mcpServers": {
    "lettrove": { "url": "https://lettrove.com/api/mcp" }
    }
    }
  2. Cursor asks you to sign in the first time a tool is used. Allow, and it stays connected.

Any MCP client​

  • Transport: Streamable HTTP, at https://lettrove.com/api/mcp.
  • Authorization: OAuth 2.1 with PKCE, discovered from the 401 (RFC 9728). Dynamic client registration is on, so there is no client id to copy.
  • Scopes: mcp:tools for everything that reads and edits; mcp:send to send; mcp:contacts to create lists and add people.

The first time, your browser opens Lettrove: sign in if you are not, then a screen asks whether to let the app work as you. Allow, and you are done; it stays connected until you disconnect it.

What it can do​

Eighteen tools, each the same operation the app itself performs. Needs is your role in the workspace (roles); sending also needs the Send scope, and building lists the Contacts scope, both granted when connecting.

ToolDoesNeeds
list_workspacesYour workspaces and your role in each—
list_emails · get_emailSaved emails; one email as a summary, its compiled HTML, or its design documentViewer
create_emailA new email: blank, from a template, or designed by the assistant from a briefEditor
edit_emailThe assistant changes a saved email from an instruction, saved as a new revisionEditor
list_templatesGallery templates to start from—
sending_statusWhether the workspace can send, and as whomEditor
send_test_emailOne email to one address, from your verified senderEditor + Send scope
list_test_sendsYour recent tests and what the provider reported—
list_contact_listsYour Audiences lists with countsEditor
describe_audiencePeople, duplicates, fields with blanks, sample contacts, before a sendEditor
create_contact_listA new list made by hand: name, the consent basis you state, and its columnsAdmin + Contacts scope
add_list_fieldAdd a column (merge tag) to a listAdmin + Contacts scope
add_contactsAdd up to 500 people to a list; each row checked, bad rows returned with the reasonAdmin + Contacts scope
send_campaignSend to lists now or at a time, with open and click tracking switchesAdmin + Send scope
list_campaigns · get_campaignSends and their live figures: delivered, bounced, complained, opened, unsubscribed, per list tooEditor
cancel_campaignCancel a scheduled send, or stop one in progressAdmin + Send scope

A refusal comes back in plain words with a code (forbidden, insufficient_scope, sender_not_configured, fields_missing…), so the assistant can explain it or fix it, never guess.

Before the first send in a workspace the assistant calls sending_status. If the workspace cannot send yet, it stops and tells you: sending needs a verified domain and a sender address, which you set up yourself in Lettrove. That cannot be done through these tools.

Things to say​

  • "Create an email in Lettrove announcing our September webinar: warm, short, one button to register."
  • "Which of my lists has the most contacts, and how many have a first name?"
  • "Send the 'Autumn Linen Sale' email to me as a test."
  • "Send 'Welcome Aboard' to the Newsletter list tomorrow at 09:00 and track opens."
  • "How did yesterday's send go? Anyone bounce?"
  • "Shorten the headline of the launch email and make the button say 'Reserve my seat'."

How it stays yours​

  • Your permissions, never more. Every call is checked against your role in that workspace, the same check the app makes. A viewer cannot create; an editor cannot send to a list. The Send and Contacts scopes are a second lock on top: without them, nothing sends and no list is created.
  • No password shared. OAuth 2.1 with PKCE. The app gets a short-lived token bound to this address, refreshed while you allow it.
  • Nothing new is stored. The server uses the same services as the app, so an email it creates is an ordinary email with its author recorded, and a send it starts is an ordinary send on the status page.
  • One click to disconnect. Settings → Profile → Connected apps → Disconnect. The app is refused at its next token refresh and has to ask you again.

Questions​

Which workspace does it act in? Your default one. Every tool takes an optional workspaceId; with more than one workspace, the assistant asks which you mean (list_workspaces).

Does it work on a self-hosted or preview Lettrove? Yes: the address is simply that site plus /api/mcp.

Who operates this server? CareersCV, the company that builds and runs Lettrove. Questions and security reports: support@lettrove.com.