HelpCrunch MCP by usefulapi

Manage HelpCrunch chats, customers, agents and knowledge-base articles.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
85%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,128Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (1.66% of 128k context)

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-http

What it can do

Tool inventory

Tools (12)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded12 tools
verifiedversion not recorded12 tools