Sonny MCP

Beta

Give AI tools a safe way to work in Sonny

Model Context Protocol is an open standard that lets compatible assistants discover and use Sonny actions with clear, machine-readable inputs. Claude and Cowork can connect with OAuth 2.1 and PKCE.

Remote MCP configuration

JSON
{
  "mcpServers": {
    "sonny": {
      "url": "https://www.usesonny.com/api/mcp"
    }
  }
}

Configuration formats vary by client. Add the remote Streamable HTTP endpoint; compatible clients discover Sonny's OAuth setup automatically. Scoped API keys remain available for clients that cannot use OAuth.

Why MCP

The same Sonny, through your AI tools

Every MCP tool uses the same workflows as Sonny's public API, so your automation and your team get consistent results.

Tools discover themselves
Your assistant can see available Sonny actions, their required inputs, and whether an action reads, writes, or deletes data.
Complete API coverage
Every public API operation is available as an MCP tool, from listing contacts to retrying a webhook delivery.
The same safety boundary
MCP uses the same scopes, workspace boundaries, and business rules as every direct API request.

Tool catalog

Clear actions with narrow inputs

Read-only tools are marked for assistants. Destructive tools are identified separately, so your client can ask for confirmation before it acts.

list_contacts
Returns workspace contacts with tags and conversation counts.
create_contact
Creates a contact. Email addresses are unique within a workspace.
get_contact
Returns one workspace contact.
update_contact
Updates supplied contact fields.
archive_contact
Archives the contact without deleting conversation history.
list_channels
Returns the stable channel values accepted by conversation filters.
list_sources
Returns configured workspace sources and the conversation channels each source supports.
list_conversations
Returns non-trash, non-spam conversations.
get_conversation
Returns one conversation with contact, assignee, group, and tags.
update_conversation
Changes status, priority, or assignment while preserving audit, CSAT, notification, search, realtime, and webhook side effects.
list_messages
Returns a chronological page of messages, newest page first via the before cursor.
create_internal_note
Adds an internal note. This endpoint never sends a customer-facing message.
send_message
Sends a customer-facing reply as the API key's creator, delivered over the conversation's channel: realtime chat (with an email copy when the visitor is offline) or email from the source's sending identity. The customer sees it immediately. Requires the messages:send scope, granted separately from messages:write.
list_webhooks
Returns endpoints and recent delivery status. Secrets are never returned.
create_webhook
Creates an HTTPS endpoint. The signing secret is returned once.
list_webhook_events
Returns the canonical subscription catalog.
update_webhook
Changes endpoint configuration or enabled state.
delete_webhook
Deletes the endpoint and its delivery history.
test_webhook
Queues webhook.test for this enabled endpoint even when it is not subscribed to that event. Disabled endpoints return 409.
list_webhook_deliveries
Returns the 50 most recent delivery attempts.
retry_webhook_delivery
Resets a terminal failed delivery and queues it immediately. Disabled endpoints return 409.

Connect securely

One connection, only the access you choose

Connect with OAuth
Sign in, review the requested scopes, and choose a workspace.
Add the MCP server
Add the remote URL. OAuth-capable clients discover the rest.
Stay in one workspace
Sonny scopes every tool call to the workspace you approved.