# Groundmail MCP server in Warp

Connect Warp's agents to the Groundmail MCP server, and they can send email, check delivery, add and verify sending domains, and manage templates, webhooks and suppressions from your terminal. Paste one JSON entry and sign in with your Groundmail account; there's no API key to paste.

**Server URL:** `https://mcp.groundmail.dev/mcp` (Streamable HTTP, OAuth) · All clients and the full tool list: [MCP server](https://docs.groundmail.dev/ai/mcp)

---

## 1. Add the server

1. Open **Settings → Agents → MCP servers** (or search the Command Palette for **Open MCP Servers**).
2. Click **+ Add** and paste:

```json
{
  "groundmail": {
    "url": "https://mcp.groundmail.dev/mcp"
  }
}
```

3. Save.

Already set up Groundmail in Claude Code or Codex? Warp detects servers from those agents' config files too. Global ones start automatically when **Auto-spawn servers from third-party agents** is on; project-scoped ones need you to turn them on.

## 2. Start it and sign in

Click **Start** on the **groundmail** server. Because Warp has no credentials for it yet, it opens your browser on Groundmail: sign in, choose what Warp may do (full access, or less: **Send only**, **Read only** or a custom set of [scopes](https://docs.groundmail.dev/api-keys)) and approve.

Warp stores the credentials on your device and reuses them. On a new machine you sign in again. You can revoke them from the MCP servers page in Warp, or under **Settings → CLIs & agents** in Groundmail.

## 3. Use it

Ask the agent, for example:

- *"List my Groundmail domains and tell me which aren't verified."*
- *"Send a test email from noreply@mail.groundmail.dev to me and tell me if it was delivered."*
- *"Show me the bounces from the last day."*

---

## Use an API key instead

For a machine where nobody can sign in in a browser, pass a key in a header. Create one at [app.groundmail.dev/api-keys](https://app.groundmail.dev/api-keys); a [scoped key](https://docs.groundmail.dev/api-keys) limits what the agent can do.

```json
{
  "groundmail": {
    "url": "https://mcp.groundmail.dev/mcp",
    "headers": {
      "Authorization": "Bearer gm_your_key_here"
    }
  }
}
```

## Run it locally (stdio)

```json
{
  "groundmail": {
    "command": "npx",
    "args": ["-y", "groundmail-mcp"],
    "env": {
      "GROUNDMAIL_API_KEY": "gm_your_key_here"
    }
  }
}
```

---

## Troubleshooting

| Problem | Fix |
|---------|-----|
| The server shows as stopped | Click **Start**. Servers you add by hand don't start until you start them. |
| No browser sign-in | Remove any `headers` from the entry, delete the saved credentials on the MCP servers page, and start the server again. |
| `insufficient_scope` from a tool | The connection or key doesn't have that scope. Sign in again and grant it, or use a key with the scope. |
| Sends to other people are refused | Test sends go to your own account email. Sending to anyone else needs a verified domain: see [Test sends and idempotency](https://docs.groundmail.dev/ai/safe-defaults). |

Other editors: [GitHub Copilot (VS Code)](https://docs.groundmail.dev/ai/mcp-github-copilot) · [Zed](https://docs.groundmail.dev/ai/mcp-zed) · [Google Antigravity](https://docs.groundmail.dev/ai/mcp-antigravity) · [Cursor, Claude Code, Codex, Windsurf](https://docs.groundmail.dev/ai/mcp)
