# Usefulapi Sendgrid MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.usefulapi%2Fsendgrid
Registry id: `mcp-registry/io.usefulapi/sendgrid`
Status: auth-required (checked 2026-10-27T01:14:16.417Z)

## Verdict

Usefulapi Sendgrid MCP server answered 100% of Glimind's liveness checks over 30 days, better than 42% of MCP servers, with 61 ms median handshake and 0 outages in 90 days. Its agent-readiness grade is A (93/100) across 11 tools, costing an agent about 2,360 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 | 61 ms | 88% of MCP servers |
| p95 handshake latency | 252 ms | — |
| Checks in 30 days | 213 | — |
| Outages, 90 days | 0 | — |
| Median recovery | — | — |
| Agent-readiness score | 93/100 (A) | 76% of MCP servers |
| Tools | 11 | — |
| Tool-list size for an agent | ~2,360 tokens | 50% of MCP servers |
| Days observed | 28 | — |

## Install

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

Claude Code:

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

## Tools (11)

- `sendgrid_add_or_update_contacts`: UPSERTS marketing contacts (creates new ones, updates existing ones by email) and optionally adds them to lists. This is an ASYNC job — returns { job_id } you c
- `sendgrid_get_contact_count`: Get the total number of Marketing Campaigns contacts on your account. Returns { contact_count, billable_count }. SendGrid: GET /v3/marketing/contacts/count.
- `sendgrid_get_stats`: Get global email statistics over a date range (delivered, opens, clicks, bounces, spam reports, etc.). Returns an array of { date, stats: [{ metrics: {...} }] }
- `sendgrid_get_template`: Get a single transactional email template by id, including its versions (subject + content). SendGrid: GET /v3/templates/{template_id}.
- `sendgrid_list_bounces`: List bounced email addresses (the bounce suppression list). Returns an array of { created, email, reason, status }. SendGrid: GET /v3/suppression/bounces.
- `sendgrid_list_global_unsubscribes`: List globally-unsubscribed email addresses (the global suppression list). Returns an array of { created, email }. SendGrid: GET /v3/suppression/unsubscribes.
- `sendgrid_list_marketing_lists`: List your Marketing Campaigns contact lists, each with its id, name, and contact_count. Returns { result: [...], _metadata }. SendGrid: GET /v3/marketing/lists.
- `sendgrid_list_templates`: List your transactional email templates (Dynamic and/or Legacy). Returns { result: [...], _metadata } — use _metadata.next / page_token to paginate. SendGrid: G
- `sendgrid_ping`: Health check — verifies the API key works and returns the scopes (permissions) granted to it. SendGrid: GET /v3/scopes.
- `sendgrid_search_contacts_by_email`: Look up marketing contacts by exact email address (a read-only lookup — mutates nothing). Returns { result: { "<email>": { contact: {...} } } }. SendGrid: POST 
- `sendgrid_send_mail`: SENDS A REAL EMAIL immediately via SendGrid. Provide `from_email` and one or more `to` recipients, plus EITHER a subject + content OR a `template_id` (dynamic t

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