SendGrid MCP by usefulapi

io.usefulapi/sendgrid

Send email and read templates, marketing contacts, lists, stats, bounces and unsubscribes.

Yes, your AI can use this right now.Answered a live MCP handshake in 145 ms with no sign-in needed and exposes 11 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://sendgrid.usefulapi.io/mcp

11 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
sendgrid_pingread-only

Health check — verifies the API key works and returns the scopes (permissions) granted to it. SendGrid: GET /v3/scopes.

sendgrid_list_templatesread-only

List your transactional email templates (Dynamic and/or Legacy). Returns { result: [...], _metadata } — use _metadata.next / page_token to paginate. SendGrid: GET /v3/templates.

sendgrid_get_templateread-only

Get a single transactional email template by id, including its versions (subject + content). SendGrid: GET /v3/templates/{template_id}.

sendgrid_list_marketing_listsread-only

List your Marketing Campaigns contact lists, each with its id, name, and contact_count. Returns { result: [...], _metadata }. SendGrid: GET /v3/marketing/lists.

sendgrid_get_contact_countread-only

Get the total number of Marketing Campaigns contacts on your account. Returns { contact_count, billable_count }. SendGrid: GET /v3/marketing/contacts/count.

sendgrid_search_contacts_by_emailread-only

Look up marketing contacts by exact email address (a read-only lookup — mutates nothing). Returns { result: { "<email>": { contact: {...} } } }. SendGrid: POST /v3/marketing/contacts/search/emails.

sendgrid_get_statsread-only

Get global email statistics over a date range (delivered, opens, clicks, bounces, spam reports, etc.). Returns an array of { date, stats: [{ metrics: {...} }] }. SendGrid: GET /v3/stats.

sendgrid_list_bouncesread-only

List bounced email addresses (the bounce suppression list). Returns an array of { created, email, reason, status }. SendGrid: GET /v3/suppression/bounces.

sendgrid_list_global_unsubscribesread-only

List globally-unsubscribed email addresses (the global suppression list). Returns an array of { created, email }. SendGrid: GET /v3/suppression/unsubscribes.

sendgrid_send_mailcan modify

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 template ids start with "d-", pass values via dynamic_template_data). Returns { status: "accepted", message_id }. SendGrid: POST /v3/mail/send.

sendgrid_add_or_update_contactscan modify

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 can poll. SendGrid: PUT /v3/marketing/contacts.

Alternatives in Email & Messaging

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”