---
title: "Email API, MCP Server, CLI and Dashboard: One Workspace, Four Ways In | SendHQ"
description: Run the same SendHQ workspace from the REST API, an MCP server with 59 tools for Claude and ChatGPT, a command-line tool, or the dashboard. People and agents get equal access.
canonical: https://sendhq.cc/email-api-mcp-cli
last-updated: 2026-10-04
---
# One email workspace, four ways in

Everything in a SendHQ workspace, from sending and receiving email to domains, templates and deliverability, works the same way from the REST API, the MCP server, the CLI and the dashboard. Pick the surface that fits the job: code, an AI agent, a terminal or a browser.

[Start sending](https://sendhq.cc/app) [See pricing](https://sendhq.cc/pricing.md)

## REST API: for your application

Versioned endpoints under `/api/v1` with a workspace API key, an [OpenAPI 3.1 contract](https://sendhq.cc/openapi.json), structured errors and idempotency keys for safe retries. Resend-style JSON fields such as `from`, `to`, `subject`, `html` and `text` map directly.

Send an email

```
curl https://sendhq.cc/api/v1/emails -X POST \
  -H "Authorization: Bearer $SENDHQ_API_KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: welcome-user-42" \
  -d '{"from":"Acme <hello@example.com>","to":["user@example.net"],"subject":"Welcome","text":"Your account is ready."}'
```

## MCP server: for AI agents

59 typed tools cover sending, reading, threads, labels, drafts, attachments, templates, domains, inboxes, deliverability and suppressions. Claude and ChatGPT connect to the hosted server at `https://mcp.sendhq.cc/mcp` and sign in with OAuth; local agents run `sendhq mcp`, with a `--read-only` mode. The full tool list is in the [MCP docs](https://sendhq.cc/docs/mcp.md).

## CLI: for terminals, scripts and CI

One binary for Linux, macOS and Windows. Output is readable in a terminal and JSON when piped, exit codes separate input, auth, not-found, conflict and rate-limit errors, and `sendhq tui` opens a keyboard-driven inbox. See the [CLI docs](https://sendhq.cc/docs/cli.md).

Install and send

```
curl -fsSL https://downloads.sendhq.cc/install.sh | sh
sendhq auth login
sendhq domain add example.com
sendhq email send --from hello@example.com --to user@example.net --subject Hi --text 'It works.'
```

## Dashboard: for people

Compose and read mail, verify domains with one-click DNS for Cloudflare and Domain Connect providers, edit and publish templates, and watch delivery health in a browser. Creating API keys and changing billing happen here only, behind a signed-in session, so no API key or agent can do either.

## What each surface can do

| Task | API | MCP | CLI | Dashboard |
| --- | --- | --- | --- | --- |
| Send, reply and batch send | Yes | Yes | Yes | Yes |
| Read inbox and threads | Yes | Yes | Yes | Yes |
| Create and manage inboxes | Yes | Yes | Yes | Yes |
| Labels, buckets and filing rules | Yes | Yes | – | Yes |
| Add and verify domains | Yes | Yes | Yes | Yes |
| Hosted templates | Yes | Yes | Yes | Yes |
| Deliverability stats and suppressions | Yes | Yes | Yes | Yes |
| Create or revoke API keys | – | – | – | Yes |
| Billing and plans | – | – | – | Yes |

The CLI reaches any API operation without its own command through `sendhq request METHOD PATH`.

## Questions

**Does SendHQ have an MCP server?**

Yes. It exposes 59 tools, hosted at https://mcp.sendhq.cc/mcp for Claude and ChatGPT with OAuth sign-in, and locally through sendhq mcp for Claude Code and other agents.

**Does SendHQ have a CLI?**

Yes. Install it with curl -fsSL https://downloads.sendhq.cc/install.sh | sh on macOS and Linux, or the PowerShell installer on Windows, then run sendhq auth login.

**Is the SendHQ API compatible with Resend?**

Direct HTTP sends accept the common Resend-style fields (from, to, cc, bcc, subject, html, text, reply_to, headers). The Resend SDK with its hard-coded host is not a drop-in replacement; point your own HTTP adapter at the SendHQ endpoint.

**Can an agent change billing or create API keys?**

No. Billing changes and API key creation or revocation require a signed-in browser session, and are excluded from the API key and MCP surfaces.
