add_private_note
ChatGPTAdd an internal private note to a conversation. Private notes are visible to agents in the dashboard only and are never sent to the customer.
create_article
ChatGPTCreate a Help Center article in a portal. The article is saved as a draft unless status is explicitly published or archived.
create_conversation
ChatGPTStart a conversation with an existing contact in an accessible inbox and send the first message to the customer, in the name of the authorizing user. Requires the mcp:send scope. The contact must already exist (find it with search_contacts); channels that cannot start conversations return a clear error. Pass idempotency_key to make client retries safe: reusing the key returns the original conversation without creating a duplicate.
create_draft
ChatGPTSave a reply draft for a conversation, like the dashboard composer draft. The draft is never sent to the customer; an agent has to send it from the dashboard.
get_article
ChatGPTRead one Help Center article with its content. Read-only: use search_articles to find article IDs.
get_contact
ChatGPTRead one contact with custom attributes, company and recent conversation history. Read-only: returns conversation display IDs for get_conversation.
get_conversation
ChatGPTRead one conversation with its message history and contact details. Read-only; never sends anything to the customer.
get_report
ChatGPTRead-only report metrics for the current account, built from the same builders as the dashboard reports. report must be one of: account_summary, agent_summary, inbox_summary, team_summary, label_summary, channel_summary, first_response_time_distribution, outgoing_messages_count, csat_summary. since/until are Unix epoch seconds and default to the last 7 days. group_by only applies to outgoing_messages_count. agent_summary, team_summary and outgoing_messages_count grouped by agent or team require the report_rollup capability; csat_summary requires the csat capability and counts a response as satisfied when rating >= 4.
list_agents
ChatGPTList agents in the current account so other tools can filter by assignee user ID.
list_inboxes
ChatGPTList active inboxes in the current account so other tools can filter by inbox ID.
list_teams
ChatGPTList teams in the current account so other tools can filter by team.
search
ChatGPTSearch conversations, messages, contacts and Help Center articles in one call. Conversations match contact name/email or display ID, messages match content, contacts match name/email/phone/identifier and articles match title/content. Read-only: returns the first page per type without cross-type pagination; use search_conversations, search_contacts or search_articles to go deeper.
search_articles
ChatGPTSearch Help Center articles in the current account, using semantic search when configured and keyword matching otherwise. Read-only: returns article IDs for get_article.
search_contacts
ChatGPTSearch contacts in the current account by name, email or phone number. Read-only: returns contact IDs for get_contact.
search_conversations
ChatGPTSearch conversations in the current account, newest activity first. Read-only: returns conversation IDs for get_conversation.
send_reply
ChatGPTSend a reply to the customer on an existing conversation, in the name of the authorizing user, like a reply sent from the dashboard. Sending is irreversible and requires the mcp:send scope. Pass idempotency_key to make client retries safe: reusing the key returns the original result without sending again.
update_article
ChatGPTUpdate a Help Center article. The current publication state is kept unless status is explicitly provided.
update_conversation
ChatGPTUpdate reversible conversation metadata: status, priority, labels and assignee. Use none to clear the priority. Labels are added without removing existing ones. Does not send anything to the customer.