Asyntai
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Run your website's AI support agent: knowledge, conversations, leads and live replies.
| Author | com.asyntai |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 1918 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Asyntai": {
"url": "https://asyntai.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (55)
list_websitesread-onlyList the websites (AI agents) on this Asyntai account, with the id every other tool takes. Start here when the account may have more than one.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_accountread-onlyGet the signed-in account's email, plan, and how many chat messages it has used against its monthly allowance.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_plansread-onlyList every Asyntai plan with its price, monthly message allowance and the features it includes, alongside the plan this account is on. Use it to explain which plan includes a feature the account asks about.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_asyntai_docsread-onlySearch 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.
Parameters:
query(required) — string — What to look for.limit— integer — How many pages to return, 1 to 20. Default 8.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_asyntai_docread-onlyRead one page of Asyntai's documentation in full, given the url or slug from search_asyntai_docs, for example /documentation/mcp/ or just mcp.
Parameters:
page(required) — string — The url or slug of the page to read.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_websiteread-onlyGet the full record for one website: its name, domain, platform, widget id and the embed code to paste into the site.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_websiteAdd a new website (a new AI agent) to the account and return its embed code. Each plan allows a limited number of websites, and this refuses once that limit is reached. By default it also starts a crawl of the site to build the knowledge base.
Parameters:
domain(required) — string — The website address, for example shop.example.com.name— string — Display name for this agent. Optional.crawl— boolean — Crawl the site after adding it. True by default.
Hints: read-only no · destructive no · idempotent no · open-world yes
get_widget_settingsread-onlyRead all appearance and behaviour settings for one website's chat widget: colours, greeting, position, auto-trigger, data collection, bookings and the rest. Also returns which settings this account's plan cannot change, and the plan each of those needs.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
update_widget_settingsdestructiveChange 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.
Parameters:
settings(required) — object — 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.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
set_data_feeddestructivePoint 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.
Parameters:
url(required) — string — Address of the product feed. Empty removes it.enabled— boolean — Whether the chatbot may use the feed.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
set_data_feed_maxdestructiveSame 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.
Parameters:
url(required) — string — Address of the product feed. Empty removes it.enabled— boolean — Whether the chatbot may use the feed.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
set_access_tagsdestructiveSwitch 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.
Parameters:
enabled(required) — boolean — True to switch it on.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
set_widget_pinningdestructiveFreeze 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.
Parameters:
enabled(required) — boolean — True to pin the widget.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
get_website_featuresread-onlyRead the plan-gated features for one website: Real-Time Data Feed and its Max tier, Product Cards, Dynamic Images, User Context, Link Parameters, Chat Retention, Chat Categories, Access Tags, Widget Pinning, Zero Retention, PII Redaction and the Output Classifier. Shows current values, which features the plan allows, and the plan each locked feature needs.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
update_website_featuresdestructiveTurn 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.
Parameters:
fields(required) — object — 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.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
search_knowledge_baseread-onlySearch 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.
Parameters:
query(required) — string — What to look for, in plain language.limit— integer — How many passages to return (1-20, default 5).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_knowledgeread-onlyList the sources in one website's knowledge base: uploaded text, documents, added pages and crawls.
Parameters:
limit— integer — How many entries to return (1-100, default 50).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_knowledge_textAdd a titled block of text to one website's knowledge base. The chatbot can use it in answers as soon as this returns. Adds a new entry; it never replaces an existing one.
Parameters:
title(required) — string — Short name for this entry, shown in the dashboard.content(required) — string — The text itself. At least 10 characters.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive no · idempotent no · open-world yes
delete_knowledge_entrydestructivePermanently delete one knowledge base entry and every passage built from it. The chatbot stops using that content immediately. This cannot be undone.
Parameters:
entry_id(required) — string — The entry id from list_knowledge.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
get_ai_instructionsread-onlyGet the instructions that shape how one website's chatbot answers: its role, tone and rules.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
update_ai_instructionsdestructiveReplace 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.
Parameters:
instructions(required) — string — The full new instructions text.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
get_knowledge_entryread-onlyRead the stored text of one knowledge base entry. Works for the content you supplied: text, documents, spreadsheets, single pages and videos. A website crawl is listed but not exported, because the source is your own public site.
Parameters:
entry_id(required) — string — The entry id from list_knowledge.
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_knowledge_urlFetch one web page and add its text to the knowledge base. Use this for a single page. To take in a whole site, use start_crawl instead.
Parameters:
url(required) — string — Full address of the page, including https://.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive no · idempotent no · open-world yes
set_knowledge_tagsdestructiveRestrict 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.
Parameters:
entry_id(required) — string — The entry id from list_knowledge.access_tags(required) — array — Tag names. An empty list makes the entry public.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
start_crawlCrawl 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.
Parameters:
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.
Hints: read-only no · destructive no · idempotent no · open-world yes
list_crawlsread-onlyList recent crawl jobs for one website with their status, how many pages they took, and why each one stopped.
Parameters:
limit— integer — How many jobs to return (1-50, default 10).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_conversationsread-onlyList recent visitor conversations for one website, newest first, with the session id, message count and any email or phone the visitor gave.
Parameters:
days— integer — How many days back to look (1-90, default 7).limit— integer — How many conversations to return (1-100, default 20).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.with_leads_only— boolean — Only return conversations where the visitor left an email or phone.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_conversationread-onlyRead the full message history of one conversation, in order, from its session id.
Parameters:
session_id(required) — string — Session id from list_conversations.limit— integer — How many messages to return (1-200, default 100).
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_leadsread-onlyList the email addresses and phone numbers visitors left in chat, newest first, with the page they were on.
Parameters:
limit— integer — How many leads to return (1-100, default 50).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_analyticsread-onlySummarise one website's chat activity over a period: conversations, messages, leads captured, escalations, and the countries visitors came from.
Parameters:
days— integer — How many days back to measure (1-90, default 30).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_visitor_questionsread-onlyList what visitors asked the chatbot in a period: the first questions of each conversation, without the chatbot's answers. Use this to find what customers ask about most: group the questions by meaning and give examples. Counts you make by grouping are estimates; say so. When Chat Categories is on, the result also carries exact chat counts per category. To read one conversation in full, use get_conversation.
Parameters:
days— integer — How many days back to look (1-90, default 30).limit— integer — Most questions to return (1-500, default 300).per_chat— integer — Questions taken from each conversation (1-5, default 2).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_knowledge_gapsread-onlyList the Knowledge Gaps Asyntai recorded: real visitor questions the chatbot could not answer. Use this to find what to fill in with add_knowledge_text. Needs the Standard plan or higher.
Parameters:
days— integer — How many days back to look (1-90, default 30).limit— integer — How many gaps to return (1-100, default 25).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.include_resolved— boolean — Include gaps already marked as resolved. Off by default.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_imagesread-onlyList the images the chatbot may show a visitor, with the description that tells it when each one is relevant.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_imageAdd an image the chatbot may show. The description is what the AI reads to decide when the image answers the question, so describe what it shows and when it helps.
Parameters:
image_url(required) — string — Address of the image.description(required) — string — What the image shows and when the chatbot should send it.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive no · idempotent no · open-world yes
delete_imagedestructiveRemove one image so the chatbot stops showing it.
Parameters:
image_id(required) — integer — Image id from list_images.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
list_productsread-onlyList the products the chatbot can show as cards, with price and links. Product Cards needs the Standard plan or higher.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_productAdd a product the chatbot can show as a card. Needs the Standard plan or higher.
Parameters:
name(required) — string — Product name.price— string — Price as text, for example 29 EUR.image_url— string — Address of the product image.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.description— string — Short description shown on the card.product_link— string — Address of the product page.
Hints: read-only no · destructive no · idempotent no · open-world yes
delete_productdestructiveRemove one product so the chatbot stops offering it.
Parameters:
product_id(required) — integer — Product id from list_products.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
list_booking_typesread-onlyList the appointment types visitors can book, with length, price and how many spots each has. Bookings needs the Standard plan or higher.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_embedsread-onlyList the third-party tools embedded in the chat, such as a booking calendar or a form. Embeds needs the Standard plan or higher.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_ticketsread-onlyList support tickets raised from chat, with status, priority and the visitor's details. Needs the Standard plan or higher.
Parameters:
limit— integer — How many tickets to return (1-100, default 25).status— string — Only tickets with this status, for example open or resolved.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_webhooksread-onlyList the webhooks registered on this account. The signing secret is never returned; it is shown once, when the webhook is created.
Hints: read-only yes · destructive no · idempotent yes · open-world no
add_webhookRegister a URL to receive events, for example every new message. Returns a signing secret once; store it, because it is never shown again. Needs a paid plan.
Parameters:
url(required) — string — HTTPS address that will receive the events.events(required) — array — Event names to subscribe to.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive no · idempotent no · open-world yes
delete_webhookdestructiveDelete one webhook. Events stop reaching that address at once.
Parameters:
webhook_id(required) — string — The webhook id from list_webhooks.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
list_active_sessionsread-onlyList the visitors currently in a chat: which page they are on, their country, how long they have been there, and whether a human has taken the conversation over. Needs the Standard plan or higher.
Parameters:
limit— integer — How many sessions to return (1-100, default 25).website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
take_over_conversationdestructiveStop 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.
Parameters:
session_id(required) — string — Session id from list_active_sessions.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
release_conversationdestructiveHand a taken-over conversation back to the AI, which answers the visitor again from the next message.
Parameters:
session_id(required) — string — Session id of the conversation.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
send_agent_replySend 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.
Parameters:
session_id(required) — string — Session id of the conversation.message(required) — string — The text to send to the visitor.agent_name— string — Name shown to the visitor. Defaults to the account's agent name.
Hints: read-only no · destructive no · idempotent no · open-world yes
get_daily_reportread-onlySay whether the daily email summary is on for one website, and when the last one went out.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
set_daily_reportdestructiveTurn the daily email summary of chats on or off for one website. Needs the Standard plan or higher.
Parameters:
enabled(required) — boolean — True to switch it on.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
list_audit_logread-onlyRead the record of what changed on this account: who did it, when, and from where. Recorded on the Enterprise plan only.
Parameters:
days— integer — How many days back to read (1-90, default 30).limit— integer — How many entries to return (1-100, default 50).category— string — Only entries in this category. Optional.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_team_membersread-onlyList the people who share this account, what each may reach, and how many seats the plan allows.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_widget_translationsread-onlyList the languages the chat widget has its own wording for, with the greeting and agent name used in each.
Parameters:
website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only yes · destructive no · idempotent yes · open-world no
set_widget_translationdestructiveSet 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.
Parameters:
language_code(required) — string — Language code, for example de or fr.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.ai_support_name— string — Agent name shown in the header.initial_message— string — The greeting the visitor sees first.notification_bubble_text— string — Text of the notification bubble.
Hints: read-only no · destructive yes · idempotent yes · open-world yes
ask_aiAsk one website's chatbot a question and get the answer a real visitor would receive. Use this to test the bot. It spends one message from the account's monthly allowance, and it calls an external model provider.
Parameters:
message(required) — string — The question to ask, as a visitor would type it.session_id— string — Reuse the same value across calls to continue one test conversation. Omit to start a fresh one.website_id— integer — Numeric id of the website, from list_websites. Omit to use the account's primary website.
Hints: read-only no · destructive no · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.