Skip to main content

usesend-mcp

CI PyPI Docker Hub License: MIT Python 3.13

An MCP server for the useSend email platform (an open-source Resend/Postmark alternative). It gives any MCP client — Claude, Cursor, VS Code, Windsurf, Codex — 33 tools for transactional email, contacts, campaigns, domains, and analytics, over stdio.

Setup

1. Get a useSend API key (us_…) from Settings → API Keys at app.usesend.com (or your self-hosted instance).

2. Add the server to your MCP client. Almost every client uses the same JSON — paste this in and swap in your key:

{
  "mcpServers": {
    "usesend": {
      "command": "uvx",
      "args": ["usesend-mcp"],
      "env": { "USESEND_API_KEY": "us_your_api_key_here" }
    }
  }
}

uvx (from uv) downloads and runs the server from PyPI on demand — nothing to install first.

Where does that JSON go?

Client Config file
Claude Code .mcp.json (project root)
Claude Desktop claude_desktop_config.json
Cursor .cursor/mcp.json (project) or ~/.cursor/mcp.json
VS Code (Cline) cline_mcp_settings.json
Windsurf ~/.codeium/windsurf/mcp_config.json

Prefer the command line?

claude mcp add usesend --env USESEND_API_KEY=us_your_api_key_here -- uvx usesend-mcp   # Claude Code
codex  mcp add usesend --env USESEND_API_KEY=us_your_api_key_here -- uvx usesend-mcp   # Codex CLI

Done — ask your assistant "list my useSend contact books" or "send a welcome email to jane@example.com" to check it works.

Run with Docker instead of uvx

Use the published image in any JSON config above:

{
  "mcpServers": {
    "usesend": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "USESEND_API_KEY", "gardenbaum/usesend-mcp"],
      "env": { "USESEND_API_KEY": "us_your_api_key_here" }
    }
  }
}

Or run it directly (-i keeps stdin open for the stdio protocol, --rm cleans up on exit):

docker run -i --rm -e USESEND_API_KEY=us_your_api_key_here gardenbaum/usesend-mcp

Images: gardenbaum/usesend-mcp on Docker Hub, mirrored to ghcr.io/gardenbaum/usesend-mcp — linux/amd64 + linux/arm64.

Configuration

Environment variables (prefix USESEND_, also read from a .env file):

Variable Default Description
USESEND_API_KEY (required) API key, format us_….
USESEND_BASE_URL https://app.usesend.com API base URL; change for a self-hosted instance.
USESEND_DEFAULT_FROM (unset) Default sender for send_email / batch_send_emails.
USESEND_LOG_LEVEL INFO Log verbosity (DEBUG … CRITICAL).
USESEND_TIMEOUT 30 HTTP request timeout, in seconds.

Tools

33 tools across 6 domains. Every tool also accepts an optional response_format ("markdown" default, or "json" for machine-readable output).

Full tool list

Emails (6)

Tool Description
usesend_send_email Send a single transactional email (falls back to USESEND_DEFAULT_FROM if from_address is omitted).
usesend_batch_send_emails Send up to 100 emails in a single request.
usesend_list_emails List emails with pagination; optional start_date/end_date (ISO-8601) and domain_id filters.
usesend_get_email Get details for a specific email.
usesend_cancel_email Cancel a scheduled email.
usesend_update_email_schedule Reschedule a scheduled email.

Contact Books (5)

Tool Description
usesend_list_contact_books List all contact books accessible by the API key.
usesend_get_contact_book Get details for a specific contact book.
usesend_create_contact_book Create a contact book, optionally with double opt-in.
usesend_update_contact_book Update a contact book's name or double opt-in setting.
usesend_delete_contact_book Delete a contact book.

Contacts (8)

Tool Description
usesend_list_contacts List contacts in a contact book, with pagination.
usesend_get_contact Get details for a specific contact.
usesend_create_contact Create a contact in a contact book.
usesend_update_contact Update a contact's mutable fields.
usesend_upsert_contact Create or update a contact by email address.
usesend_delete_contact Delete a contact from a contact book.
usesend_bulk_create_contacts Create multiple contacts in a single request.
usesend_bulk_delete_contacts Delete multiple contacts in a single request.

Campaigns (7)

Tool Description
usesend_create_campaign Create an email campaign.
usesend_get_campaign Get details for a specific campaign.
usesend_list_campaigns List campaigns; optional status and search filters.
usesend_delete_campaign Delete a campaign.
usesend_pause_campaign Pause a running campaign.
usesend_resume_campaign Resume a paused campaign.
usesend_schedule_campaign Schedule a campaign for a future time.

Domains (5)

Tool Description
usesend_list_domains List all domains.
usesend_get_domain Get details for a specific domain.
usesend_create_domain Create a domain (name and region required).
usesend_verify_domain Trigger DNS verification for a domain.
usesend_delete_domain Delete a domain.

Analytics (2)

Tool Description
usesend_email_time_series Email volume time series (days: "7" or "30"); optional domain_id.
usesend_reputation_metrics Sending reputation metrics (bounce/complaint rates); optional domain_id.

Development

uv sync --dev      # install runtime + dev dependencies
just check         # lint, format, types, import contracts, tests @ 100% diff coverage

Work happens on dev; main is the release branch (push a v* tag to publish). Architectural decisions are recorded as ADRs in docs/adr/. Logs go to stderr — stdout is reserved for the MCP protocol.

Contributing · Security · License

Contributions welcome — see CONTRIBUTING.md and the Code of Conduct. Report vulnerabilities privately via SECURITY.md, not public issues. Licensed under MIT © gardenbaum.

Metadata

Release files for usesend-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for usesend-mcp 0.1.0
File Size Uploaded Provenance Actions
usesend_mcp-0.1.0.tar.gz 15.3 kB With provenance Details for usesend_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for usesend-mcp 0.1.0
File Interpreter ABI Platform Actions
usesend_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for usesend_mcp-0.1.0-py3-none-any.whl

Total release size: 38.5 kB

Release files / usesend_mcp-0.1.0.tar.gz

Download URL usesend_mcp-0.1.0.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
524fc43917ff3d23befb82688da06cc966a58c7b53c171e4e869f303227a011b
BLAKE2b-256 checksum
How to use checksums
42c3d5bd8c94aa306c3ace7f4e5722a2f3860f256f78c51691942ab94110cb7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 4, 2026.

Transparency log

Release files / usesend_mcp-0.1.0-py3-none-any.whl

Download URL usesend_mcp-0.1.0-py3-none-any.whl
Size 23.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1ca8ed7dc348c3d3d8aa4d663c451ef8f69cf0b89fd718051287985826fc0158
BLAKE2b-256 checksum
How to use checksums
e2e31c0c902dc80f925d6f03eb8874f63f00dca2b51c16aa9563299a640be101
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 4, 2026.

Transparency log

Security for usesend-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for usesend_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page