Developers

MCP server

Give an AI agent such as Claude your DM Handled account: the inbox, replies, bookings, knowledge, customers and consents.

Connection details

Endpointhttps://app.dmhandled.com/mcp/
TransportStreamable HTTP (JSON-RPC 2.0 over POST), protocol version 2025-06-18
AuthenticationAuthorization: Bearer dmh_cust_… — the same key as the REST API
Limits20 write tools a minute and 300 an hour per key

Connect Claude Code

claude mcp add --transport http dmhandled https://app.dmhandled.com/mcp/ \
  --header "Authorization: Bearer dmh_cust_…"

Then ask, for example: "Which conversations need a person right now, and why?"

Other agents

Any MCP client that can reach a remote HTTP server and send an Authorization header works. To check a key by hand:

curl -X POST https://app.dmhandled.com/mcp/ \
  -H "Authorization: Bearer $DMH_KEY" -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

Tools

ToolWhat it does
whoamiWho this key is and what it can seeread
account_statusPlan, channels, and whether the assistant can answer right nowread
list_conversationsRecent conversations; filter by state or channelread
get_conversationOne conversation's full threadread
needs_human_queueConversations waiting for a person, with the reason and time leftread
send_replyReply in a conversation, on the channel the person usedwrite
take_overA person handles this conversation; the assistant stopswrite
release_to_aiHand a conversation back to the assistantwrite
search_knowledgeSearch what the assistant knowsread
list_knowledgeEverything the assistant answers fromread
upsert_knowledgeAdd or update up to 50 pieces, by your own idwrite
delete_knowledgeRemove pieces, by id or your own idwrite
list_slotsOpen appointment slotsread
book_appointmentBook a slotwrite
list_appointmentsUpcoming appointmentsread
cancel_appointmentCancel an appointmentwrite
list_voice_examplesThe examples that teach the assistant how you soundread
generate_voice_examplesDraft new voice examples from your writing sampleswrite
approve_voice_examplesEdit and approve voice exampleswrite
get_analyticsConversations handled, hand-overs and why, reply timesread
upsert_contactCreate or update a customer and their consents, by your idwrite
get_contactA customer and their consents, by your id, email or phoneread
delete_contactErase a customer and their consentswrite
create_identity_passA same-browser pass for the chatwrite
list_eventsWhat happened, in orderread

send_reply follows the same rules as the assistant: the 24-hour window, WhatsApp consent and the send rate.