What is an MCP support desk?

An MCP support desk is customer support that lives inside your MCP server. It is a small set of tools that the user's AI client (Claude, ChatGPT, Cursor) can call to ask a question, open a ticket and read the reply. Your server attaches the context of the failed call, so the user writes one sentence and a person on your team sees what went wrong.

How it works

AI clientClaude, ChatGPT, CursorYour MCP server3 support tools + contextcanhelpto inboxyour team repliesask / open ticketreply
  1. 1. A tool fails, or the user has a question. The AI client calls support_ask.
  2. 2. Your rules answer what they can: a missing connection, a rate limit, an empty balance. An unknown question is never invented; it points at the ticket.
  3. 3. If a person must act, support_open_ticket sends the ticket with the account, the client, the catalogue version and the last calls with their errors.
  4. 4. Your team replies in the inbox. The reply goes out by email and is readable through support_ticket_status, in the same conversation.

What it looks like in code

import { withSupport } from "@canhelpto/mcp-support";

// Adds support_ask, support_open_ticket and support_ticket_status to your server,
// records the last calls of each account, and adds a support hint to every tool error.
withSupport(server, {
  apiKey: process.env.CANHELPTO_API_KEY,
  product: "Acme Reports",             // an example name
  user: (extra) => ({ id: extra.userId, email: extra.email, name: extra.name }),
  rules: [{ match: /credit/i, answer: "Your balance is shown in Account > Billing." }],
});

Other languages use the same three tools over the REST API.

Questions

Why does an MCP server need one?
Users of an MCP server work inside their AI client. They never open your web app or your help desk. When a tool fails, the only place they can ask for help is the conversation they are already in.
What tools does it add?
Three: support_ask answers from your own rules, support_open_ticket opens a ticket with the connector context attached, and support_ticket_status reads the ticket and the team's public replies back.
Is it a chatbot?
No. support_ask answers from rules you write in code, with no model call, and says so when it does not know. A person answers tickets.

Step by step: add support to your MCP server and handle tool errors. The calls are in the docs for agents. Plans are on the pricing page.