# The Botforge MCP

> The Botforge manages your entire conversational AI backend from one place. Use this server to check bot operational status, list active bots, submit contact forms for lead capture, and subscribe to real-time user events—all through simple natural language commands.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** chatbot-platform, conversational-ai, lead-generation, webhook-integration, bot-monitoring, thebotforge

## Description

The Botforge MCP Server manages your entire conversational AI backend from one place. You connect this server to your agent so you can control bot status, manage leads, and track user interactions using simple commands. It’s how you run a whole operation without leaving your main workspace.

**Listing All Chatbots (`list_bots`)**

The `list_bots` tool gives you a complete inventory of every chatbot set up in your Botforge account. You call this when you need to see all the names and IDs associated with your bots. It's how you verify what’s running; it returns a full list, so you don’t have to guess which bot ID belongs to which department or function.

**Checking Operational Status (`get_bot_status`)**

The `get_bot_status` tool verifies if any specific chatbot is online and responsive. You pass in a unique chatbot ID, and the server reports its current operational state. This lets you know instantly if a bot is active, offline, or running into issues, so your agent can alert you before users get stuck.

**Retrieving Form Field Samples (`get_samples`)**

Before sending any lead data, you need to know what the form expects. The `get_samples` tool retrieves sample data and metadata for a bot's contact form. You use this to understand exactly how your bot structures its required fields—whether it needs an email address in a certain format or if the name field accepts special characters. It’s crucial for making sure your submissions don't bounce back.

**Submitting Contact Data (`submit_contact`)**

The `submit_contact` tool sends structured lead or contact information directly to a bot's primary form for logging and processing. You provide specific details, like a name and an email address, and the server handles sending that data correctly through the designated bot engine. This is your mechanism for automated lead capture; you use it when you need to log a prospect without manual copy-pasting.

**Monitoring Real-Time Events (`subscribe_webhook`)**

The `subscribe_webhook` tool sets up real-time event monitoring across all connected bots. You subscribe your system to webhooks, which means you get immediate notifications every time a user interacts with any bot in your account. This gives you visibility into conversation flow—you know the second an interaction happens, letting you track usage metrics and spot trends right away.

## Tools

### get_bot_status
Checks and reports the current operational status of a specific chatbot ID.

### get_samples
Retrieves sample data to show the expected format and fields for a bot's contact form.

### list_bots
Returns a list of every chatbot configured in your Botforge account.

### submit_contact
Sends structured data, like a name and email, to the bot's primary contact form for logging.

### subscribe_webhook
Sets up real-time event monitoring by subscribing your system to all user interactions on any connected bot.

## Prompt Examples

**Prompt:** 
```
List all chatbots in my account.
```

**Response:** 
```
I've retrieved your chatbots. You have 3 active bots including 'Customer Support', 'Sales Assistant', and 'Lead Intake'. Which one would you like to check the status for?
```

**Prompt:** 
```
Submit a contact to the bot: { "first_name": "John", "email": "john@example.com", "message": "Interested in a demo" }.
```

**Response:** 
```
Submission successful! I've sent the contact details for John (john@example.com) to your bot engine. The data has been logged correctly.
```

**Prompt:** 
```
Check the operational status of bot 'bot_10293'.
```

**Response:** 
```
Fetching status... Bot bot_10293 ('Customer Support') is currently 'Online' and responding normally. Last interaction was recorded 5 minutes ago.
```

## Capabilities

### List all chatbots
Retrieves a full inventory, including names and IDs, for every bot configured in your account.

### Check operational status
Verifies if a specific chatbot is online and responsive by querying its current operational state.

### Submit contact data
Sends structured lead or contact information directly to the designated bot form for processing.

### Get field samples
Retrieves sample data and metadata on required form fields, helping you understand how to structure submissions.

### Monitor real-time events
Subscribes your system to webhooks, ensuring you receive immediate notifications whenever a user interacts with any bot.

## Use Cases

### Auditing Bot Health After an Update
A support manager just pushed a major update and needs to know if all 15 bots are still online. They use the agent to run `list_bots` first, then loop through the IDs using `get_bot_status`. This verifies bot uptime across the entire fleet in minutes.

### Automating Lead Funnel Input
A marketing team captures leads from a third-party survey tool. Instead of manually entering data, they pipe the JSON payload into `submit_contact`. This guarantees every lead hits the bot engine correctly and instantly.

### Debugging Webhook Failures
A developer suspects their webhook connection is failing intermittently. They use `subscribe_webhook` to confirm that the system receives event data in real-time, immediately isolating whether the problem is on the client side or the bot's end.

### Verifying Form Data Requirements
A developer needs to write code that sends contact details but isn't sure if the bot requires a phone number. They run `get_samples` first, which pulls the metadata, confirming they must include a phone field.

## Benefits

- Instant visibility into your whole setup. Instead of clicking through multiple dashboards, use `list_bots` to get an immediate inventory of all chatbots in one chat command.
- Eliminate manual lead entry. Use `submit_contact` to send external data directly to the bot's form. It’s perfect for automated lead capture from a CRM or spreadsheet.
- Know your schema before you build. The `get_samples` tool lets you pull sample data and inspect required fields, so you never guess what structure your bot needs.
- Never miss an interaction. With `subscribe_webhook`, you get real-time event alerts on user activity. You monitor everything without leaving your main workspace.
- Quickly diagnose issues. If a bot goes down, use `get_bot_status` to check its live status immediately. It's fast debugging with zero effort.

## How It Works

The bottom line is you manage and monitor your whole conversational ecosystem using simple chat prompts instead of logging into a separate dashboard.

1. Subscribe to this server and provide your The Botforge API Key (you find this in your account dashboard).
2. Connect the server to your preferred AI client (Claude, Cursor, etc.).
3. Use natural conversation commands—like 'List all bots' or 'Check status for bot X'—to execute tools.

## Frequently Asked Questions

**How do I check if my bot is online using get_bot_status?**
You call `get_bot_status` and provide the specific Bot ID. The tool returns its current status—'Online,' 'Offline,' or 'Maintenance.' This tells you immediately if it's responsive.

**What is the best way to automate lead capture with submit_contact?**
The `submit_contact` tool requires structured JSON data. Always use `get_samples` first to confirm the exact field names (like 'email' vs. 'user_email') your bot expects.

**Can I track all user interactions in real time using subscribe_webhook?**
Yes, running `subscribe_webhook` links your system to the bot engine events. You get immediate notifications for every single user interaction across your entire fleet.

**How do I list all my existing chatbots? Use list_bots.**
Just ask the agent to run `list_bots`. It immediately returns a complete inventory of every bot ID and name you've configured in The Botforge account.

**Before I run `list_bots`, what credentials do I need to connect my agent?**
You'll need your The Botforge API Key. This key, found in your account dashboard, authenticates your connection and grants your AI client the permissions required to manage all listed bots.

**How do I use `get_samples` to understand my bot’s expected data format?**
It returns sample data and field configurations for your specific bot. Use this output to build accurate JSON payloads, ensuring that the keys and required types match exactly what the bot expects.

**If I use `submit_contact` with bad data, how do I handle validation errors?**
The tool returns a structured error message when submission fails. Always check the response payload for specific field violations—for instance, an invalid email format or missing required fields—and adjust your input accordingly.

**Does `get_bot_status` help me monitor if my bot is running slowly or hitting rate limits?**
It confirms operational status and responsiveness. While it doesn't track load history, continuous performance issues will result in a non-optimal response time or an explicit throttling error code within the API output.

**Can I check if a specific chatbot is online via AI?**
Yes! Use the `get_bot_status` tool and provide the Bot ID. Your agent will retrieve the current operational state of that specific bot.

**How do I submit data to my bot's contact form using the agent?**
Use the `submit_contact` action. Provide the contact details (name, email, message) in a JSON string. The agent will transmit this data directly to the bot engine.

**Is it possible to see which fields my bot expects in its form?**
Absolutely. Use the `get_samples` query. The agent will retrieve sample data based on your bot's configured form fields, helping you understand the required structure.