Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,542Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:b335e6b1773a484c75d1b893267c85109a469edff10a080a907fa018615ca6bd
What it is
What a remote MCP server returned when asked what it offers: 10 tools

The blob, as servednamed by its sha256

{ "instructions": "Smartwebchat runs AI chatbots on websites of small and mid-sized European businesses. A chatbot answers visitors from the business's own knowledge base and captures contact, booking and callback requests as leads.\n\nUse this server to see or change a website's chatbots, triage their leads, or test how a chatbot answers.\n\nCall smartwebchat_list_chatbots first: every other tool needs a botId from it.\n\nsmartwebchat_service_info, smartwebchat_get_fit, smartwebchat_get_quote and smartwebchat_prepare_handoff work without an API key. Every other tool needs one.\n\nAn API key sees only its own account's chatbots and leads. A read-only key gets 403 insufficient_scope from write tools; tell the user that a key with full access is needed. 401 means the key is invalid or expired. Keys are created at https://smartwebchat.eu/dashboard/agenten (account owner only).\n\nOperated and processed in the EU: servers at Hetzner Online GmbH, default language model Mistral AI SAS. Data processing agreement under Art. 28 GDPR.\n\nPass idempotencyKey to smartwebchat_create_chatbot on every retry; on 429, wait for Retry-After.", "tools": [ { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "botId": { "description": "ID of the chatbot, taken from smartwebchat_list_chatbots", "type": "string" }, "message": { "description": "The visitor message to send (max. 2000 characters)", "type": "string" }, "sessionId": { "description": "Optional: pass the same session ID again to continue an existing conversation", "type": "string" } }, "required": [ "botId", "message" ], "type": "object" }, "name": "smartwebchat_chat", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "businessName": { "description": "Name of the business the chatbot speaks for", "type": "string" }, "description": { "description": "What the business does — background knowledge for the chatbot", "type": "string" }, "faqs": { "description": "Question and answer pairs the chatbot should know from the start", "items": { "additionalProperties": false, "properties": { "answer": { "type": "string" }, "question": { "type": "string" } }, "required": [ "question", "answer" ], "type": "object" }, "type": "array" }, "greeting": { "description": "First message the chatbot sends to a visitor", "type": "string" }, "idempotencyKey": { "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.", "maxLength": 128, "pattern": "^[A-Za-z0-9_-]{1,128}$", "type": "string" }, "industry": { "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.", "type": "string" }, "name": { "description": "Display name of the chatbot", "type": "string" }, "personality": { "description": "Tone of voice. The values are German and go to the API verbatim: 'freundlich' (friendly), 'professionell' (professional), 'locker' (casual).", "enum": [ "freundlich", "professionell", "locker" ], "type": "string" }, "websiteUrl": { "description": "URL of the website the chatbot will run on", "type": "string" } }, "required": [ "name", "businessName", "industry" ], "type": "object" }, "name": "smartwebchat_create_chatbot", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "botId": { "description": "ID of the chatbot to diagnose (from smartwebchat_list_chatbots)", "type": "string" } }, "required": [ "botId" ], "type": "object" }, "name": "smartwebchat_diagnose", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "locale": { "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.", "maxLength": 35, "pattern": "^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{1,8})*$", "type": "string" }, "market": { "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.", "maxLength": 64, "minLength": 2, "type": "string" }, "number_of_client_assistants": { "description": "How many separate businesses or client assistants are to be served. More than one points to the agency plan.", "maximum": 10000, "minimum": 1, "type": "integer" }, "primary_need": { "description": "What the business mainly needs the assistant for.", "enum": [ "website_assistant", "customer_service", "lead_generation", "appointments", "faq", "multilingual", "agency", "white_label", "full_omnichannel_helpdesk" ], "type": "string" }, "requested_ai_provider": { "description": "The language model provider the caller wants. 'default' is the vendor's EU standard configuration.", "enum": [ "default", "mistral", "openai", "anthropic", "other" ], "type": "string" }, "requires_custom_widget_domain": { "description": "The widget must run on the caller's own domain.", "type": "boolean" }, "requires_direct_calendar_write": { "description": "The assistant must write appointments directly into a calendar.", "type": "boolean" }, "requires_full_omnichannel_inbox": { "description": "A full omnichannel inbox or helpdesk across channels is required.", "type": "boolean" }, "requires_white_label": { "description": "Smartwebchat branding must be removed.", "type": "boolean" }, "sensitive_professional_context": { "description": "The business handles sensitive professional data (e.g. health, legal, tax).", "type": "boolean" }, "website_platform": { "description": "Website system as stated by the caller, e.g. 'wordpress'. Echoed back only; never fetched or verified.", "maxLength": 100, "minLength": 1, "type": "string" } }, "required": [ "primary_need" ], "type": "object" }, "name": "smartwebchat_get_fit", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "botId": { "description": "Optional: only return leads of this chatbot. Omit for all chatbots in the account.", "type": "string" } }, "type": "object" }, "name": "smartwebchat_get_leads", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "additional_assistants": { "description": "Additional assistants beyond the plan's included number (integer, 0 or more).", "maximum": 1000, "minimum": 0, "type": "integer" }, "additional_seats": { "description": "Additional team seats beyond the plan's included number (integer, 0 or more).", "maximum": 1000, "minimum": 0, "type": "integer" }, "expected_messages_per_month": { "description": "Expected messages per month; overage above the included quota is priced per 1,000 messages.", "maximum": 10000000, "minimum": 0, "type": "integer" }, "plan": { "description": "Plan to quote. 'white_label' returns price 'custom' without a calculation.", "enum": [ "business", "agency", "white_label" ], "type": "string" } }, "required": [ "plan" ], "type": "object" }, "name": "smartwebchat_get_quote", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": {}, "type": "object" }, "name": "smartwebchat_list_chatbots", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "demo_session_id": { "description": "Optional demo session id from the scanner demo; its context is restored after sign-up.", "type": "string" }, "idempotencyKey": { "description": "Send the same key on every retry of the same request; a retry returns the same link for up to 15 minutes.", "maxLength": 128, "pattern": "^[A-Za-z0-9_-]{1,128}$", "type": "string" }, "industry_key": { "description": "Industry of the business, one of `how_to_test.agent_demo_contract.industries` in /agents/start.", "enum": [ "anwaelte", "apotheken", "arztpraxen", "fahrschulen", "friseure", "handwerker", "heilmittelpraxen", "hotels", "immobilien", "kfz-werkstaetten", "kosmetikstudios", "pflegedienste", "pflegeheime", "physiotherapie", "restaurants", "sanitaetshaeuser", "steuerberater", "tieraerzte", "versicherungsmakler", "zahnaerzte" ], "type": "string" }, "locale": { "description": "Language of the sign-up page, for example 'en'. Unsupported languages fall back to 'de'.", "maxLength": 35, "minLength": 2, "type": "string" }, "recommended_plan": { "description": "Plan you recommend: business, agency, white_label. Only plans with a trial preselect the trial type; the person can change it.", "enum": [ "business", "agency", "white_label" ], "type": "string" } }, "type": "object" }, "name": "smartwebchat_prepare_handoff", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": {}, "type": "object" }, "name": "smartwebchat_service_info", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "botId": { "description": "ID of the chatbot the lead belongs to", "type": "string" }, "leadId": { "description": "ID of the lead", "type": "string" }, "status": { "description": "New status: 'new', 'contacted' or 'closed'", "enum": [ "new", "contacted", "closed" ], "type": "string" } }, "required": [ "botId", "leadId", "status" ], "type": "object" }, "name": "smartwebchat_update_lead", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:b335e6b1773a484c75d1b893267c85109a469edff10a080a907fa018615ca6bd | sha256sum