Search Kayako cases, replies, customers and help-center articles, and reply to or create cases. Hosted by usefulapi — connect from Claude, Cursor, or any MCP client.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"kayako": {
"url": "https://kayako.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
kayako_get_me | read | Get the current user Fetch the Kayako user these credentials belong to (name, role, teams, locale). A cheap way to confirm the subdomain and credentials work. Kayako: GET /api/v1/me.json. |
kayako_list_cases | read | List cases List cases (conversations / tickets), newest-updated first. Filter by status type, tags, max priority level, or a requester identity (email, Twitter screen name, Facebook username, phone); or fetch specific ids. Nested resources are references unless `include` expands them. Kayako: GET /api/v1/cases.json. |
kayako_get_case | read | Get a case Fetch one case (conversation) by id: subject, requester, assignee, status, priority, type, SLA metrics, custom fields, last post preview. Use include (e.g. 'user,case_status,case_priority,team') to expand references and fields='+tags' for tags. Kayako: GET /api/v1/cases/{id}.json. |
kayako_list_case_posts | read | List a case's posts Read a case's timeline: customer messages, agent replies and internal notes (newest first). By default activities are excluded; filters='NOTES' for internal notes only, 'MESSAGES' for messages, 'ALL' to include activities. Paginate with before_id / after_id (one at a time). Kayako: GET /api/v1/cases/{id}/posts.json. |
kayako_list_channels | read | List reply channels List the channels (MAIL mailbox, TWITTER, FACEBOOK, NOTE) usable for a reply on an existing case (pass case_id) or for a new case (omit case_id; optionally pass the requester's user_id). A channel's account.id is the channel_id to pass to kayako_reply_to_case / kayako_create_case. Kayako: GET /api/v1/cases/{id}/reply/channels.json or GET /api/v1/cases/channels.json. |
kayako_list_case_options | read | List case statuses, priorities or types List the instance's case statuses (id, label, type), priorities (id, label, level) or types (id, label, type) — the ids needed for status_id / priority_id / type_id when creating, updating or replying to a case. Kayako: GET /api/v1/cases/{statuses|priorities|types}.json. |
kayako_search | read | Search cases, users and organizations Unified search across conversations (cases), users and organizations. Returns id, title, snippet, relevance and resource type; pass fields='*' to get each full resource inline. Max 30 results. Kayako: GET /api/v1/search.json. |
kayako_list_users | read | List users List users (customers, collaborators, agents, admins), newest first, optionally by role type or specific ids. To find a user by email or name use kayako_search. Kayako: GET /api/v1/users.json. |
kayako_get_user | read | Get a user Fetch one user by id: name, role, organization, teams, identities (emails, phones, social), custom fields. include='identity_email,organization' expands references. Kayako: GET /api/v1/users/{id}.json. |
kayako_list_organizations | read | List organizations List customer organizations (name, domains, phone, custom fields), oldest first. To find one by name use kayako_search with resources=['ORGANIZATIONS']. Kayako: GET /api/v1/organizations.json. |
kayako_list_organization_cases | read | List an organization's cases List the cases (conversations) raised by members of one organization, newest-updated first. Kayako: GET /api/v1/organizations/{id}/cases.json. |
kayako_list_teams | read | List teams List agent teams (id, title, member count) — the ids for assigned_team_id. Kayako: GET /api/v1/teams.json. |
kayako_list_roles | read | List roles List user roles (id, title, type OWNER/ADMIN/AGENT/COLLABORATOR/CUSTOMER) — the role_id needed by kayako_create_user. Kayako: GET /api/v1/roles.json. |
kayako_list_articles | read | List help-center articles List knowledge-base articles, optionally by section, tags, or PUBLISHED / PINNED. Titles and contents are locale references unless include='locale_field'. Kayako: GET /api/v1/articles.json. |
kayako_get_article | read | Get a help-center article Fetch one knowledge-base article with its localized titles and contents expanded (include defaults to 'locale_field'), status, section, tags, votes and help-center URL. Kayako: GET /api/v1/articles/{id}.json. |
kayako_search_help_center | read | Search the help center Search the help center's articles and/or public conversations. Returns references (e.g. {id, resource_type: 'article'}); read an article with kayako_get_article. Kayako: GET /api/v1/helpcenter/search.json. |
kayako_create_case | write | Create a case WRITE: open a new case (conversation) for a requester. channel MAIL sends the first message to the customer by email from the mailbox given as channel_id; channel NOTE creates it with an internal note and emails nobody. Get channel ids from kayako_list_channels and status/priority/type ids from kayako_list_case_options. Kayako: POST /api/v1/cases.json. |
kayako_update_case | write | Update a case WRITE: change a case's subject, requester, assignee (team/agent), status, priority, type, brand, form, tags or custom fields. Sends nothing to the customer. `tags` sets the case's tag list (use kayako_add_case_tags to append). Trashing is deliberately not exposed. Kayako: PUT /api/v1/cases/{id}.json. |
kayako_reply_to_case | write | Reply to a case or add an internal note WRITE: add a post to a case. channel NOTE adds an INTERNAL note visible only to agents (no channel_id needed). channel MAIL/TWITTER/FACEBOOK sends a PUBLIC reply to the customer — get channel_id from kayako_list_channels with case_id. Can also set status/priority/assignee in the same call. Kayako: POST /api/v1/cases/{id}/reply.json. |
kayako_add_case_tags | write | Add tags to a case WRITE: add tags to a case, keeping its existing tags. Kayako: POST /api/v1/cases/{id}/tags.json. |
kayako_create_user | write | Create a user WRITE: create a user — typically a CUSTOMER to use as requester_id on a new case. role_id comes from kayako_list_roles. Collaborator/agent/admin roles also require email and team_ids. No password is set by this tool. Kayako: POST /api/v1/users.json. |
kayako_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
kayako_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Kayako tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.