Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.usefulapi/kayako

REMOTE · KAYAKO.USEFULAPI.IO · SCANNED OCT 4

Search Kayako cases, replies, customers and help-center articles, and reply to or create cases.

33 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability0
  • Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
  • Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
  • Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified

Unverified: 5 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

Install

How do I install the io.usefulapi/kayako MCP server?

io.usefulapi/kayako is a hosted endpoint at https://kayako.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · kayako.usefulapi.io

# add to Claude Code
claude mcp add --transport http io-usefulapi-kayako 'https://kayako.usefulapi.io/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "io-usefulapi-kayako": {
      "url": "https://kayako.usefulapi.io/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "io-usefulapi-kayako": {
      "type": "http",
      "url": "https://kayako.usefulapi.io/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.io-usefulapi-kayako]
url = "https://kayako.usefulapi.io/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-kayako": {
      "type": "remote",
      "url": "https://kayako.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add io-usefulapi-kayako --url 'https://kayako.usefulapi.io/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  io-usefulapi-kayako:
    url: "https://kayako.usefulapi.io/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "io-usefulapi-kayako": {
      "Transport": "http",
      "Url": "https://kayako.usefulapi.io/mcp"
    }
  }
}
# add to Vellum
assistant mcp add io-usefulapi-kayako -t streamable-http -u 'https://kayako.usefulapi.io/mcp'
// mcp.json
{
  "mcpServers": {
    "io-usefulapi-kayako": {
      "type": "http",
      "url": "https://kayako.usefulapi.io/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Oct 26 −43
    • Endpoint reachability: reachable → not serving MCP ▼ security
    • Stability: 0.10 → unverified ▼ security
    • Authorization: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
  • 3 Oct 26 +43
    • Authorization: unverified → pass ▲ security
    • Injection markers: unverified → pass ▲ security
    • MCP protocol: unverified → fail ▼ functional
    • Endpoint reachability: not serving MCP → reachable ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • Stability: unverified → 0.10 ▲ functional
    • Server version: 1.3.0 → 1.5.1 functional
  • 2 Oct 26 −42
    • Endpoint reachability: reachable → not serving MCP ▼ security
    • Authorization: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.03 → unverified ▼ security
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
  • 1 Oct 26 +18
    • Authorization: unverified → pass ▲ security
    • HTTPS: unverified → pass ▲ security
    • First check of Authorization: partial security
    • Stability: unverified → 0.03 ▲ functional
    • Server version: 1.0.0 → 1.3.0 functional
  • 30 Sept 26 +39
    • Injection markers: unverified → pass ▲ security
    • Transport: fail → pass ▲ security
    • First check of Judged manipulation: pass security
    • Authorization: Authorisation not fully verified: this server exposes a tool marked destructive (kayako_create_case) and its handshake is open, but we could not confirm whether a tool call is gated, so we do not assert it is callable unauthenticated. security
    • MCP protocol: unverified → fail ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Destructive annotations: pass functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 80 functional
  • 29 Sept 26 18

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Oct 2026 · Probed https://kayako.usefulapi.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=usefulapi.io CN=WE1,O=Google Trust Services,C=US 13 Sept 2026 12 Dec 2026 ECDSA 256 ECDSA-SHA256 d9be3287b0fde9630e825ba1f79bff3f
SANs: usefulapi.io, *.usefulapi.io
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of kayako.usefulapi.io. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 57355 8 Verified
usefulapi.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://kayako.usefulapi.io/mcp Verified 200
http (plaintext) http://kayako.usefulapi.io/mcp HTTPS enforced 301 https://kayako.usefulapi.io/mcp
MCP tools · 21 exposed · ~3,332 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
kayako_add_case_tags ~66

WRITE: add tags to a case, keeping its existing tags. Kayako: POST /api/v1/cases/{id}/tags.json.

NameTypeReqDescription
case_idintegeryesThe case id (integer).
tagsstringyesComma-separated tags to add.

No output schema declared.

No examples provided.

kayako_create_case ~309

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.

NameTypeReqDescription
assigned_agent_idinteger––
assigned_team_idinteger––
ccarray–MAIL only: CC addresses.
channelstringyesMAIL, TWITTER, FACEBOOK or NOTE (internal, not sent).
channel_idinteger–Channel account id (e.g. the mailbox id). Required unless channel is NOTE.
contentsstringyesBody of the first post.
field_valuesobject–Custom field values keyed by field key, e.g. {"order_number": "1234"}. For multi-select fields pass CSV options — ALL options must be passed; omitted ones are removed.
form_idinteger––
htmlboolean–MAIL/NOTE: treat contents as HTML (sanitized by Kayako).
priority_idinteger––
requester_idintegeryesThe requester (customer user) id (integer).
status_idinteger––
subjectstringyesCase subject.
tagsstring–Comma-separated tags.
type_idinteger––

No output schema declared.

No examples provided.

kayako_create_user ~211

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.

NameTypeReqDescription
designationstring–Job title.
emailstring–Primary email. Required for collaborator/agent/admin roles.
field_valuesobject–Custom field values keyed by field key, e.g. {"order_number": "1234"}. For multi-select fields pass CSV options — ALL options must be passed; omitted ones are removed.
full_namestringyes–
organization_case_accessstring–CUSTOMER only: see only own cases (default) or the whole organization's.
role_idintegeryesThe role id (integer).
team_idsarray–Team ids (required for collaborator/agent/admin).
time_zonestring––

No output schema declared.

No examples provided.

kayako_get_article ~93

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.

NameTypeReqDescription
article_idintegeryesThe article id (integer).
includestring–Resource types to expand. Defaults to 'locale_field' so titles/contents are readable.

No output schema declared.

No examples provided.

kayako_get_case ~175

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.

NameTypeReqDescription
case_idintegeryesThe case id (integer).
fieldsstring–Partial-output field rules, e.g. '+tags' to add tags to a case, or 'subject,status' to return only those.
includestring–Comma-separated resource types to expand instead of returning {id, resource_type} references, e.g. 'user,case_status,case_priority,team', or '*' for all.

No output schema declared.

No examples provided.

kayako_get_me ~51

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

kayako_get_user ~115

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.

NameTypeReqDescription
includestring–Comma-separated resource types to expand instead of returning {id, resource_type} references, e.g. 'user,case_status,case_priority,team', or '*' for all.
user_idintegeryesThe user id (integer).

No output schema declared.

No examples provided.

kayako_list_articles ~173

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.

NameTypeReqDescription
filterstring–Only pinned or only published articles.
includestring–Comma-separated resource types to expand instead of returning {id, resource_type} references, e.g. 'user,case_status,case_priority,team', or '*' for all.
limitinteger–Items per page, 1-100. Kayako's default is 10.
offsetinteger–Offset into the collection (0-based). Default 0.
section_idinteger–Only articles in this section.
tagsstring–Comma-separated tags.

No output schema declared.

No examples provided.

kayako_list_case_options ~95

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.

NameTypeReqDescription
kindstringyesWhich list to return.

No output schema declared.

No examples provided.

kayako_list_case_posts ~216

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.

NameTypeReqDescription
after_idinteger–Cursor: return the page after this post id.
before_idinteger–Cursor: return the page before this post id.
case_idintegeryesThe case id (integer).
filtersstring–Which kinds of post to return.
includestring–Comma-separated resource types to expand instead of returning {id, resource_type} references, e.g. 'user,case_status,case_priority,team', or '*' for all.
limitinteger–Items per page, 1-100. Kayako's default is 10.

No output schema declared.

No examples provided.

kayako_list_cases ~307

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.

NameTypeReqDescription
fieldsstring–Partial-output field rules, e.g. '+tags' to add tags to a case, or 'subject,status' to return only those.
identity_typestring–Filter by the requester's identity type; requires identity_value.
identity_valuestring–Email, Facebook username, Twitter screen name or phone number, matching identity_type.
idsarray–Fetch these case ids instead of filtering.
includestring–Comma-separated resource types to expand instead of returning {id, resource_type} references, e.g. 'user,case_status,case_priority,team', or '*' for all.
limitinteger–Items per page, 1-100. Kayako's default is 10.
offsetinteger–Offset into the collection (0-based). Default 0.
priorityinteger–Include cases whose priority level is less than or equal to this level.
statusarray–Status types to include, e.g. ['OPEN','PENDING'].
tagsstring–Comma-separated tags to filter by.

No output schema declared.

No examples provided.

kayako_list_channels ~139

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.

NameTypeReqDescription
case_idinteger–Existing case to reply on.
user_idinteger–Requester of a NEW case (ignored with case_id).

No output schema declared.

No examples provided.

kayako_list_organization_cases ~144

List the cases (conversations) raised by members of one organization, newest-updated first. Kayako: GET /api/v1/organizations/{id}/cases.json.

NameTypeReqDescription
includestring–Comma-separated resource types to expand instead of returning {id, resource_type} references, e.g. 'user,case_status,case_priority,team', or '*' for all.
limitinteger–Items per page, 1-100. Kayako's default is 10.
offsetinteger–Offset into the collection (0-based). Default 0.
organization_idintegeryesThe organization id (integer).

No output schema declared.

No examples provided.

kayako_list_organizations ~140

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.

NameTypeReqDescription
includestring–Comma-separated resource types to expand instead of returning {id, resource_type} references, e.g. 'user,case_status,case_priority,team', or '*' for all.
limitinteger–Items per page, 1-100. Kayako's default is 10.
offsetinteger–Offset into the collection (0-based). Default 0.

No output schema declared.

No examples provided.

kayako_list_roles ~98

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.

NameTypeReqDescription
limitinteger–Items per page, 1-100. Kayako's default is 10.
offsetinteger–Offset into the collection (0-based). Default 0.

No output schema declared.

No examples provided.

kayako_list_teams ~83

List agent teams (id, title, member count) — the ids for assigned_team_id. Kayako: GET /api/v1/teams.json.

NameTypeReqDescription
limitinteger–Items per page, 1-100. Kayako's default is 10.
offsetinteger–Offset into the collection (0-based). Default 0.

No output schema declared.

No examples provided.

kayako_list_users ~164

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.

NameTypeReqDescription
idsarray–Fetch these user ids.
includestring–Comma-separated resource types to expand instead of returning {id, resource_type} references, e.g. 'user,case_status,case_priority,team', or '*' for all.
limitinteger–Items per page, 1-100. Kayako's default is 10.
offsetinteger–Offset into the collection (0-based). Default 0.
rolestring–Only users of this role type.

No output schema declared.

No examples provided.

kayako_reply_to_case ~249

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.

NameTypeReqDescription
assigned_agent_idinteger––
assigned_team_idinteger––
case_idintegeryesThe case id (integer).
ccarray–MAIL only: CC addresses.
channelstringyesNOTE for an internal note; MAIL/TWITTER/FACEBOOK for a public reply.
channel_idinteger–Channel account id. Required unless channel is NOTE.
contentsstringyesReply or note text.
htmlboolean–NOTE only: treat contents as HTML (sanitized by Kayako).
priority_idinteger––
status_idinteger–Also set the case status.
tagsstring–Comma-separated tags.
type_idinteger––

No output schema declared.

No examples provided.

kayako_search ~125

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.

NameTypeReqDescription
fieldsstring–Resource fields to return, e.g. '*' for full resources.
limitinteger–Max results, 1-30 (default 30).
querystringyesSearch text (Kayako Unified Search Language).
resourcesarray–Restrict to these resource kinds.

No output schema declared.

No examples provided.

kayako_search_help_center ~143

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.

NameTypeReqDescription
instring–What to search. Default ALL.
limitinteger–Items per page, 1-100. Kayako's default is 10.
localestring–Locale, e.g. en-us.
offsetinteger–Offset into the collection (0-based). Default 0.
querystringyesSearch text, at least 3 characters.

No output schema declared.

No examples provided.

kayako_update_case ~236

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.

NameTypeReqDescription
assigned_agent_idinteger––
assigned_team_idinteger––
brand_idinteger––
case_idintegeryesThe case id (integer).
field_valuesobject–Custom field values keyed by field key, e.g. {"order_number": "1234"}. For multi-select fields pass CSV options — ALL options must be passed; omitted ones are removed.
form_idinteger––
priority_idinteger––
requester_idinteger––
status_idinteger––
subjectstring––
tagsstring–Comma-separated tags (sets the list).
type_idinteger––

No output schema declared.

No examples provided.

Common questions

What is the io.usefulapi/kayako MCP server?

io.usefulapi/kayako is an MCP server listed in the public MCP registry as io.usefulapi/kayako. Search Kayako cases, replies, customers and help-center articles, and reply to or create cases. This page covers its hosted endpoint (https://kayako.usefulapi.io/mcp).

Is the io.usefulapi/kayako MCP server safe to use?

io.usefulapi/kayako scores 33 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.usefulapi/kayako MCP server expose?

io.usefulapi/kayako exposes 21 tools: kayako_get_me, kayako_list_cases, kayako_get_case, kayako_list_case_posts, kayako_list_channels, and 16 more. Their descriptions and schemas cost roughly 3,332 tokens of context every time the server is loaded.

Does the io.usefulapi/kayako MCP server require authentication?

No. We connected to io.usefulapi/kayako without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.usefulapi/kayako MCP server still maintained?

io.usefulapi/kayako is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.