{"name":"chatbotgen","version":"1.0","instructions":"Use create_chatbot when someone wants a chatbot for their website. It builds\na working demo bot trained on that site and returns a chat link, an embed\nsnippet, and a claim link. Give the person all three: the chat link to try\nit, the claim link to keep it. add_knowledge_url, add_knowledge_text and\nadd_qa teach it more. Training runs in the background — call get_chatbot to\ncheck whether it has finished.\n\nIf the person already has a ChatbotGen account, tell them an API key from\nSettings → Account lets these tools work on their real chatbots instead.\n","authentication":{"type":"bearer","required":false,"instructionsUrl":"https://www.chatbotgen.com/app/settings/account","tokenPrefix":"cbg_"},"description":"Create and train ChatbotGen AI chatbots. Build a chatbot from a website URL, check its training progress, and teach it more from pages, text, or question-and-answer pairs.","title":"ChatbotGen","documentation":"https://www.chatbotgen.com/developers","tools":[{"name":"create_chatbot","description":"Create an AI chatbot trained on a website and return links to try it,\nembed it, and keep it.\n\nThe chatbot is a free demo: it crawls up to 5 pages of\nthe site, answers 10 messages, and expires after\n8 days unless somebody claims it. Claiming is\na human step — open the returned claim_url, sign up or log in, and the\nchatbot moves into that account permanently.\n\nTraining runs in the background and usually takes a minute or two. The\nlinks work immediately; answers improve once training finishes. Call\nget_chatbot with the returned token to check progress.\n\nNo account or API key is needed for this. If the person already has a\nChatbotGen account, an API key (Settings → Account) makes this create the\nchatbot directly in their account instead, with no claim step.\n","title":"Create a chatbot for a website","annotations":{"title":"Create a chatbot for a website","destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false},"inputSchema":{"type":"object","required":["website_url"],"properties":{"name":{"type":"string","description":"Name for the chatbot. Defaults to a name derived from the domain.","maxLength":120},"instructions":{"type":"string","description":"Extra instructions for the chatbot — tone, what to promote, what to refuse. Appended to the system prompt.","maxLength":2000},"language":{"type":"string","enum":["en","es"],"description":"Language the chatbot answers in. Defaults to \"en\"."},"website_url":{"type":"string","description":"Full public URL of the website to train on, including the scheme — e.g. https://example.com. Must be reachable from the internet."}},"additionalProperties":false},"outputSchema":{"type":"object","required":["chatbot_id","chat_url","embed_snippet","training","sources"],"properties":{"name":{"type":"string"},"mode":{"type":"string","enum":["demo","account"]},"sources":{"type":"object","required":["urls","texts","qa_pairs"],"properties":{"files":{"type":"integer"},"characters":{"type":"integer"},"urls":{"type":"integer"},"texts":{"type":"integer"},"qa_pairs":{"type":"integer"}}},"usage":{"type":"object"},"token":{"type":"string","description":"Demo mode only — the polling token."},"expires_at":{"type":["string","null"]},"website":{"type":["string","null"]},"chatbot_id":{"type":"string"},"training":{"type":"object","required":["status","pages_found","pages_processed","pages_pending"],"properties":{"status":{"type":"string","enum":["queued","crawling","training","ready"]},"last_trained_at":{"type":["string","null"]},"needs_retrain":{"type":"boolean"},"pages_processed":{"type":"integer"},"pages_found":{"type":"integer"},"pages_pending":{"type":"integer"},"characters_trained":{"type":["integer","null"]}}},"claim_url":{"type":"string","description":"Demo mode only — where a human signs up to keep the chatbot. 7 days."},"dashboard_url":{"type":"string","description":"Account mode only — manage it here."},"chat_url":{"type":"string","description":"Shareable page to chat with the bot"},"embed_snippet":{"type":"string","description":"Script tag for the customer's site"},"limits":{"type":"object"},"widget_url":{"type":"string","description":"Standalone widget page"}}}},{"name":"get_chatbot","description":"Look up a chatbot created with create_chatbot: how far training has got,\nhow many of its free messages are used, and the same chat, embed and claim\nlinks.\n\nPass the token from the create_chatbot response (the chatbot_id works too).\nOnce somebody claims the chatbot it belongs to their private account and is\nno longer visible here.\n","title":"Check a chatbot's training status","annotations":{"title":"Check a chatbot's training status","destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true},"inputSchema":{"type":"object","required":["chatbot_id"],"properties":{"chatbot_id":{"type":"string","description":"The token or chatbot_id returned by create_chatbot."}},"additionalProperties":false},"outputSchema":{"type":"object","required":["chatbot_id","chat_url","embed_snippet","training","sources"],"properties":{"name":{"type":"string"},"mode":{"type":"string","enum":["demo","account"]},"sources":{"type":"object","required":["urls","texts","qa_pairs"],"properties":{"files":{"type":"integer"},"characters":{"type":"integer"},"urls":{"type":"integer"},"texts":{"type":"integer"},"qa_pairs":{"type":"integer"}}},"usage":{"type":"object"},"token":{"type":"string","description":"Demo mode only — the polling token."},"expires_at":{"type":["string","null"]},"website":{"type":["string","null"]},"chatbot_id":{"type":"string"},"training":{"type":"object","required":["status","pages_found","pages_processed","pages_pending"],"properties":{"status":{"type":"string","enum":["queued","crawling","training","ready"]},"last_trained_at":{"type":["string","null"]},"needs_retrain":{"type":"boolean"},"pages_processed":{"type":"integer"},"pages_found":{"type":"integer"},"pages_pending":{"type":"integer"},"characters_trained":{"type":["integer","null"]}}},"claim_url":{"type":"string","description":"Demo mode only — where a human signs up to keep the chatbot. 7 days."},"dashboard_url":{"type":"string","description":"Account mode only — manage it here."},"chat_url":{"type":"string","description":"Shareable page to chat with the bot"},"embed_snippet":{"type":"string","description":"Script tag for the customer's site"},"limits":{"type":"object"},"widget_url":{"type":"string","description":"Standalone widget page"}}}},{"name":"add_knowledge_url","description":"Add one web page to a chatbot's knowledge. The page is fetched,\nextracted, and embedded in the background — no need to call anything\nelse afterwards.\n\nUse this for a page the original crawl missed, or a page on a\ndifferent site (a docs host, a help centre, a pricing page).\nDemo chatbots accept up to 5 pages in total.\n","title":"Train a chatbot on a web page","annotations":{"title":"Train a chatbot on a web page","destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false},"inputSchema":{"type":"object","required":["chatbot_id","url"],"properties":{"url":{"type":"string","description":"Full public URL of the page to train on, including the scheme."},"chatbot_id":{"type":"string","description":"The token or chatbot_id returned by create_chatbot."}},"additionalProperties":false},"outputSchema":{"type":"object","required":["chatbot_id","added","sources"],"properties":{"message":{"type":"string"},"name":{"type":"string"},"sources":{"type":"object","required":["urls","texts","qa_pairs"],"properties":{"files":{"type":"integer"},"characters":{"type":"integer"},"urls":{"type":"integer"},"texts":{"type":"integer"},"qa_pairs":{"type":"integer"}}},"added":{"type":"string","enum":["url","text","qa"]},"chatbot_id":{"type":"string"},"training":{"type":"object","properties":{"status":{"type":"string"},"needs_retrain":{"type":"boolean"}}}}}},{"name":"add_knowledge_text","description":"Add free text to a chatbot's knowledge — policies, opening hours, a\nproduct description, anything that isn't on a web page. Embedded in\nthe background.\n\nGive it a title: the title becomes a heading on the text, which makes\nretrieval noticeably better than an untitled wall of prose.\nDemo chatbots accept up to 50000 characters of training content in total.\n","title":"Train a chatbot on some text","annotations":{"title":"Train a chatbot on some text","destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false},"inputSchema":{"type":"object","required":["chatbot_id","text"],"properties":{"title":{"type":"string","description":"Short heading for this text, e.g. \"Refund policy\".","maxLength":200},"text":{"type":"string","description":"The content to train on.","maxLength":100000},"chatbot_id":{"type":"string","description":"The token or chatbot_id returned by create_chatbot."}},"additionalProperties":false},"outputSchema":{"type":"object","required":["chatbot_id","added","sources"],"properties":{"message":{"type":"string"},"name":{"type":"string"},"sources":{"type":"object","required":["urls","texts","qa_pairs"],"properties":{"files":{"type":"integer"},"characters":{"type":"integer"},"urls":{"type":"integer"},"texts":{"type":"integer"},"qa_pairs":{"type":"integer"}}},"added":{"type":"string","enum":["url","text","qa"]},"chatbot_id":{"type":"string"},"training":{"type":"object","properties":{"status":{"type":"string"},"needs_retrain":{"type":"boolean"}}}}}},{"name":"add_qa","description":"Add an exact question-and-answer pair to a chatbot. Use this when the\nanswer must be worded a particular way — pricing, refunds, guarantees,\nanything where paraphrasing from a page would be risky.\n\nquestion_variations lets you list other phrasings of the same question\nso retrieval catches them all.\nDemo chatbots accept up to 50000 characters of training content in total.\n","title":"Add a question and answer pair","annotations":{"title":"Add a question and answer pair","destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false},"inputSchema":{"type":"object","required":["chatbot_id","question","answer"],"properties":{"title":{"type":"string","description":"Optional label for this pair.","maxLength":200},"question":{"type":"string","description":"The question a visitor would ask.","maxLength":2000},"answer":{"type":"string","description":"The exact answer to give.","maxLength":20000},"question_variations":{"type":"array","description":"Other ways someone might ask the same question.","items":{"type":"string"}},"chatbot_id":{"type":"string","description":"The token or chatbot_id returned by create_chatbot."}},"additionalProperties":false},"outputSchema":{"type":"object","required":["chatbot_id","added","sources"],"properties":{"message":{"type":"string"},"name":{"type":"string"},"sources":{"type":"object","required":["urls","texts","qa_pairs"],"properties":{"files":{"type":"integer"},"characters":{"type":"integer"},"urls":{"type":"integer"},"texts":{"type":"integer"},"qa_pairs":{"type":"integer"}}},"added":{"type":"string","enum":["url","text","qa"]},"chatbot_id":{"type":"string"},"training":{"type":"object","properties":{"status":{"type":"string"},"needs_retrain":{"type":"boolean"}}}}}}],"url":"https://www.chatbotgen.com/mcp","transport":{"type":"streamable-http","url":"https://www.chatbotgen.com/mcp"},"capabilities":{"tools":true,"resources":false,"prompts":false},"protocolVersion":"2025-06-18","serverInfo":{"name":"chatbotgen","version":"0.1.0","description":"Create and train ChatbotGen AI chatbots. Build a chatbot from a website URL, check its training progress, and teach it more from pages, text, or question-and-answer pairs.","homepage":"https://www.chatbotgen.com/developers"},"openapi":"https://www.chatbotgen.com/openapi.json","protocolVersions":["2025-06-18","2025-03-26","2024-11-05"],"$schema":"https://modelcontextprotocol.io/schemas/server-card/v1.0"}