SendGrid MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.36.4Updated Nov 7, 2026

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

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Hosted SendGrid server that lets an assistant send email and read templates, marketing contacts, lists, delivery stats, bounces and unsubscribes.

What you can do
  • Send a real email immediately, with subject and content or a dynamic template
  • List and read transactional email templates, including their versions
  • List marketing lists, count contacts and look up contacts by exact email
  • Upsert marketing contacts and optionally add them to lists
  • Read global email stats over a date range, plus bounce and unsubscribe suppression lists
  • Check API key health and scopes, and manage usage, plan and feature requests
When to use it
Useful when you want an assistant to answer questions about SendGrid delivery, bounces and audience size, or to send transactional mail and update marketing contacts without leaving the chat.
Requirements
A remote MCP endpoint added by URL only; no package or local runtime. Sign-in is via OAuth, and the login page asks for a SendGrid API key, which is validated and stored per user. A free plan allows 50 tool calls per month; paid plans are billed separately.
Before you install
The server asks for a SendGrid API key during OAuth login; grant only the scopes you need. sendgrid_send_mail sends a real email immediately, and sendgrid_add_or_update_contacts changes marketing contacts as an async job, so confirm before running them. Paid plans involve payment links and subscriptions, and cancellation gives no refund for the current period.

Installation

In SourceWeft

  1. Open SendGrid MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fsendgrid/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

README

SendGrid MCP by usefulapi

Live endpoint: https://sendgrid.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://sendgrid.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http sendgrid https://sendgrid.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "sendgrid": {      "url": "https://sendgrid.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your SendGrid credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/sendgrid/

On first connect you'll paste your SendGrid API key (SendGrid → Settings → API Keys). It's validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
sendgrid_pingreadPing (health check)
sendgrid_list_templatesreadList email templates
sendgrid_get_templatereadGet email template
sendgrid_list_marketing_listsreadList marketing lists
sendgrid_get_contact_countreadGet contact count
sendgrid_search_contacts_by_emailreadSearch contacts by email
sendgrid_get_statsreadGet email stats
sendgrid_list_bouncesreadList bounces
sendgrid_list_global_unsubscribesreadList global unsubscribes
sendgrid_send_mailwriteSend email
sendgrid_add_or_update_contactswriteAdd or update marketing contacts
sendgrid_usage_statusmetaUsage status (free-tier meter)
sendgrid_request_featuremetaRequest a missing feature
sendgrid_upgrademetaUpgrade to Pro or Pro+
sendgrid_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with sendgrid_upgrade (it returns a Stripe Checkout link). Cancel any time with sendgrid_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running sendgrid_upgrade before then undoes the cancel. Or write to [email protected].

License

Source: servers/sendgrid/README.md at commit 4046075

Tools

11

sendgrid_ping

Ping (health check)

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

Takes no parameters.

sendgrid_list_templates

List email templates

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

Parameterspage_sizepage_tokengenerations

sendgrid_get_template

Get email template

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

Parameterstemplate_idrequired

sendgrid_list_marketing_lists

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.

Parameterspage_sizepage_token

sendgrid_get_contact_count

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.

Takes no parameters.

sendgrid_search_contacts_by_email

Search contacts by email

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.

Parametersemailsrequired

sendgrid_get_stats

Get email 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 /v3/stats.

Parameterslimitoffsetend_datestart_daterequiredaggregated_by

sendgrid_list_bounces

List bounces

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

Parametersemaillimitoffsetend_timestart_time

sendgrid_list_global_unsubscribes

List global unsubscribes

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

Parameterslimitoffsetend_timestart_time

sendgrid_send_mail

Send email

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.

Parameterscctorequiredbcccontentsubjectreply_tofrom_namefrom_emailrequiredtemplate_idcontent_typedynamic_template_data

sendgrid_add_or_update_contacts

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

Parameterscontactsrequiredlist_ids

Version history

21
  1. v1.36.4LatestNov 7, 2026
  2. v1.35.3Nov 5, 2026
  3. v1.35.2Nov 5, 2026
  4. v1.35.1Nov 4, 2026
  5. v1.35.0Nov 3, 2026
  6. v1.34.1Nov 3, 2026
  7. v1.33.0Nov 1, 2026
  8. v1.31.0Oct 31, 2026
  9. v1.30.0Oct 31, 2026
  10. v1.29.2Oct 30, 2026
  11. v1.29.0Oct 30, 2026
  12. v1.24.0Oct 26, 2026
  13. v1.21.3Oct 25, 2026
  14. v1.21.0Oct 25, 2026
  15. v1.20.0Oct 24, 2026
  16. v1.17.0Oct 23, 2026
  17. v1.16.4Oct 22, 2026
  18. v1.16.3Oct 21, 2026
  19. v1.11.1Oct 9, 2026
  20. v1.10.0Oct 9, 2026
  21. v1.0.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations