MCP: connect your AI to Atendlly
Atendlly's MCP server is at https://atende.suporteja.com.br/mcp (Streamable HTTP, sessionless). It serves clients of protocol
versions 2026-07-28 and 2025-11-25. Authentication: the Authorization: Bearer <your key> header.
First, create a key in Settings → Integrations → API keys and MCP with the "AI assistant" template. Prefer one personal key per person: it acts as you and never does more than you.
Claude (claude.ai and Claude Desktop)
- In Settings → Connectors, click Add custom connector.
- Name:
Atendlly. URL:https://atende.suporteja.com.br/mcp. - Authentication: No sign in. Under Request headers, add
Authorizationwith the valueBearer atl_live_…. - Try: "Which conversations have been waiting for more than 30 minutes?"
On Claude Team/Enterprise plans only owners add connectors, and a shared key gives everyone that key's access: prefer one personal key per person. If the headers option is missing in your Claude account, use Claude Code or wait for the OAuth connection.
Claude Code
export ATENDLLY_API_KEY=atl_live_…
claude mcp add --transport http atendlly https://atende.suporteja.com.br/mcp --header "Authorization: Bearer $ATENDLLY_API_KEY"
Or in the project's .mcp.json (the key stays in an environment variable, never in the repository):
{ "mcpServers": { "atendlly": { "type": "http", "url": "https://atende.suporteja.com.br/mcp",
"headers": { "Authorization": "Bearer ${ATENDLLY_API_KEY}" } } } }
Cursor
In ~/.cursor/mcp.json:
{ "mcpServers": { "atendlly": { "url": "https://atende.suporteja.com.br/mcp",
"headers": { "Authorization": "Bearer ${env:ATENDLLY_API_KEY}" } } } }
If your Cursor version does not expand environment variables in headers, put the key itself (and do not share the file).
VS Code
In .vscode/mcp.json (VS Code asks for the key once and stores it safely):
{
"inputs": [{ "type": "promptString", "id": "atendlly-key", "description": "Atendlly key", "password": true }],
"servers": { "atendlly": { "type": "http", "url": "https://atende.suporteja.com.br/mcp",
"headers": { "Authorization": "Bearer ${input:atendlly-key}" } } }
}
ChatGPT (soon)
ChatGPT only accepts OAuth connections, which are coming soon to Atendlly. For now use Claude, Claude Code, Cursor or VS Code.
Any MCP client
- URL:
https://atende.suporteja.com.br/mcp,POSTonly (GET and DELETE answer 405). - Header:
Authorization: Bearer atl_live_…. - Versions: 2026-07-28 (no
initialize; every request carries_metaand theMCP-Protocol-Version,Mcp-MethodandMcp-Nameheaders) and 2025-11-25 (withinitialize, noMcp-Session-Id).
curl -s https://atende.suporteja.com.br/mcp -H "Authorization: Bearer $ATENDLLY_API_KEY" \
-H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2026-07-28" -H "Mcp-Method: tools/list" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'
With the official MCP Inspector:
npx @modelcontextprotocol/inspector --cli https://atende.suporteja.com.br/mcp --transport http \
--header "Authorization: Bearer $ATENDLLY_API_KEY" --method tools/list
Tools
tools/list shows only the tools the key may use. Reads: get_account_overview, search_contacts, get_contact,
list_conversations, get_conversation, get_queue_overview, get_report_summary, search_knowledge,
list_pipelines, list_deals, get_deal, list_tasks, get_action_status. Actions: create_contact,
update_contact, add_contact_note, update_conversation, add_private_note, send_message, create_deal,
update_deal, close_deal, create_task, complete_task, suggest_faq.
send_message waits for a person's approval in Atendlly (unless an administrator turned on automatic sending for a
service key). When the result says pending_approval, nothing was sent yet: check get_action_status.
Troubleshooting
| Symptom | Cause |
|---|---|
| 401 | Wrong, expired or revoked key; or the client did not send the Authorization header |
403 plan_required |
The account's plan does not include the API (Básico) |
403 ip_not_allowed |
The key is IP-restricted and the AI client leaves from another address |
| A tool is missing | The key lacks that area's scope (see scopes) |
| Masked data | The key does not have contacts:pii |