Asyntai
REMOTE · ASYNTAI.COM · 2 COMPONENTS
Run your website's AI support agent: knowledge, conversations, leads and live replies.
Available components
Last scanned (20 hours ago)
Scores higher than 98% of remote servers
Reachable. Last reached 5 Nov 2026.
Category CRM and Sales
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 Security89
- 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 is enforced; there's no plaintext access path. View diagnostics → Pass
- 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 & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability83
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7223 tokens (~103/item across 70 items; 70 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 Management100
- No destabilizing schema changes in the last 30 days.Pass
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 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 71 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
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
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.
- 30 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- New tool “update_email_settings”, which the server declares destructive security
- New tool “update_ticket”, which the server declares destructive security
- Schema quality: pass → fail ▼ functional
- New tool “draft_email_reply” functional
- New tool “draft_ticket_reply” functional
- New tool “get_email_settings” functional
- New tool “get_email_thread” functional
- New tool “get_ticket” functional
- New tool “list_emails” functional
- New tool “mark_email_answered” functional
- New tool “reply_to_email” functional
- New tool “reply_to_ticket” functional
- 26 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- New tool “delete_proactive_message”, which the server declares destructive security
- New tool “save_proactive_message”, which the server declares destructive security
- Tool “get_widget_settings” rewrote its description, which is the text the model reads security
- Tool “update_widget_settings” rewrote its description, which is the text the model reads security
- Schema quality: 87 → 100 ▼ functional
- New tool “list_proactive_message_log” functional
- New tool “list_proactive_messages” functional
- 10 Oct 26 0
- Stability: 0.97 → pass security
- New tool “list_visitor_questions” functional
- 7 Oct 26 +2
No change was recorded against any check on this day. Stability & Change Management went from 87 to 97. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Oct 26 0
- Tool “list_plans” rewrote its description, which is the text the model reads security
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 9 Sept 26 0
- Stability: unverified → 0.03 ▲ functional
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 5 Nov 2026 · Probed https://asyntai.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=asyntai.com | CN=WE1,O=Google Trust Services,C=US | 21 Oct 2026 | 19 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | a8c7d9addb4a586c0e944fac7af17866 |
| SANs: asyntai.com, *.asyntai.com | ||||||
| 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 asyntai.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| com. | DS published | 19718 | 13 | Verified |
| asyntai.com. | No DS | 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 | 200 |
WWW-Authenticate challenge Bearer realm="asyntai", error="invalid_token", error_description="Missing bearer token", resource_metadata="https://asyntai.com/.well-known/oauth-protected-resource"
Bearer realm="asyntai", error="invalid_token", error_description="Missing bearer token", resource_metadata="https://asyntai.com/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| x-content-type-options | nosniff |
| referrer-policy | same-origin |
Protected resource metadata
| Document | https://asyntai.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://asyntai.com/mcp |
| Authorisation server | https://asyntai.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://asyntai.com/mcp | Verified | 200 | |
| http (plaintext) | http://asyntai.com/mcp | HTTPS enforced | 301 | https://asyntai.com/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 →
reply_to_email Reply to a support email ~98
Send an email reply to the customer of one email conversation, in the same email thread and from the website's support address. The customer receives it at once, so show the user the exact wording and get their agreement before calling this. Needs the Pro plan or higher.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | The full reply, as the customer will read it. |
| thread_id | string | yes | thread_id of the conversation, from list_emails. |
No output schema declared.
No examples provided.
reply_to_ticket Reply to a support ticket ~152
Answer a ticket's customer. channel email (Pro or higher) sends an email, and the customer's answer comes back into the ticket. channel chat shows the message in the website chat, only for tickets from the widget. The customer gets it, so get the user's agreement first.
| Name | Type | Req | Description |
|---|---|---|---|
| also_chat | boolean | – | email channel: also show the reply in the website chat (default true). |
| channel | string | – | email (default) or chat. |
| message | string | yes | The full reply, as the customer will read it. |
| resolve | boolean | – | Mark the ticket resolved after sending (default false). |
| ticket_number | string | yes | The ticket number, for example TKT-00042. |
No output schema declared.
No examples provided.
save_proactive_message Add or change a Proactive Messages rule ~528
Add a Proactive Messages rule, or change one (pass rule_id from list_proactive_messages; fields you leave out keep their value). The chatbot then writes first, live for every visitor at once, when the trigger happens. For a general greeting bubble shown to everyone, use update_widget_settings instead. Pro and Enterprise only. A fixed text shows at once and costs nothing; an AI rule spends one AI reply each time it shows. On phones the message always shows in a bubble. For trigger_type event, the website must send the event in its code: window.Asyntai = window.Asyntai || {}; (window.Asyntai.events = window.Asyntai.events || []).push({ name: 'added_to_cart', data: { product: 'Running shoes' } });
| Name | Type | Req | Description |
|---|---|---|---|
| display | string | – | bubble: a bubble above the chat button. open: the chat opens with the message (on phones it is always a bubble). |
| enabled | boolean | – | Whether the rule is on. New rules are on. |
| frequency | string | – | session: once per visit. visitor: once per visitor. always: every time (never twice within 30 seconds). |
| message_mode | string | – | fixed: the visitor sees message_text exactly. ai: message_text is an instruction and the AI writes the message in the visitor's language. |
| message_text | string | – | The fixed text, or the instruction for the AI. |
| name | string | – | Name only the owner sees, to find the rule in the list. |
| rule_id | integer | – | Id of the rule to change, from list_proactive_messages. Omit to add a new rule. |
| translations | object | – | Fixed text only: language code to translated text, for example {"de": "...", "cs": "..."}. Each visitor sees the text of their browser language, and the main text when there is none. Replaces the who… |
| trigger_type | string | – | When the chatbot writes: event (the website code sends an event name), click (a click on a CSS selector), url (the page address contains a text) or time (seconds on the page). |
| trigger_value | string | – | The event name (for example added_to_cart), the CSS selector (for example #copy-code), the text in the page address (for example /pricing) or the number of seconds (for example 30). |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
search_asyntai_docs Search the Asyntai documentation ~146
Search Asyntai's own product documentation and get back the pages that match, with a short excerpt from each. Use this to find out how a feature works before changing anything, rather than guessing. This searches Asyntai's documentation, NOT the customer's own content: for that, use search_knowledge_base. Matching is by keyword, so if the results look wrong, search again using Asyntai's own feature names, for example data feed, widget pinning, access tags, AI instructions.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many pages to return, 1 to 20. Default 8. |
| query | string | yes | What to look for. |
No output schema declared.
No examples provided.
search_knowledge_base Search the knowledge base ~122
Search one website's knowledge base and return the passages the chatbot would retrieve for this question, with a relevance score. Use this to check what the chatbot knows about a topic. It does not generate an answer and does not use the message allowance.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many passages to return (1-20, default 5). |
| query | string | yes | What to look for, in plain language. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
send_agent_reply Send a message to a visitor ~103
Send a message, as a human agent, to a real visitor who is chatting right now. Take the conversation over first. The visitor sees this immediately, so show the user the exact wording and get their agreement before calling this.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_name | string | – | Name shown to the visitor. Defaults to the account's agent name. |
| message | string | yes | The text to send to the visitor. |
| session_id | string | yes | Session id of the conversation. |
No output schema declared.
No examples provided.
set_access_tags Turn Access Tags on or off ~80
Switch Access Tags on or off for one website. Turning it on creates the signing secret your server needs to sign visitor entitlements. Needs the Enterprise plan.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | True to switch it on. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
set_daily_report Turn the daily report on or off ~70
Turn the daily email summary of chats on or off for one website. Needs the Standard plan or higher.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | True to switch it on. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
set_data_feed Set the Real-Time Data Feed ~122
Point the chatbot at a product feed and index it. This fetches the feed, checks it really is a feed, clears whatever was indexed before, and rebuilds the index in the background. Send an empty url to remove the feed. Needs the Standard plan or higher.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | Whether the chatbot may use the feed. |
| url | string | yes | Address of the product feed. Empty removes it. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
set_data_feed_max Set the Real-Time Data Feed Max ~109
Same as set_data_feed, for the Max tier, which indexes a larger catalogue. Fetches, validates, clears the old index and rebuilds it in the background. Needs the Pro plan or higher.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | Whether the chatbot may use the feed. |
| url | string | yes | Address of the product feed. Empty removes it. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
set_knowledge_tags Set Access Tags on an entry ~92
Restrict who can retrieve one knowledge base entry. A visitor must present a matching tag, signed by your own server, before the chatbot will use the entry. Send an empty list to make it public again. Access Tags needs the Enterprise plan.
| Name | Type | Req | Description |
|---|---|---|---|
| access_tags | array | yes | Tag names. An empty list makes the entry public. |
| entry_id | string | yes | The entry id from list_knowledge. |
No output schema declared.
No examples provided.
set_widget_pinning Turn Widget Pinning on or off ~89
Freeze the chat widget at its current version, so the site always serves the same copy with an integrity hash. Turning it on builds that snapshot and changes the embed code. Needs the Enterprise plan.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | True to pin the widget. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
set_widget_translation Set the widget wording for one language ~126
Set the chat widget's greeting, agent name and bubble text for one language. A visitor in that language sees this wording instead of the default.
| Name | Type | Req | Description |
|---|---|---|---|
| ai_support_name | string | – | Agent name shown in the header. |
| initial_message | string | – | The greeting the visitor sees first. |
| language_code | string | yes | Language code, for example de or fr. |
| notification_bubble_text | string | – | Text of the notification bubble. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
start_crawl Crawl a website into the knowledge base ~121
Crawl a website and add its pages to the knowledge base. Runs in the background; check on it with list_crawls. Each plan caps the pages per crawl, and asking for more than the cap is refused.
| Name | Type | Req | Description |
|---|---|---|---|
| max_pages | integer | – | How many pages to take at most. Capped by the plan. |
| start_url | string | – | Where to start. Defaults to the website's own domain. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
take_over_conversation Take a conversation over from the AI ~66
Stop the AI answering one conversation so a human can reply instead. The visitor is told a person has joined. Use send_agent_reply afterwards, and release_conversation when done. Needs the Standard plan or higher.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Session id from list_active_sessions. |
No output schema declared.
No examples provided.
update_ai_instructions Replace the AI instructions ~96
Replace one website's AI instructions with new text. This overwrites the current instructions and changes how the live chatbot answers every visitor. Read them with get_ai_instructions first, and show the user what will change before calling this.
| Name | Type | Req | Description |
|---|---|---|---|
| instructions | string | yes | The full new instructions text. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
update_email_settings Change the AI email reply settings ~267
Change one website's AI email reply settings. Pass only the fields to change. Switching replies on needs reply_mode. With auto, the AI emails real customers by itself, so confirm with the user first. Needs the Pro plan or higher.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_email | string | – | Where those alerts go. Empty: the account email. |
| email_alerts_enabled | boolean | – | Email the team when an email needs a person. |
| enabled | boolean | – | Switch AI email replies on or off. |
| reply_delay_minutes | integer | – | auto mode: minutes the AI waits before it sends (0 = at once). |
| reply_mode | string | – | auto: the AI sends its replies. draft: it writes drafts for a person to send. |
| sender_name | string | – | Name the customer sees as the sender. |
| support_email | string | – | The shop's own support address, for example support@yourshop.com. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
| when_not_to_reply | string | – | Kinds of emails the AI must leave for a person. |
| when_to_reply | string | – | Kinds of emails the AI should answer. Empty: all it can. |
No output schema declared.
No examples provided.
update_ticket Change a ticket status ~59
Set a ticket's status: open, in_progress, resolved or closed. Needs the Standard plan or higher.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | yes | The new status. |
| ticket_number | string | yes | The ticket number, for example TKT-00042. |
No output schema declared.
No examples provided.
update_website_features Change the website features ~131
Turn website features on or off and set their values, for example the Real-Time Data Feed URL or the PII Redaction rules. Pass an object of field name to value; read them with get_website_features first. A feature the plan does not include is refused with the plan it needs. These change how the live chatbot behaves for every visitor.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | object | yes | Field name to new value, for example real_time_products_enabled set to true. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
update_widget_settings Change the chat widget settings ~156
Change one or more chat widget settings. Pass an object of setting name to new value; read them with get_widget_settings first. Changes are live for every visitor at once. Settings the plan does not include are refused with the plan they need, and nothing is written unless every value is valid. For a message the chatbot sends by itself on a click, a page, after some seconds or on an event, use save_proactive_message, not the greeting or auto-trigger.
| Name | Type | Req | Description |
|---|---|---|---|
| settings | object | yes | Setting name to new value, for example widget_color set to #6366f1. |
| website_id | integer | – | Numeric id of the website, from list_websites. Omit to use the account's primary website. |
No output schema declared.
No examples provided.
How do I install the Asyntai MCP server?
Asyntai is a hosted endpoint at https://asyntai.com/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 · asyntai.com
claude mcp add --transport http com-asyntai-support-agent 'https://asyntai.com/mcp'
What is the Asyntai MCP server?
Asyntai is an MCP server listed in the public MCP registry as com.asyntai/support-agent. Run your website's AI support agent: knowledge, conversations, leads and live replies. This page covers its hosted endpoint (https://asyntai.com/mcp).
Is the Asyntai MCP server safe to use?
Asyntai scores 91 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 Asyntai MCP server expose?
Asyntai exposes 70 tools: list_websites, get_account, list_plans, search_asyntai_docs, get_asyntai_doc, and 65 more. Their descriptions and schemas cost roughly 6,935 tokens of context every time the server is loaded.
Does the Asyntai MCP server require authentication?
Yes. Asyntai 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 Asyntai MCP server still maintained?
Asyntai is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the Asyntai MCP server?
VerifyMCP ran 13 checks on Asyntai, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.