Chatra MCP by usefulapi
REMOTE · CHATRA.USEFULAPI.IO
Read and update Chatra visitors; send, edit and delete chat and pushed messages.
Available components
Last scanned (4 hours ago)
Scores higher than 47% of remote servers
Reachable. Last reached 25 Oct 2026.
Category Communication
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 Security78
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1589 tokens (~158/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
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.
- 25 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 24 Oct 26 62
First indexed and scored.
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 25 Oct 2026 · Probed https://chatra.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 chatra.usefulapi.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 38690, 57355 | 8, 8 | Verified |
| usefulapi.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 302 |
WWW-Authenticate challenge Bearer realm="OAuth", resource_metadata="https://chatra.usefulapi.io/.well-known/oauth-protected-resource/mcp"
Bearer realm="OAuth", resource_metadata="https://chatra.usefulapi.io/.well-known/oauth-protected-resource/mcp" Protected resource metadata
| Document | https://chatra.usefulapi.io/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://chatra.usefulapi.io/mcp |
| Authorisation server | https://chatra.usefulapi.io |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://chatra.usefulapi.io/mcp | Redirected | 302 | https://usefulapi.io/chatra/ |
| http (plaintext) | http://chatra.usefulapi.io/mcp | Inconclusive | 302 | http://chatra.usefulapi.io/mcp |
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 →
chatra_delete_message Delete agent message ~71
WRITE, IRREVERSIBLE: delete an agent message from the conversation. Only agents' messages can be deleted, not visitors'. Returns the deleted message. DELETE /messages/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| message_id | string | yes | Chatra message id (from the reply of a send call or from a webhook). |
No output schema declared.
No examples provided.
chatra_delete_pushed_message Delete pushed message ~63
WRITE, IRREVERSIBLE: delete a pushed message sent earlier. Returns the deleted message. DELETE /pushedMessages/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| message_id | string | yes | Chatra message id (from the reply of a send call or from a webhook). |
No output schema declared.
No examples provided.
chatra_edit_message Edit agent message ~96
WRITE: replace the text of an agent message that was sent earlier. Only agents' messages can be edited, not visitors'. The visitor sees the edited text. Returns the updated message. PUT /messages/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| message_id | string | yes | Chatra message id (from the reply of a send call or from a webhook). |
| text | string | yes | Message text (plain text, 1-5000 characters). |
No output schema declared.
No examples provided.
chatra_edit_pushed_message Edit pushed message ~87
WRITE: replace the text of a pushed message sent earlier; the visitor sees the edited text. Returns the updated message. PUT /pushedMessages/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| message_id | string | yes | Chatra message id (from the reply of a send call or from a webhook). |
| text | string | yes | Message text (plain text, 1-5000 characters). |
No output schema declared.
No examples provided.
chatra_get_message Get message ~99
One chat message by id (a visitor's or an agent's): type (agent or client), text, visitor id, agent id, timestamp (ms) and receivedFrom. Chatra has no endpoint to list a conversation, so the id must come from a send call or a webhook. GET /messages/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| message_id | string | yes | Chatra message id (from the reply of a send call or from a webhook). |
No output schema declared.
No examples provided.
chatra_get_pushed_message Get pushed message ~72
One pushed (automated) message sent earlier by id: text, visitor id, agent id, timestamp (ms), isPushed. GET /pushedMessages/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| message_id | string | yes | Chatra message id (from the reply of a send call or from a webhook). |
No output schema declared.
No examples provided.
chatra_get_visitor Get visitor ~151
A chat visitor by id: name and contact details (basicInfo, integrationData and the merged `info`), custom form answers, location, browser, the link to the chat in the Chatra dashboard, the agent group, and the pages viewed in the latest visit. The id is the `clientId` your website passed to the widget or the visitor id from a Chatra webhook; Chatra has no endpoint to list or search visitors. GET /clients/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| client_id | string | yes | Chatra visitor id: the `clientId` your website passed to the chat widget (ChatraSetup.clientId) or the visitor id from a Chatra webhook (client.id). |
No output schema declared.
No examples provided.
chatra_push_message Push message to a visitor ~226
WRITE: send an automated message (order status, product update, announcement) to a visitor whose account is bound to Chatra through a clientId. It is delivered into the visitor's chat on behalf of a random agent, a given agent (agent_id) or a random agent of a group (group_id). It reaches a real customer and cannot be unsent except by deleting it, so only call it with text the user asked you to send. Returns the new message with its id. POST /pushedMessages/.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | – | Chatra agent id (shown on the agent's page in Chatra). |
| client_id | string | yes | Chatra visitor id: the `clientId` your website passed to the chat widget (ChatraSetup.clientId) or the visitor id from a Chatra webhook (client.id). |
| group_id | string | – | Chatra agent group id (on the group's page); a random agent of the group writes. |
| text | string | yes | Message text (plain text, 1-5000 characters). |
No output schema declared.
No examples provided.
chatra_send_message Send message as an agent ~277
WRITE: send a chat message to a visitor as a Chatra agent. The visitor sees it immediately in their chat window as if the agent typed it, so only call it with text the user asked you to send. It cannot be unsent except by deleting it. Say which agent writes: agent_id, or agent_email + agent_name + received_from (a dummy agent is created in Chatra when the email is unknown). For automated notices (order status, announcements) use chatra_push_message instead. Returns the new message with its id. POST /messages/.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_email | string | – | Agent email (instead of agent_id; needs agent_name and received_from). |
| agent_id | string | – | Chatra agent id (shown on the agent's page in Chatra). |
| agent_name | string | – | Agent display name (with agent_email). |
| client_id | string | yes | Chatra visitor id: the `clientId` your website passed to the chat widget (ChatraSetup.clientId) or the visitor id from a Chatra webhook (client.id). |
| received_from | string | – | Short name of the sending system, e.g. 'usefulapi-mcp'; marks the message in webhooks. |
| text | string | yes | Message text (plain text, 1-5000 characters). |
No output schema declared.
No examples provided.
chatra_update_visitor Update visitor ~158
WRITE: edit a visitor's basic info (name, email, phone, notes) exactly as if an agent edited it in the Chatra dashboard. Only the fields you pass change; `null` removes a value. Returns the updated visitor. PUT /clients/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| client_id | string | yes | Chatra visitor id: the `clientId` your website passed to the chat widget (ChatraSetup.clientId) or the visitor id from a Chatra webhook (client.id). |
| – | – | Visitor email; null removes it. | |
| name | – | – | Visitor name; null removes it. |
| notes | – | – | Agent notes about the visitor; null removes them. |
| phone | – | – | Visitor phone number; null removes it. |
No output schema declared.
No examples provided.
How do I install the Chatra MCP by usefulapi server?
Chatra MCP by usefulapi is a hosted endpoint at https://chatra.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 · chatra.usefulapi.io
claude mcp add --transport http io-usefulapi-chatra 'https://chatra.usefulapi.io/mcp'
What is the Chatra MCP by usefulapi server?
Chatra MCP by usefulapi is listed in the public MCP registry as io.usefulapi/chatra. Read and update Chatra visitors; send, edit and delete chat and pushed messages. This page covers its hosted endpoint (https://chatra.usefulapi.io/mcp).
Is the Chatra MCP by usefulapi server safe to use?
Chatra MCP by usefulapi scores 63 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 Chatra MCP by usefulapi server expose?
Chatra MCP by usefulapi exposes 10 tools: chatra_get_visitor, chatra_update_visitor, chatra_get_message, chatra_send_message, chatra_edit_message, and 5 more. Their descriptions and schemas cost roughly 1,300 tokens of context every time the server is loaded.
Does the Chatra MCP by usefulapi server require authentication?
Yes. Chatra MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Chatra MCP by usefulapi server still maintained?
Chatra MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 25 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.