> ## Documentation Index
> Fetch the complete documentation index at: https://developers.mihu.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Builder MCP Server

> Build and run your own apps and integrations on Mihu from any MCP client

The **Builder MCP Server** lets you build and run your own software on Mihu — described in plain language, from your own AI client (Claude Desktop, Claude Code, Cursor, or any MCP client).

It is the customer-facing **integration and app builder**, delivered over the Model Context Protocol. Ask it for a CRM, a connector to another service, a data migration, a webhook handler, or an automation agent, and it generates the code, reviews and tests it, deploys it to an isolated cloud sandbox, and hands you a live HTTPS URL.

This is different from the [Mihu MCP Server](/guides/mcp): that one operates your existing agents, contacts, and campaigns; the **Builder MCP** creates and runs brand-new apps for you.

## What the Builder MCP can do

| Capability              | Example tools                                                               |
| ----------------------- | --------------------------------------------------------------------------- |
| Describe & build an app | `create_agent`, `answer_agent`, `approve_agent`, `get_agent`, `list_agents` |
| Ship your own code      | `deploy_code`, `list_deployments`, `get_deployment_files`                   |
| Quality & safety        | `review_deployment`, `test_deployment`, `get_qa_report`                     |
| Operate a running app   | `start_deployment`, `stop_deployment`, `set_auto_stop`, `delete_deployment` |
| Inspect & debug         | `get_logs`, `exec_command`, `create_ssh`, `recreate_ssh`, `revoke_ssh`      |
| Files & secrets         | `create_upload_link`, `store_credentials`, `list_credentials`               |
| Cost                    | `get_spending`                                                              |

Every app runs in its own isolated sandbox with a public preview URL. Each connection is **bound to one tenant** and scoped to it — no other tenant is reachable.

## Get your connection details

You get everything you need from the app. Open **Builder Mode** and go to the **Credentials** tab — the **Builder connection** panel there shows your three values:

| Value      | Where it comes from                                                               |
| ---------- | --------------------------------------------------------------------------------- |
| **Server** | The platform URL, e.g. `https://builder.mihu.ai`                                  |
| **Tenant** | Your workspace's builder tenant name                                              |
| **Token**  | Your tenant key — masked by default; click the **eye icon** to reveal and copy it |

<Note>
  The token is created automatically the first time you use the builder. You can roll it any time from the **Credentials** tab (**Recreate token**), or delete it to revoke access — a new one is minted automatically the next time a builder is used. Keep it secret: it authorizes everything for your tenant.
</Note>

## Before you start

Make sure you have:

* access to your Mihu tenant,
* an MCP-compatible client (Claude Desktop, Claude Code, Cursor, or a custom client),
* Python with the MCP package installed: `pip install mcp`,
* and your **Server**, **Tenant**, and **Token** from **Builder Mode → Credentials**.

## Run the server (stdio)

Run `mcp_server.py` with your three values as environment variables:

```bash theme={null}
MIHU_API_URL=<Server> \
MIHU_TENANT=<Tenant> \
MIHU_TENANT_KEY=<Token> \
python mcp_server.py
```

For example:

```bash theme={null}
MIHU_API_URL=https://builder.mihu.ai \
MIHU_TENANT=acme \
MIHU_TENANT_KEY=acme_xxx \
python mcp_server.py
```

## Register it with your MCP client

### Claude Desktop

In **Settings → Developer → Edit Config**, add an MCP server:

```json theme={null}
{
  "mcpServers": {
    "mihu-builder": {
      "command": "python",
      "args": ["/absolute/path/to/mcp_server.py"],
      "env": {
        "MIHU_API_URL": "https://builder.mihu.ai",
        "MIHU_TENANT": "<your tenant>",
        "MIHU_TENANT_KEY": "<your token>"
      }
    }
  }
}
```

### Claude Code

```bash theme={null}
claude mcp add mihu-builder \
  --env MIHU_API_URL=https://builder.mihu.ai \
  --env MIHU_TENANT=<your tenant> \
  --env MIHU_TENANT_KEY=<your token> \
  -- python /absolute/path/to/mcp_server.py
```

## Build flow (asynchronous — poll after each write)

Building is asynchronous, so always poll after a write:

1. **Describe it** — call `create_agent` with a one-sentence prompt.
2. **Poll** — call `get_agent` (\~every 2–3s) while `status: processing`.
3. **Answer questions** — while `status: gathering`, the builder asks what it needs (credentials, size, schedule); call `answer_agent` and keep polling.
4. **Approve** — when `status: awaiting_approval`, call `approve_agent` to build, deploy, and run automated checks (AI code review + tests).
5. **Live** — once `status: deployed`, the app is running with a preview URL. Operate it with `start_deployment` / `stop_deployment` / `get_logs` / `exec_command`, or ask for changes (the builder rebuilds the live app).

You can also skip the conversation and ship your own files directly with `deploy_code`.

## Test the connection

Try these once connected:

* "List my builders."
* "Build a small JSON API that stores and returns leads."
* "Show the logs for my last deployment."

## Troubleshooting

| Symptom                      | First check                                                                             |
| ---------------------------- | --------------------------------------------------------------------------------------- |
| `401` from the platform      | Wrong tenant or wrong/expired token — re-copy it from **Builder Mode → Credentials**.   |
| `403` / cannot see a builder | Each token is tied to one tenant. You only see that tenant's builders.                  |
| Preview URL doesn't resolve  | The builder is stopped — start it; a preview URL only resolves while running.           |
| Build keeps failing          | Ask the builder to "try again" or "build a simpler version"; it self-heals and retries. |
| Token leaked                 | Recreate it from the **Credentials** tab — the old one stops working immediately.       |

## Support

* **Platform:** [`https://builder.mihu.ai`](https://builder.mihu.ai)
* **Status / health:** [`https://builder.mihu.ai/health`](https://builder.mihu.ai/health) → `{"status": "ok"}`
* **Issues:** email [support@mihu.ai](mailto:support@mihu.ai)
