Curated MCP servers for the Sendmux API surfaces.
Project description
sendmux-mcp
Curated Model Context Protocol servers for the Sendmux Mailbox, Management, and Sending API surfaces.
This package is the Sendmux product MCP. Keep it separate from any documentation-search MCP used by docs tooling.
Documentation
- Sendmux docs: docs.sendmux.ai
- Management API reference: docs.sendmux.ai/api/introduction
- Mailbox API reference: docs.sendmux.ai/mailbox-api/introduction
- Sending API reference: docs.sendmux.ai/sending-api/introduction
- Source repository: Sendmux/sendmux-sdk
Requirements
- Python 3.10 or newer.
- A mailbox-scoped
smx_mbx_*key for Mailbox and Sending tools. - A root
smx_root_*key for Management tools.
Installation
pip install sendmux-mcp
Usage
Run a single local server with the per-surface commands.
SENDMUX_API_KEY=smx_mbx_... sendmux-mcp-mailbox
SENDMUX_API_KEY=smx_root_... sendmux-mcp-management
SENDMUX_API_KEY=smx_mbx_... sendmux-mcp-sending
Run a combined local server with sendmux-mcp.
SENDMUX_MCP_SURFACES=mailbox,sending \
SENDMUX_MAILBOX_API_KEY=smx_mbx_... \
SENDMUX_SENDING_API_KEY=smx_mbx_... \
sendmux-mcp
Run all three local surfaces when you have both key types.
SENDMUX_MCP_SURFACES=mailbox,management,sending \
SENDMUX_MAILBOX_API_KEY=smx_mbx_... \
SENDMUX_MANAGEMENT_API_KEY=smx_root_... \
SENDMUX_SENDING_API_KEY=smx_mbx_... \
sendmux-mcp
The generic sendmux-mcp command also accepts --surface or --surfaces. The wrapper commands select exactly one surface.
Transports
stdio is the default transport for local agent clients.
SENDMUX_API_KEY=smx_mbx_... sendmux-mcp-mailbox --transport stdio
http and streamable-http expose the MCP endpoint over HTTP. HTTP mode defaults to 127.0.0.1:8765/mcp and requires a separate MCP bearer token unless you explicitly opt out.
SENDMUX_API_KEY=smx_mbx_... \
SENDMUX_MCP_HTTP_BEARER_TOKEN=local-mcp-token \
sendmux-mcp-mailbox --transport http --host 127.0.0.1 --port 8765 --path /mcp
/health returns a small JSON health response for the selected surfaces.
Hosted Endpoint
The public hosted MCP endpoint is https://mcp.sendmux.ai/mcp.
The packaged sendmux-mcp-hosted command runs the hosted server runtime. Local and private deployments should use the local commands above unless you are operating a compatible OAuth-backed hosted environment.
Configuration
| Setting | Environment | Default |
|---|---|---|
| Tool surfaces | SENDMUX_MCP_SURFACES |
required for sendmux-mcp; wrapper commands select one surface |
| API key fallback | SENDMUX_API_KEY |
accepted for compatible single-key setups |
| Mailbox API key | SENDMUX_MAILBOX_API_KEY |
required when mailbox is selected unless a compatible fallback is provided |
| Management API key | SENDMUX_MANAGEMENT_API_KEY |
required when management is selected unless a compatible fallback is provided |
| Sending API key | SENDMUX_SENDING_API_KEY |
required when sending is selected unless a compatible mailbox key is provided |
| App API base URL | SENDMUX_APP_BASE_URL |
https://app.sendmux.ai/api/v1 |
| Sending API base URL | SENDMUX_SENDING_BASE_URL |
https://smtp.sendmux.ai/api/v1 |
| Transport | SENDMUX_MCP_TRANSPORT |
stdio |
| HTTP host | SENDMUX_MCP_HOST |
127.0.0.1 |
| HTTP port | SENDMUX_MCP_PORT |
8765 |
| HTTP path | SENDMUX_MCP_PATH |
/mcp |
| HTTP bearer token | SENDMUX_MCP_HTTP_BEARER_TOKEN |
required for HTTP unless opt-out is enabled |
| Allow unauthenticated HTTP | SENDMUX_MCP_ALLOW_UNAUTHENTICATED_HTTP |
false |
| Allowed browser origins | SENDMUX_MCP_ALLOWED_ORIGINS |
no browser origins |
| Snapshot directory override | SENDMUX_MCP_OPENAPI_INPUT_DIR or OPENAPI_INPUT_DIR |
packaged snapshots |
| App snapshot override | SENDMUX_MCP_APP_OPENAPI |
packaged app snapshot |
| Sending snapshot override | SENDMUX_MCP_SENDING_OPENAPI |
packaged sending snapshot |
| Request timeout | SENDMUX_MCP_TIMEOUT_SECONDS |
30 |
| Retry attempts | SENDMUX_MCP_RETRY_MAX_ATTEMPTS |
3 |
Packaged OpenAPI snapshots are the default so released tool names, schemas, and descriptions stay stable. Path, directory, and URL overrides are available for development, canary, and debugging runs.
Tool Surfaces
- Mailbox:
21tools for granted mailboxes, profile/session discovery, messages, threads, folders, search, counts, and mailbox sends. Requires ansmx_mbx_*key. - Management:
20tools for domains, mailboxes, logs, metrics, spend summary, and webhooks. Requires ansmx_root_*key. - Sending:
2tools for single and batch sends. Requires ansmx_mbx_*key.
The server rejects keys with the wrong prefix before starting.
Console Scripts
sendmux-mcpsendmux-mcp-mailboxsendmux-mcp-managementsendmux-mcp-sendingsendmux-mcp-hosted
Support
Open an issue in Sendmux/sendmux-sdk with the package name, version, command, transport, and request ID from any API error.
Licence
MIT. See the licence file.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sendmux_mcp-1.1.1.tar.gz.
File metadata
- Download URL: sendmux_mcp-1.1.1.tar.gz
- Upload date:
- Size: 59.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9baff9e0587cac5d3604f50953552ed4e6919951d8702a088a498ce6d19ef53a
|
|
| MD5 |
57981ee9a71e6ea6e4afc30a7a4d0225
|
|
| BLAKE2b-256 |
c46a71495773dddfa92ebc8af139688621999611408a0de76cd1b50fbae5f19b
|
Provenance
The following attestation bundles were made for sendmux_mcp-1.1.1.tar.gz:
Publisher:
release-please.yml on Sendmux/sendmux-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sendmux_mcp-1.1.1.tar.gz -
Subject digest:
9baff9e0587cac5d3604f50953552ed4e6919951d8702a088a498ce6d19ef53a - Sigstore transparency entry: 1848195380
- Sigstore integration time:
-
Permalink:
Sendmux/sendmux-sdk@fe221d74d9dda56f8800ea3f15da30cef98e5d55 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Sendmux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@fe221d74d9dda56f8800ea3f15da30cef98e5d55 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sendmux_mcp-1.1.1-py3-none-any.whl.
File metadata
- Download URL: sendmux_mcp-1.1.1-py3-none-any.whl
- Upload date:
- Size: 68.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
655f0026bc6201c1f4a8b8f9dfa48a02ffdf7e8d3a362e90a73d34c11db4bcb8
|
|
| MD5 |
c68e2943e0b2b12019713fd8ecfd7036
|
|
| BLAKE2b-256 |
f5ff736e0bdc3884486bba02be575f0b9fa8215a4838f1a1e86f2bcca57aa95e
|
Provenance
The following attestation bundles were made for sendmux_mcp-1.1.1-py3-none-any.whl:
Publisher:
release-please.yml on Sendmux/sendmux-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sendmux_mcp-1.1.1-py3-none-any.whl -
Subject digest:
655f0026bc6201c1f4a8b8f9dfa48a02ffdf7e8d3a362e90a73d34c11db4bcb8 - Sigstore transparency entry: 1848195689
- Sigstore integration time:
-
Permalink:
Sendmux/sendmux-sdk@fe221d74d9dda56f8800ea3f15da30cef98e5d55 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Sendmux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@fe221d74d9dda56f8800ea3f15da30cef98e5d55 -
Trigger Event:
push
-
Statement type: