The Corebee MCP server lets any Model Context Protocol client — Claude, an MCP-capable agent, or your own tooling — operate AI customer support for a connected organization. Read and reply to conversations, manage contacts, search and edit the knowledge base, and pull metrics, all scoped to a single organization and gated by OAuth 2.1.
The server speaks Streamable HTTP at a single canonical endpoint. Point your MCP client at:
https://corebee.ai/api/v1/mcp/stream
Discovery metadata lives at /.well-known/mcp/server-card.json and /.well-known/oauth-protected-resource. The legacy SSE route at /api/v1/mcp is deprecated — use the endpoint above.
Every request is authenticated with an OAuth 2.1 bearer token passed in the Authorization header. Compliant MCP clients complete the flow automatically:
401 the client reads /.well-known/oauth-protected-resource (RFC 9728) to find the authorization server./api/v1/mcp/oauth/register (RFC 7591) — no manual client-id provisioning required.code_verifier / SHA-256 code_challenge. Plain challenges are rejected.Authorization: Bearer <access_token>
tools/list returns the full list of 42 tools in every session. No extra discovery step is needed.
Each tool requires the OAuth scope shown. Every tool appears in the list, but a call fails unless the token was granted that scope. Scopes also follow your role in the workspace: agents cannot be granted settings changes or deletes, and viewers are read-only.
conversations:read, conversations:writeRead, reply to, and manage support conversations in the inbox.
list_conversationsconversations:readget_conversationconversations:readbulk_export_conversationsconversations:readreply_to_conversationconversations:writeassign_conversationconversations:writeclose_conversationconversations:writeset_priorityconversations:writeadd_labelconversations:writebulk_close_conversationsconversations:writebulk_snooze_conversationsconversations:writebulk_tag_with_sentimentconversations:writebulk_add_noteconversations:writecontacts:read, contacts:write, contacts:deleteManage customer contact records and notes.
list_contactscontacts:readget_contactcontacts:readcreate_contactcontacts:writeupdate_contactcontacts:writeadd_contact_notecontacts:writedelete_contactcontacts:deletebulk_delete_contactscontacts:deleteknowledge:read, knowledge:write, knowledge:deleteSearch and maintain the AI knowledge base that grounds answers, and ask the specialist agents that read it.
list_knowledge_sourcesknowledge:readget_knowledge_sourceknowledge:readsearch_knowledgeknowledge:reada2a_action_agentknowledge:reada2a_diagnostic_agentknowledge:reada2a_escalation_agentknowledge:reada2a_knowledge_agentknowledge:readadd_knowledge_urlknowledge:writeupdate_knowledge_sourceknowledge:writedelete_knowledge_sourceknowledge:deletemetrics:readRead analytics and performance reports (read-only).
get_metricsmetrics:readget_agent_performancemetrics:readget_channel_analyticsmetrics:readexport_reportmetrics:readget_trendsmetrics:readexport_report_taskmetrics:readsettings:read, settings:writeRead organization configuration, list chat widgets, and change a widget's appearance and behavior. Pass widget_id when the workspace has more than one widget.
get_widget_settingssettings:readlist_widgetssettings:readlist_team_memberssettings:readget_organization_settingssettings:readupdate_widget_settingssettings:writeconfigure_widget_appearancesettings:writeconfigure_widget_behaviorsettings:writeconfirm_token, and the delete runs only when the same call is repeated with that token after the user approves (valid 5 minutes, single use).reply_to_conversation sends through the same path as the Corebee inbox, and its result says whether the reply was handed to the channel (delivered true or false). A later bounce is not reflected, and phone conversations cannot receive a typed reply.Once connected, ask your MCP client in plain language. It will pick the right tools automatically.
“Show me the 5 most recent open conversations and summarize what each customer wants.”
Expected: Calls list_conversations, then get_conversation on each, and returns a short summary per thread.
“A customer is asking about our refund window. Search the knowledge base and draft a reply.”
Expected: Calls search_knowledge for the refund policy and drafts a grounded answer. It calls reply_to_conversation, which sends the reply to the customer, only after you approve the text.
“What is our CSAT and average first-response time this week?”
Expected: Calls get_metrics with period this_week. CSAT is shown as not available when no survey responses were recorded.
“How many conversations did we resolve this week, and how does message volume compare with the last 30 days?”
Expected: Calls get_metrics for this week and get_trends for messages over the last 30 days; no writes.
“Add https://help.acme.com/returns as a knowledge source so the AI can answer returns questions.”
Expected: Calls add_knowledge_url, queues the page for ingestion, and confirms the new source.
S256 is accepted (no plain).