Required runtime environment (version 18+) for running the MCP server that exposes the Typebot API.
Used for schema validation of tool inputs, providing automatic prompting and validation for the Typebot API tools.
MCP-Typebot
A small MCP server that exposes Typebot’s REST API as callable tools in Claude Desktop (via STDIO). You can create, list, get, update, delete, publish/unpublish Typebots, list results, and start chats—using natural-language commands.
Features
createBot
Create a new Typebot in your workspace.
Required:name
Optional:workspaceId,descriptionlistBots
List all Typebots in your workspace.
Optional:workspaceIdgetBot
Fetch a Typebot by its ID.
Required:botIdupdateBot
Patch an existing Typebot (e.g. rename).
Required:botId,typebot(object with fields to change)
Optional:overwritedeleteBot
Delete a Typebot by its ID.
Required:botIdpublishBot / unpublishBot
Toggle a Typebot’s published state.
Required:botIdlistResults
Retrieve conversation results for a Typebot.
Required:botId
Optional:limit,cursor,timeFilter,timeZonestartChat
Begin a new chat session with a Typebot.
Required:botId
Optional:chat.context
Related MCP server: MCP Toolkit
Prerequisites
Node.js 18+
A valid Typebot API token and workspace ID
Claude Desktop connected to your local MCP server
Installation
You can also install the published package directly via npm:
Running
This starts the MCP server on STDIO. Claude Desktop (or any MCP client) will connect to it automatically.
Usage in Claude Desktop
Simply write natural commands like:
User: “Create me a new typebot”
Claude: “Sure—what name?”
User: “MyDemoBot”
Claude (internally invokes):@createBot {"name":"MyDemoBot"}
Or, explicitly:
You can also start a chat:
Extending
Add new tools by implementing them in
src/tools/bots.tsand registering them insrc/index.ts.Define a Zod schema for each tool to get automatic prompting and validation.
License
Configuring Claude Desktop
To connect Claude Desktop to this MCP server, add the following to your Claude configuration (e.g. claude_desktop_config.json):
Make sure the command and args point to your local built index.js, and that your .env values match those in env.