canhelpto-mcp-support
@canhelpto-com/mcp-support
Customer support inside your MCP server. Your users are in Claude, ChatGPT and Cursor now; when one of your tools fails there, they have no help button. This package adds one.
support_askanswers from your own rules (no model call, never invented).support_open_ticketopens a ticket with the account, the client and the last tool calls attached, errors included.support_ticket_statusbrings your team's answer back into the user's chat.Every tool you register after it is timed and recorded, and its errors carry a hint that tells the agent where to turn.
Tickets land in your canhelpto inbox with the failed call shown next to the customer's words. Your team answers there or from its own agent. Free for one workspace.
Install with one prompt
Tell your coding agent (Claude Code, Cursor, Codex):
Add canhelpto support to this MCP server, following https://canhelpto.com/install.md
It reads your server, adds the package, wires the user lookup and opens a test ticket.
Related MCP server: Modular MCP Server with Python Tools
Install by hand
npm install @canhelpto-com/mcp-supportimport { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { withSupport } from "@canhelpto-com/mcp-support";
const server = new McpServer({ name: "acme", version: "1.0.0" });
withSupport(server, {
apiKey: process.env.CANHELPTO_API_KEY!, // canhelpto.com -> Settings -> Service key (chs_...)
product: "Acme Invoices",
user: (extra) => lookupUser(extra), // { id, name?, email?, ...anything you want the team to see }
rules: [
{ match: ["domain", "dns"], answer: "Verify your sender domain in Settings > Email.", nextTool: "get_settings" },
{ match: /rate.?limit/i, answer: "You hit the rate limit; it resets after 60 seconds." },
],
});
// Register your own tools after withSupport, as usual.
server.registerTool("send_invoice", { inputSchema: { invoiceId: z.string() } }, async ({ invoiceId }) => { /* ... */ });Call withSupport before registering your own tools: those registered after it are recorded and get the error hint.
Options
Option | |
| Workspace service key ( |
| Your product's name, used in tool descriptions and the ticket. |
| Returns the calling account, or null. |
| Answers for |
| What the caller runs ( |
| Calls kept per user. Default 12. |
| For tests and self-hosting. |
Privacy
The ticket carries the account fields you return from user(), the client fields, and the names, times, durations and error messages of the last calls. Tool arguments and results are never sent. Reads never use service mode, so your team's internal notes stay out of the chat, and a user only sees tickets on their own account.
License
MIT, MVPHub LLC.
Demo server
demo/ is a runnable example: a made-up "Acme Invoices" server with support mounted (create_invoice fails on purpose for currencies other than EUR and USD). Run it over stdio with npx tsx demo/server.ts, or docker build -t canhelpto-demo . && docker run -i canhelpto-demo. Set CANHELPTO_API_KEY to file real tickets in your workspace.
This server cannot be deployed
Maintenance
Related MCP Connectors
Customer support for MCP servers: work your tickets from Claude or any MCP client. Service key auth.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for toolhouse.ai. This does not rely on an external llm unlike the official server.4MIT
- FlicenseNot gradedqualityDmaintenanceA demo MCP server that enables users to interact with various tools through natural language, including note management, weather queries, calculations, file operations, and shell commands. Uses Ollama for intent detection and structured command parsing from free text input.-
- AlicenseCqualityDmaintenanceMCP server that exposes the complete Libredesk REST API (54 endpoints) as tools, enabling natural language management of conversations, contacts, agents, teams, and more for the open-source customer support desk.545 npm4MIT
- AlicenseAqualityDmaintenanceMCP server to manage GestSup tickets via an LLM, with tools for creating, reading, commenting, and searching tickets.13MIT