Smartwebchat
Create and manage website chatbots for European SMBs: bots, chat, and captured leads.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"chatbots": {
"url": "https://smartwebchat.eu/api/mcp"
}
}
}Puntos de conexión remotos
https://smartwebchat.eu/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟢smartwebchat_service_info
Get factual information about the Smartwebchat service itself: what it does, plans and prices, the languages the WEBSITE is published in, where data is processed, and how to obtain an API key. Works without authentication — use it to answer questions about Smartwebchat before the user has an account.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢smartwebchat_list_chatbots
List the website chatbots in this account, with their IDs, names and the site each one runs on. Call this first — every other tool needs a botId from here.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡smartwebchat_create_chatbot(name, businessName, industry, description, websiteUrl, ...)
Create a new website chatbot for a business, including its greeting, personality and initial FAQ knowledge. Writes to the account: confirm the business details with the user before calling. Needs a key with full access; a read-only key gets 403 here.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Display name of the chatbot"
},
"businessName": {
"type": "string",
"description": "Name of the business the chatbot speaks for"
},
"industry": {
"type": "string",
"description": "Industry of the business, e.g. 'Arztpraxis', 'Restaurant', 'Handwerk'. Used verbatim in the chatbot's prompt, so keep the user's own wording and language."
},
"description": {
"type": "string",
"description": "What the business does — background knowledge for the chatbot"
},
"websiteUrl": {
"type": "string",
"description": "URL of the website the chatbot will run on"
},
"faqs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"question": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"question",
"answer"
],
"additionalProperties": false
},
"description": "Question and answer pairs the chatbot should know from the start"
},
"greeting": {
"type": "string",
"description": "First message the chatbot sends to a visitor"
},
"personality": {
"type": "string",
"enum": [
"freundlich",
"professionell",
"locker"
],
"description": "Tone of voice. The values are German and go to the API verbatim: 'freundlich' (friendly), 'professionell' (professional), 'locker' (casual)."
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$",
"maxLength": 128,
"description": "Optional. A unique string you choose for this one creation (1-128 characters: letters, digits, '_' or '-'). If the call is retried with the same key, the account returns the chatbot created the first time instead of creating a second one. Use a new key for each new chatbot."
}
},
"required": [
"name",
"businessName",
"industry"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡smartwebchat_chat(botId, message, sessionId)
Send a visitor message to a chatbot and get its reply, exactly as a website visitor would see it. Use this to test how the chatbot answers, or to check whether its knowledge base covers a topic. Records a conversation and uses the account's message quota, so it needs a key with full access; a read-only key gets 403 here.
Esquema de entrada
{
"type": "object",
"properties": {
"botId": {
"type": "string",
"description": "ID of the chatbot, taken from smartwebchat_list_chatbots"
},
"message": {
"type": "string",
"description": "The visitor message to send (max. 2000 characters)"
},
"sessionId": {
"type": "string",
"description": "Optional: pass the same session ID again to continue an existing conversation"
}
},
"required": [
"botId",
"message"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢smartwebchat_get_leads(botId)
Retrieve the leads a website chatbot captured from visitors — contact requests, appointment bookings and callback requests, with the visitor's message and contact details. Without botId, returns the leads of every chatbot in the account.
Esquema de entrada
{
"type": "object",
"properties": {
"botId": {
"type": "string",
"description": "Optional: only return leads of this chatbot. Omit for all chatbots in the account."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡smartwebchat_update_lead(botId, leadId, status)
Change the status of a captured lead, for example to mark it as contacted or closed. Writes to the account. Needs a key with full access; a read-only key gets 403 here.
Esquema de entrada
{
"type": "object",
"properties": {
"botId": {
"type": "string",
"description": "ID of the chatbot the lead belongs to"
},
"leadId": {
"type": "string",
"description": "ID of the lead"
},
"status": {
"type": "string",
"enum": [
"new",
"contacted",
"closed"
],
"description": "New status: 'new', 'contacted' or 'closed'"
}
},
"required": [
"botId",
"leadId",
"status"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢smartwebchat_diagnose(botId)
Find out why a website chatbot does not answer or does not show up: checks access, the monthly message limit, credit, the language-model provider, allowed and refused origins, knowledge sources and whether anyone has chatted on the website. Returns findings with a code, a severity and a remedy. Read-only. Check complete before trusting an empty error list.
Esquema de entrada
{
"type": "object",
"properties": {
"botId": {
"type": "string",
"description": "ID of the chatbot to diagnose (from smartwebchat_list_chatbots)"
}
},
"required": [
"botId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢smartwebchat_get_fit(market, locale, primary_need, website_platform, number_of_client_assistants, ...)
Assess whether Smartwebchat fits a described business: primary need, market, number of client assistants, white-label, omnichannel, calendar and language-model requirements. Returns good_fit, partial_fit, not_fit or needs_review with reasons, limitations, a recommended plan and relevant URLs. Works without authentication. This assessment is self-asserted by the vendor and can say no. It never fetches the described website.
Esquema de entrada
{
"type": "object",
"properties": {
"market": {
"type": "string",
"minLength": 2,
"maxLength": 64,
"description": "Country or market of the business, e.g. 'DE', 'de-AT', 'NL', 'US'. Free text; only the language part is matched against the published website languages."
},
"locale": {
"type": "string",
"maxLength": 35,
"pattern": "^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{1,8})*$",
"description": "Language tag for the returned URLs, e.g. 'en', 'fr-CA', 'it', 'pt-BR'. Any well-formed tag is accepted; languages without a published website fall back to 'de'. The language never changes the verdict."
},
"primary_need": {
"type": "string",
"enum": [
"website_assistant",
"customer_service",
"lead_generation",
"appointments",
"faq",
"multilingual",
"agency",
"white_label",
"full_omnichannel_helpdesk"
],
"description": "What the business mainly needs the assistant for."
},
"website_platform": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Website system as stated by the caller, e.g. 'wordpress'. Echoed back only; never fetched or verified."
},
"number_of_client_assistants": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"description": "How many separate businesses or client assistants are to be served. More than one points to the agency plan."
},
"requires_white_label": {
"type": "boolean",
"description": "Smartwebchat branding must be removed."
},
"requires_custom_widget_domain": {
"type": "boolean",
"description": "The widget must run on the caller's own domain."
},
"requires_full_omnichannel_inbox": {
"type": "boolean",
"description": "A full omnichannel inbox or helpdesk across channels is required."
},
"requires_direct_calendar_write": {
"type": "boolean",
"description": "The assistant must write appointments directly into a calendar."
},
"sensitive_professional_context": {
"type": "boolean",
"description": "The business handles sensitive professional data (e.g. health, legal, tax)."
},
"requested_ai_provider": {
"type": "string",
"enum": [
"default",
"mistral",
"openai",
"anthropic",
"other"
],
"description": "The language model provider the caller wants. 'default' is the vendor's EU standard configuration."
}
},
"required": [
"primary_need"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡smartwebchat_get_quote(plan, additional_assistants, additional_seats, expected_messages_per_month)
Price a Smartwebchat plan with optional add-ons: monthly net figures in EUR, each line with the product fact it comes from, plus the included quotas. White label returns price 'custom'. Works without authentication. The figures are self-asserted by the vendor from its published product facts. No checkout link is issued; a person completes the purchase.
Esquema de entrada
{
"type": "object",
"properties": {
"plan": {
"type": "string",
"enum": [
"business",
"agency",
"white_label"
],
"description": "Plan to quote. 'white_label' returns price 'custom' without a calculation."
},
"additional_assistants": {
"type": "integer",
"minimum": 0,
"maximum": 1000,
"description": "Additional assistants beyond the plan's included number (integer, 0 or more)."
},
"additional_seats": {
"type": "integer",
"minimum": 0,
"maximum": 1000,
"description": "Additional team seats beyond the plan's included number (integer, 0 or more)."
},
"expected_messages_per_month": {
"type": "integer",
"minimum": 0,
"maximum": 10000000,
"description": "Expected messages per month; overage above the included quota is priced per 1,000 messages."
}
},
"required": [
"plan"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡smartwebchat_prepare_handoff(locale, industry_key, recommended_plan, demo_session_id, idempotencyKey)
Prepare a single-use sign-up link for a person: it carries language, industry and your recommended plan into their registration and onboarding. The link expires after 15 minutes and works once. It does not create an account or a trial; the person does that by signing up. Works without authentication. The operator can turn this off; it then answers handoff_disabled. /agents/start shows the current status. Pass idempotencyKey on every retry.
Esquema de entrada
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"minLength": 2,
"maxLength": 35,
"description": "Language of the sign-up page, for example 'en'. Unsupported languages fall back to 'de'."
},
"industry_key": {
"type": "string",
"enum": [
"anwaelte",
"apotheken",
"arztpraxen",
"fahrschulen",
"friseure",
"handwerker",
"heilmittelpraxen",
"hotels",
"immobilien",
"kfz-werkstaetten",
"kosmetikstudios",
"pflegedienste",
"pflegeheime",
"physiotherapie",
"restaurants",
"sanitaetshaeuser",
"steuerberater",
"tieraerzte",
"versicherungsmakler",
"zahnaerzte"
],
"description": "Industry of the business, one of `how_to_test.agent_demo_contract.industries` in /agents/start."
},
"recommended_plan": {
"type": "string",
"enum": [
"business",
"agency",
"white_label"
],
"description": "Plan you recommend: business, agency, white_label. Only plans with a trial preselect the trial type; the person can change it."
},
"demo_session_id": {
"type": "string",
"description": "Optional demo session id from the scanner demo; its context is restored after sign-up."
},
"idempotencyKey": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,128}$",
"maxLength": 128,
"description": "Send the same key on every retry of the same request; a retry returns the same link for up to 15 minutes."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia