HelpCrunch MCP by usefulapi
Manage HelpCrunch chats, customers, agents and knowledge-base articles.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"helpcrunch": {
"url": "https://helpcrunch.usefulapi.io/mcp"
}
}
}Remote endpoints
https://helpcrunch.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (12)
🟢helpcrunch_list_customers(field, operator, value, sort, order, ...)
List / search customers (people who chatted in). Optionally filter with a single field/operator/value clause (comparison AND), sort (e.g. customers.firstSeen, customers.lastSeen) with order, and paginate with limit/offset. HelpCrunch REST: POST /customers/search.
Input Schema
{
"type": "object",
"properties": {
"field": {
"description": "Field to filter on (e.g. customers.email, chats.status).",
"type": "string"
},
"operator": {
"description": "Filter comparison operator (used with field + value).",
"type": "string",
"enum": [
"=",
"!=",
">",
"<",
">=",
"<=",
"~",
"!~"
]
},
"value": {
"description": "Value to compare the field against (used with field + operator).",
"type": "string"
},
"sort": {
"description": "Field to sort by, e.g. customers.firstSeen / customers.lastSeen.",
"type": "string"
},
"order": {
"description": "Sort direction.",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"limit": {
"description": "Max records to return (pagination limit).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Records to skip (pagination offset).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢helpcrunch_get_customer(id)
Get a single customer by id. HelpCrunch REST: GET /customers/{id}.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The customer id (numeric id, passed as a string)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢helpcrunch_list_chats(field, operator, value, sort, order, ...)
List / search chats (conversations). Optionally filter with a single field/operator/value clause (comparison AND), sort (e.g. chats.createdAt) with order, and paginate with limit/offset. HelpCrunch REST: POST /chats/search.
Input Schema
{
"type": "object",
"properties": {
"field": {
"description": "Field to filter on (e.g. customers.email, chats.status).",
"type": "string"
},
"operator": {
"description": "Filter comparison operator (used with field + value).",
"type": "string",
"enum": [
"=",
"!=",
">",
"<",
">=",
"<=",
"~",
"!~"
]
},
"value": {
"description": "Value to compare the field against (used with field + operator).",
"type": "string"
},
"sort": {
"description": "Field to sort by, e.g. chats.createdAt.",
"type": "string"
},
"order": {
"description": "Sort direction.",
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"limit": {
"description": "Max records to return (pagination limit).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Records to skip (pagination offset).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢helpcrunch_get_chat(id)
Get a single chat (conversation) by id. HelpCrunch REST: GET /chats/{id}.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The chat id (numeric id, passed as a string)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢helpcrunch_get_chat_messages(id, limit, offset)
Get the messages of a chat (conversation), newest first (sorted by createdAt DESC). Paginate with limit (max 100) / offset. HelpCrunch REST: GET /chats/{id}/messages.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The chat id (numeric id, passed as a string)."
},
"limit": {
"description": "Max messages to return (max 100).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Records to skip (pagination offset).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢helpcrunch_list_agents(limit, offset)
List agents (support staff / operators) in the account, with role and email. Paginate with limit/offset. HelpCrunch REST: GET /agents.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (pagination limit).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Records to skip (pagination offset).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢helpcrunch_list_departments(limit, offset)
List departments (groups of agents that chats can be routed to), each with its agents. Paginate with limit/offset. HelpCrunch REST: GET /departments.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Max records to return (pagination limit).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"offset": {
"description": "Records to skip (pagination offset).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢helpcrunch_list_applications
List applications configured in the account — web chat widgets, iOS/Android apps, and social integrations (id, name, displayName, active, type). HelpCrunch REST: GET /applications.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢helpcrunch_get_organization
Get the organization's live-chat availability status — domain, whether the team is online (teamOnline), and whether chat is enabled (chatEnabled). HelpCrunch REST: GET /organization.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴helpcrunch_create_message(chat, text, type, agent, markdown_text)
POSTS a message into a LIVE chat — a customer-visible reply (type "message") or an internal private note (type "private"). Set `agent` (agent id) for agent messages; omit it for customer messages. HelpCrunch REST: POST /messages.
Input Schema
{
"type": "object",
"properties": {
"chat": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "The chat id to post the message into."
},
"text": {
"type": "string",
"description": "The message text."
},
"type": {
"default": "message",
"description": "\"message\" = customer-visible reply; \"private\" = internal note.",
"type": "string",
"enum": [
"message",
"private"
]
},
"agent": {
"description": "Agent id — required for agent messages; omit for customer messages.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"markdown_text": {
"description": "Optional markdown version of the message (→ markdownText).",
"type": "string"
}
},
"required": [
"chat",
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴helpcrunch_update_chat_status(id, status)
CHANGES the status of a LIVE chat (e.g. mark it opened, pending, on hold, or closed). HelpCrunch REST: PUT /chats/status.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "The chat id to update."
},
"status": {
"type": "string",
"enum": [
"new",
"opened",
"pending",
"on hold",
"no communication",
"closed"
],
"description": "The new chat status."
}
},
"required": [
"id",
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴helpcrunch_assign_chat(id, assignee)
ASSIGNS (or unassigns) a LIVE chat to an agent. Pass `assignee` (agent id) to assign; omit it (or pass null) to unassign. HelpCrunch REST: PUT /chats/assignee.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "The chat id to (re)assign."
},
"assignee": {
"description": "Agent id to assign the chat to. Omit (or null) to unassign.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence