Connect AI tools with MCP
Ody has a built-in MCP (Model Context Protocol) server at https://api.ody.co/v1/mcp — add it to ChatGPT, Claude, Cursor, or any MCP client with an API key, and the assistant can manage contacts, work your conversations, search messages, send texts, buy phone numbers, register 10DLC texting, place outbound AI calls, and configure your AI agent in your workspace.
Before you start
- You need an API key — see Get your Ody API key. For an assistant that should only read, create the key with just the read scopes. To experiment without sending real texts, use an
ody_test_…key — see Build safely with test mode. - MCP is included on every plan, starting with Starter.
Step-by-step
Click Settings in the sidebar, then Developer API.
Scroll to the Connect to ChatGPT & Claude card. It shows the MCP endpoint —
https://api.ody.co/v1/mcp— with a Copy button, and a ready-to-paste client config.In your AI tool's MCP/connector settings, add a server using this config (with your real key):
{
"mcpServers": {
"ody": {
"url": "https://api.ody.co/v1/mcp",
"headers": { "Authorization": "Bearer ody_live_…" }
}
}
}
- Ask the assistant something like "give me a summary of my Ody workspace" to confirm the connection.
What the assistant can do
The MCP server exposes twenty tools, each gated by the same scope its REST endpoint uses:
| Tool | What it does | Required scope |
|---|---|---|
list_contacts |
List or search your contacts | contacts:read |
create_contact |
Add a contact | contacts:write |
update_contact |
Update a contact's name, company, phone, or email | contacts:write |
delete_contact |
Permanently delete a contact | contacts:write |
list_conversations |
List open/done conversations | conversations:read |
get_conversation |
Read a full thread | conversations:read |
set_conversation_status |
Mark a conversation open or done | conversations:write |
search_messages |
Search message bodies, voicemail transcripts, and call notes | conversations:read |
workspace_summary |
Snapshot: contact count, open/done counts, unread total, 7-day volume | conversations:read |
wait_for_message |
Wait (up to 25 s) for a new inbound message in a conversation | conversations:read |
send_message |
Send an SMS (to a conversation or a phone number) | messages:send |
list_numbers |
List your workspace numbers | numbers:read |
search_numbers |
Search phone numbers you can buy | numbers:manage |
buy_number |
Buy a number — billed like an in-app purchase | numbers:manage |
get_messaging_status |
Check 10DLC texting registration status | numbers:manage |
submit_10dlc_registration |
File your 10DLC business + campaign (billed) | numbers:manage |
place_call |
Have your published AI agent place an outbound call | calls:place |
get_agent |
Read your AI agent's config and credit usage | agent:manage |
configure_agent |
Update the agent's config; pass publish: true to go live |
agent:manage |
connect_agent_to_number |
Route one of your numbers to the AI agent | agent:manage |
If the key is missing a scope, that tool simply isn't offered to the assistant — so a read-only key produces a genuinely read-only assistant. Everything runs with the permissions of the member who created the key, in that workspace only.
Two things worth knowing:
wait_for_messagelets an assistant hold a live SMS conversation: it sends a text withsend_message, waits up to 25 seconds for the reply, and responds — calling the tool again if the wait times out.- The number, 10DLC, call, and agent tools are the same "Agent Phone" surface as the REST API — same billing, same rules, and you can take over in the app at any moment. See Buy numbers and register texting via the API and Place AI calls and manage Astra via the API.
With a test key, send_message records a simulated message, buy_number and place_call simulate (nothing bought or dialed), agent publishing is simulated, and submit_10dlc_registration files in mock mode — no fee, no registry submission.
Related articles
Frequently asked questions
Which plans include MCP?
All of them — ChatGPT / Claude MCP is included starting on the Starter plan.
Can I give an assistant read-only access?
Yes. Create an API key with only the read scopes — the assistant is only offered the tools those scopes allow.
Can I test without sending real texts or spending money?
Yes — connect with an ody_test_ key. Every tool works the same, but sends, number purchases, AI calls, and agent publishing are simulated, and 10DLC filings run in mock mode.
Which AI apps work with it?
Any Model Context Protocol client — ChatGPT, Claude, Cursor, and other MCP-capable tools.