Skip to main content
Glama
README.md
# 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`, `description`

- **listBots**  
  List all Typebots in your workspace.  
  **Optional:** `workspaceId`

- **getBot**  
  Fetch a Typebot by its ID.  
  **Required:** `botId`

- **updateBot**  
  Patch an existing Typebot (e.g. rename).  
  **Required:** `botId`, `typebot` (object with fields to change)  
  **Optional:** `overwrite`

- **deleteBot**  
  Delete a Typebot by its ID.  
  **Required:** `botId`

- **publishBot** / **unpublishBot**  
  Toggle a Typebot’s published state.  
  **Required:** `botId`

- **listResults**  
  Retrieve conversation results for a Typebot.  
  **Required:** `botId`  
  **Optional:** `limit`, `cursor`, `timeFilter`, `timeZone`

- **startChat**  
  Begin a new chat session with a Typebot.  
  **Required:** `botId`  
  **Optional:** `chat.context`

---

## Prerequisites

1. **Node.js 18+**  
2. A valid **Typebot API token** and **workspace ID**  
3. Claude Desktop connected to your local MCP server
---

## Installation

```bash
git clone <repo-url>
cd mcp-typebot
npm install
npm run build
```

---

## You can also install the published package directly via npm:

```bash
npm install mcp-typebot
npm start
```

---

## Running

```bash
npm start
```

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:

```
@updateBot {"botId":"<your_bot_id>","typebot":{"name":"NewName"},"overwrite":true}
```

You can also start a chat:

```
@startChat {"botId":"<your_bot_id>"}
```

---

## Extending

- Add new tools by implementing them in `src/tools/bots.ts` and registering them in `src/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`):

```json
{
  "mcpServers": {
    "mcp-typebot": {
      "command": "node",
      "args": [
        "path/to/project/dist/index.js"
      ],
      "env": {
        "TYPEBOT_TOKEN": "YOUR_TOKEN_HERE",
        "TYPEBOT_WORKSPACE_ID": "YOUR_WORKSPACE_ID"
      }
    }
  }
}
```

Make sure the `command` and `args` point to your local built `index.js`, and that your `.env` values match those in `env`.

TDQS

B3.3/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific resources and actions in the Typebot domain. For example, createBot, getBot, updateBot, and deleteBot handle the bot lifecycle, while publishBot/unpublishBot manage publication status, and startChat/listResults cover interaction aspects. No tools appear to overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with camelCase styling (e.g., createBot, listBots, updateBot). The verbs are descriptive and aligned with CRUD operations (create, get, update, delete, list) or specific actions (publish, unpublish, start), making the set predictable and readable.

Tool Count5/5

With 9 tools, this server is well-scoped for managing Typebots, covering core operations like bot lifecycle (create, read, update, delete), listing, publishing, and interaction features (start chat, list results). Each tool earns its place without redundancy or obvious gaps in the domain.

Completeness5/5

The tool surface provides complete coverage for the Typebot management domain, including full CRUD operations for bots (createBot, getBot, updateBot, deleteBot), listing (listBots), publication control (publishBot, unpublishBot), and interaction capabilities (startChat, listResults). There are no apparent gaps that would hinder agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues