Skip to main content

Overview

Clerk Chat provides an MCP (Model Context Protocol) server that lets you send messages, manage contacts, and run campaigns from any MCP-compatible client. The MCP server is hosted at:
https://mcp.clerk.chat/

Prerequisites

  • A Clerk Chat account with an active workspace
  • An MCP-compatible client (e.g., Claude Code, Claude Desktop, or any other MCP client)

Authentication

The Clerk Chat MCP server uses OAuth for authentication. The first time you invoke a tool, your client will open a browser window to authenticate with your Clerk Chat account. After signing in, you’ll be redirected back and the session will be active.

Claude Code Setup

Add the Clerk Chat MCP server to Claude Code:
claude mcp add clerk-chat --transport http https://mcp.clerk.chat/
To verify the connection, run:
/mcp
You should see Authentication successful. Connected to clerk. in the output.

Available Tools

Once connected, the following tools are available:

send_message

Send an SMS/MMS message from a Clerk Chat inbox.
ParameterTypeRequiredDescription
senderstringYesThe Clerk phone number to send from (e.g., +15551234567)
recipientsstring[]YesList of recipient phone numbers
bodystringYesThe message text content
media_urlsstring[]NoMedia URLs to attach (for MMS)
sent_by_namestringNoDisplay name for the sender

get_messages

Retrieve messages for the active team with optional filtering.
ParameterTypeRequiredDescription
inbox_idsstring[]NoFilter by specific inbox IDs
startstringNoStart datetime in ISO format
endstringNoEnd datetime in ISO format
limitintegerNoMax messages to return (default: 50, max: 50)
pageintegerNoPage number for pagination (default: 1)

create_contact

Create a new contact in your workspace.
ParameterTypeRequiredDescription
namestringNoContact name
emailstringNoContact email
phonestringNoContact phone number
publicbooleanNoVisible to all team members
dataobjectNoAdditional metadata key-value pairs

update_contact

Update an existing contact.
ParameterTypeRequiredDescription
contact_idstringYesThe contact ID to update
namestringNoNew name
emailstringNoNew email
phonestringNoNew phone number
publicbooleanNoVisibility setting
dataobjectNoMetadata (replaces existing)

delete_contact

Delete a contact by ID.
ParameterTypeRequiredDescription
contact_idstringYesThe contact ID to delete

create_contacts_batch

Create multiple contacts at once.
ParameterTypeRequiredDescription
contactsobject[]YesArray of contact objects (same fields as create_contact)

create_campaign

Send a message to all contacts in a list.
ParameterTypeRequiredDescription
senderstringYesThe Clerk phone number to send from
list_namestringYesName of the recipient list
bodystringYesMessage content
media_urlsstring[]NoMedia URLs to attach
namestringNoCampaign name
timestampstringNoScheduled send time (ISO format)
providerstringNoSMS provider (twilio, bandwidth, telnyx, etc.)

Examples

Send a message:
Send a message from +15551234567 to +15559876543 saying “Your appointment is confirmed for tomorrow at 2pm”
Check recent messages:
Show me the last 10 messages from inbox 5d0e8d03-d09f-47e5-8017-4d00cbf737f4
Create a contact:
Create a contact for Jane Smith with phone +15551234567 and email [email protected]

Troubleshooting

IssueSolution
Session not found errorRun /mcp to reconnect
Authentication failedRun /mcp to clear and re-authenticate
Tools not appearingRun /mcp to reconnect, then retry
Unauthorized errors on tool callsYour OAuth token may have expired. Run /mcp to re-authenticate