Sent MCP Server
The Sent MCP server exposes Sent's messaging tools (send, lookup, contacts, templates, analytics, Sender Profiles, SMS compliance, and feedback) directly inside your AI agent. No API keys to paste, no context-switching to another tab. Your agent can send a real SMS, look up a contact, or check deliverability without leaving your editor.
The MCP server is available at mcp.sent.dm. It implements the Model Context Protocol over HTTP with OAuth 2.1 authentication.
What you can do
| Category | Available tools |
|---|---|
| Messaging | Send SMS, WhatsApp, and RCS · Get message status · List message activity |
| Contacts | List, get, create, delete contacts · Message summary per contact |
| Templates | List, get, and delete templates · Look up by name |
| Lookup & Analytics | Phone number lookup · Messages sent · Deliverability · Contact stats |
| Account | Get account info · Check balance · Onboarding status |
| Sender Profiles | List, get, create, update, and delete Sender Profiles |
| SMS compliance | Market requirements · Setup plan for a market |
| Feedback | Send user-authorized feedback to the Sent team |
27 tools in total. Connections through Claude's hosted connector get 25 of them; see Claude connector policy.
Setup
Add the MCP server to your agent
Pick your agent below and follow the one-time setup.
In Claude, open Settings → Connectors, add a custom connector, and enter this URL:
https://mcp.sent.dm/mcpThe connector works in claude.ai, Claude Desktop, and Claude mobile. Claude opens the Sent authorization page the first time you connect. These connections follow the Claude connector policy.
Run this command in your terminal:
claude mcp add --transport http sent https://mcp.sent.dm/mcpThat's it. Claude Code registers the server and handles authentication on first use.
Open or create ~/.cursor/mcp.json and add:
{
"mcpServers": {
"sent": {
"url": "https://mcp.sent.dm/mcp"
}
}
}Restart Cursor after saving. The server will appear under Settings → MCP.
Add a .vscode/mcp.json file at the root of your project (or your user settings):
{
"servers": {
"sent": {
"type": "http",
"url": "https://mcp.sent.dm/mcp"
}
}
}VS Code Copilot will pick up the server automatically on next activation.
Authenticate
The first time your agent calls a Sent tool, it will trigger an OAuth 2.1 authorization flow:
- Your agent opens a browser tab to
app.sent.dm/mcp-authorization - You log in with your Sent account and select the organization or Sender Profile to grant access to
- An access token is issued and stored by the agent, no copy-pasting required
The token has no expiry. To revoke access, deactivate the connection's key in Dashboard → API Keys. Claude connections get a dedicated key named Claude connector YYYY-MM-DD.
Use it
Ask your agent anything that involves messaging:
Send a WhatsApp message to +1234567890 using the order_confirmation template
with customerName="Alex" and orderNumber="#9981"Look up the phone number +447911123456 and tell me what channel it supportsShow me deliverability stats for the last 7 daysThe agent selects the right tool, constructs the call, and shows you the result inline.
Available tools reference
The Available in Claude column shows which tools connections through Claude's hosted connector can use. Every tool is available to Claude Code and other MCP clients.
Messaging
| Tool | Description | Available in Claude |
|---|---|---|
messages.send | Send a message via SMS, WhatsApp, or RCS | Yes, one recipient per call, no MARKETING templates |
messages.get | Retrieve a single message by ID | Yes |
messages.activities.list | Get the full lifecycle timeline for a message | Yes |
Contacts
| Tool | Description | Available in Claude |
|---|---|---|
contacts.list | List contacts in your account | Yes |
contacts.get | Get a single contact by ID | Yes |
contacts.create_many | Bulk-create contacts | Yes |
contacts.delete | Delete a contact | Yes |
contacts.message_summary | Get messaging history summary for a contact | Yes |
Templates
| Tool | Description | Available in Claude |
|---|---|---|
templates.list | List all templates | Yes |
templates.get | Get a template by ID | Yes |
templates.get_by_name | Get a template by name | Yes |
templates.delete | Delete a template | Yes |
Lookup & Analytics
| Tool | Description | Available in Claude |
|---|---|---|
numbers.lookup | Look up a phone number (channel support, validity) | Yes |
dashboard.messages_sent | Messages sent over a time range | Yes |
dashboard.deliverability | Delivery rate stats | Yes |
dashboard.contacts | Contact growth and activity stats | Yes |
Account
| Tool | Description | Available in Claude |
|---|---|---|
account.get | Get account details | Yes |
balance.get | Check current balance | Yes |
onboarding.status | Check onboarding and KYC status | Yes |
Sender Profiles
| Tool | Description | Available in Claude |
|---|---|---|
sender_profiles.list | List the organization's Sender Profiles and their channel readiness | Yes |
sender_profiles.get | Get a single Sender Profile by ID | Yes |
sender_profiles.create | Create a Sender Profile, which can claim a number and incur registration fees | No, use the Dashboard |
sender_profiles.update | Change a Sender Profile's name, short name, or description | Yes |
sender_profiles.delete | Delete a Sender Profile, which can release its numbers and disconnect WhatsApp | No, use the Dashboard |
SMS Compliance
| Tool | Description | Available in Claude |
|---|---|---|
compliance.requirements | List the fields and documents an SMS market requires | Yes |
compliance.setup_plan | Get the setup steps for an SMS market | Yes, returns a Dashboard link |
Feedback
| Tool | Description | Available in Claude |
|---|---|---|
feedback.send | Send feedback you approve to the Sent team | Yes |
Claude connector policy
Connections authorized through Claude's hosted connector (claude.ai, Claude Desktop, Claude mobile, and Cowork) get a restricted policy. The Sent server enforces it on every request from that connection, even when no plugin is installed:
- No Sender Profile provisioning.
sender_profiles.createandsender_profiles.deleteare not listed and refuse direct calls. Create and delete Sender Profiles in the Sent Dashboard.compliance.setup_planreturns a Dashboard link instead of a create call. - One recipient per send.
messages.sendaccepts one phone number per call. Use the Dashboard or the REST API for bulk sends. - No MARKETING templates.
messages.sendrefuses a template in the MARKETING category. UTILITY and AUTHENTICATION templates send as usual. Send marketing campaigns from the Dashboard or the REST API. - Organization send quota. All Claude connections in an organization share one quota, by default 10 sends per minute and 100 sends per day. A send on several channels counts once per channel. Adding connections or Sender Profiles does not reset it.
- Opt-outs. A recipient who has opted out is refused before anything is queued, from Claude or from any other client.
Claude Code and other MCP clients keep the full set of 27 tools. Claude connections authorized before this policy were moved onto it when they used a key the connector had created for them (named MCP-YYYY-MM-DD). A Claude connection you authorized with one of your own API keys keeps that key's access until you deactivate the key in Dashboard → API Keys and reconnect the connector.
Example use cases
- Send one approved template message to a customer and check its delivery status.
- Review a message's activity timeline when a send looks stuck.
- Find, add, or remove contacts, and summarize a contact's message history.
- Find an approved template by name, or delete one you no longer use.
- Check messages sent, deliverability, and contact totals, or look up a phone number's capabilities.
- Check account details, balance, onboarding status, and the SMS requirements for a market.
- Rename a Sender Profile or update its description.
- Send feedback about the tools to the Sent team when you ask for it.
Authentication details
The Sent MCP server uses OAuth 2.1 with PKCE (RFC 7636) and Dynamic Client Registration (RFC 7591). Your agent registers itself automatically. No manual client ID setup required.
- Token expiry: None. Tokens are long-lived.
- Phone verification: Connecting requires a verified phone number on your Sent account, the same as the dashboard. An account that has not verified one is sent to verify it first, then returned to finish connecting.
- Revocation: Dashboard → API Keys → deactivate the key the connection uses. Deactivating a key that other tools share signs those tools out too. Claude connections always get their own key, named
Claude connector YYYY-MM-DD. - Scope: Tied to the organization or Sender Profile chosen during authorization. To grant access to a different one, re-authorize.
Related
Docs for LLMs & AI Agents
Plain-text documentation files for loading Sent API context into any AI agent
Sending Messages
REST API guide for sending SMS, WhatsApp, and RCS programmatically
Working with Templates
Create and manage message templates used by the MCP send tool