EnvlopedDocs

MCP Server

Connect Claude Desktop, claude.ai, Claude Code, Cursor, or any MCP-compatible agent to Envloped — hosted over OAuth, or locally through the CLI.

MCP Server

Envloped ships a native Model Context Protocol server inside the CLI binary. Point Claude Desktop, Claude Code, Cursor, or any MCP client at it and the agent can send transactional email, debug domain verification, build contact segments, draft campaigns, and read campaign reports — using your existing Envloped account.

There is no separate package to install. If you have the CLI, you have the MCP server.

envloped mcp

Two ways to connect

Local (stdio)Hosted (Streamable HTTP)
Endpointenvloped mcp on your machinehttps://mcp.envloped.com/mcp
AuthenticationThe API key envloped login already storedOAuth 2.1, with a consent screen
SetupOne config blockPaste a URL, approve in the browser, pick a workspace
Which workspaceFixed by the API key — a key belongs to the workspace it was created inChosen on the consent screen, once per authorization
Effective permissionsEverything an API key can do, including sendOnly the scopes approved on the consent screen
Best forLocal development, coding agents, CIClaude Desktop, claude.ai, third-party agents

That last row is the asymmetry worth understanding before you pick one. An API key is unscoped and can do everything the API can do, including send — so a local config hands an agent a full-access credential. An OAuth token carries only what you approved on the consent screen, and sending is a separate, default-off toggle there.


Local setup (stdio)

1. Install and authenticate the CLI

curl -fsSL https://envloped.com/install.sh | bash
envloped login

The key is stored in ~/.config/envloped/credentials.toml (or $XDG_CONFIG_HOME/envloped/). The MCP server reads it automatically — you do not put your key in the MCP config file.

2. Add it to your client

Claude Code

claude mcp add envloped -- envloped mcp

Verify with /mcp inside Claude Code. The server should report as connected with 20 tools.

Claude Desktop

Claude Desktop connects to the hosted server instead — it takes a URL in Settings → Connectors, not a stdio command. See Hosted setup.

Cursor

Create .cursor/mcp.json in your project (or ~/.cursor/mcp.json for every project):

{
  "mcpServers": {
    "envloped": {
      "command": "envloped",
      "args": ["mcp"]
    }
  }
}

Other clients

Any client that speaks stdio works. The command is envloped and the single argument is mcp.

If your client cannot inherit your shell environment, or you want to pin a specific account, pass the key explicitly instead of relying on envloped login:

{
  "mcpServers": {
    "envloped": {
      "command": "envloped",
      "args": ["mcp"],
      "env": {
        "ENVLOPED_API_KEY": "en_..."
      }
    }
  }
}

3. Try it

Which of my domains are verified, and what DNS records are still missing?

The agent calls domain_list, then domain_records for anything unverified, and reports the live SES status per record.


Hosted setup (OAuth)

The hosted server needs no install at all — just the URL:

https://mcp.envloped.com/mcp

Claude Desktop and claude.ai

  1. Open Settings → Connectors.
  2. Click Add custom connector.
  3. Name it Envloped and paste https://mcp.envloped.com/mcp as the remote MCP server URL. Leave the advanced OAuth fields empty — the server registers the client for you.
  4. Click Add, then Connect.

On Team and Enterprise plans an owner adds the connector once under Organization settings → Connectors (Add → Custom → Web); everyone else then finds it under Settings → Connectors and only has to press Connect.

Connecting opens Envloped's consent screen in your browser. Once approved, enable Envloped per conversation from the + button → Connectors.

Claude Code

claude mcp add --transport http envloped https://mcp.envloped.com/mcp

Run /mcp, select envloped, and authenticate. The same consent screen opens in your browser.

Cursor and other clients

Any client that accepts a remote MCP URL takes the endpoint directly:

{
  "mcpServers": {
    "envloped": {
      "url": "https://mcp.envloped.com/mcp"
    }
  }
}

What you are approving

The consent screen asks three things: whether to authorize the client, which workspace to connect it to, and whether the agent may send email. Approve, and the client holds an OAuth 2.1 access token bound to your user, that workspace, and exactly the permissions shown on the page.

The workspace choice is per authorization, not per session. It is fixed for the life of that client's token — the agent cannot switch workspaces mid-conversation, and it has no visibility into the workspaces you did not pick. To point a client at a different workspace, authorize it again and choose the other one.

Every authorization is listed under Settings → Connected agents with the permissions it holds and when it was last used, and revoking one there takes effect on the agent's very next request. Tokens expire on their own after 90 days; re-authorizing is the same flow again.

Ask the agent to call whoami immediately after connecting. It reports the workspace the token actually resolved to, which is the one thing worth confirming before an agent starts acting on your account.

The hosted server never holds a credential of its own. Every request is executed with your token, which is why one tenant's agent cannot reach another tenant's data even in principle.

Once connected, your client's own tool list shows everything the server exposes — twenty tools across email, domains, contacts, segments, and campaigns. You do not need to configure or learn them: each carries its own schema, and the server sends the agent its operating instructions when the connection opens. Notably absent, and deliberately so: there is no bulk campaign send, no API key creation, and no delete. An agent drafts, targets, previews and tests; a human presses Launch.


See also

  • CLI commands — the same operations at the terminal, plus the ones withheld from agents
  • Segments — the full definition grammar
  • Campaigns — the send pipeline an agent drafts into
  • Authentication — API keys and OAuth

On this page