# Usefulapi Emailoctopus MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.usefulapi%2Femailoctopus
Registry id: `mcp-registry/io.usefulapi/emailoctopus`
Status: auth-required (checked 2026-10-27T06:20:27.149Z)

## Verdict

Usefulapi Emailoctopus MCP server answered 100% of Glimind's liveness checks over 30 days, better than 42% of MCP servers, with 63 ms median handshake and 0 outages in 90 days. Its agent-readiness grade is A (96/100) across 13 tools, costing an agent about 2,227 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 100% | 42% of MCP servers |
| Median handshake latency | 63 ms | 88% of MCP servers |
| p95 handshake latency | 237 ms | — |
| Checks in 30 days | 220 | — |
| Outages, 90 days | 0 | — |
| Median recovery | — | — |
| Agent-readiness score | 96/100 (A) | 82% of MCP servers |
| Tools | 13 | — |
| Tool-list size for an agent | ~2,227 tokens | 50% of MCP servers |
| Days observed | 28 | — |

## Install

```json
{
  "mcpServers": {
    "usefulapi-emailoctopus-mcp-server": {
      "type": "http",
      "url": "https://emailoctopus.usefulapi.io/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http usefulapi-emailoctopus-mcp-server https://emailoctopus.usefulapi.io/mcp
```

## Tools (13)

- `emailoctopus_create_contact`: CREATES a new contact in a list — this MODIFIES live data (adds a subscriber). `email_address` is required; optionally set `fields` (keyed by field tag), `tags`
- `emailoctopus_create_list`: CREATES a new list — this MODIFIES live data. Provide a `name`. EmailOctopus: POST /lists. Returns the created list.
- `emailoctopus_delete_contact`: PERMANENTLY REMOVES a contact from a list — this MODIFIES live data and cannot be undone. `contact_id` is the MD5 hash of the lowercased email address, or the i
- `emailoctopus_get_campaign`: Get a single campaign by its id. Returns the campaign's full state — name, status, subject, from, content, and created_at. EmailOctopus: GET /campaigns/{campaig
- `emailoctopus_get_campaign_links_report`: Get a campaign's per-link click report — for each link in the campaign, the URL and its click counts. EmailOctopus: GET /campaigns/{campaign_id}/reports/links.
- `emailoctopus_get_campaign_report`: Get a campaign's aggregate performance report — sent, opened, clicked, bounced, unsubscribed, complained, and related counts. EmailOctopus: GET /campaigns/{camp
- `emailoctopus_get_contact`: Get a single contact in a list. Returns email_address, fields, tags, status, and created_at. `contact_id` is the MD5 hash of the lowercased email address, or th
- `emailoctopus_get_list`: Get a single list by its id. Returns the list's full state — name, contact counts by status, and created_at. EmailOctopus: GET /lists/{list_id}.
- `emailoctopus_list_campaigns`: List all campaigns in the account. Returns {data:[...],paging:{...}} — each campaign's id, name, status, subject, and created_at. Paginate with `limit` (max 100
- `emailoctopus_list_contacts`: List the contacts in a list. Returns {data:[...],paging:{...}} — each contact's id, email_address, fields, tags, status, and created_at. Paginate with `limit` (
- `emailoctopus_list_lists`: List all lists in the account. Returns {data:[...],paging:{...}} — each list's id, name, contact counts by status, and created_at. Paginate with `limit` (max 10
- `emailoctopus_update_contact`: UPDATES an existing contact in a list — this MODIFIES live data. Send only the fields you want to change (email_address, fields, tags, status). `contact_id` is 
- `emailoctopus_update_list`: UPDATES an existing list by id — this MODIFIES live data. Sets the list's `name`. EmailOctopus: PUT /lists/{list_id}. Returns the updated list.

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
