---
title: Connect Base44
description: Add looot as a custom MCP server in Base44 so the editor chat can call looot tools.
sidebar:
  label: Base44
---

<ClientHeader id="base44" />

:::note
These steps follow the client's own MCP documentation, linked in Sources below. looot has not tested them in this client yet. If a step fails, tell us on the [support page](/support).
:::

Base44 is a browser app builder. A custom MCP server is added once per account, and the editor chat calls its tools while you build. Custom MCP needs a Base44 Builder plan or higher, and an account holds at most 20 MCP servers.

Before you start you need a looot account. The runs you make spend the organization's balance, so
top up before your first paid run. See [Before your first run](/money#before-your-first-run).

## Steps

1. Click your workspace name at the bottom left, then **Account preferences**.
2. Click **Builder** and scroll to **MCP Connections**.
3. Click **Add custom MCP**.
4. Set **Name** to `looot` and **URL** to `https://api.looot.ai/mcp`.
5. Set **Authentication** to **OAuth**.
6. Click **Test**, then **Test & add**, and finish the sign-in.

The server URL is `https://api.looot.ai/mcp`.

## Sign-in

Browser sign-in works. The client opens looot.ai, you pick the organization to bill and click **Connect**. No token to copy.

The fallback is a token in a header: set **Authentication** to **Not required**, click **Add header**, and enter **Header name** `Authorization` and **Header value** `Bearer <token>`, with an agent token from [Settings](https://looot.ai/settings). Prefer OAuth, since a header token stays in the Base44 account until you remove it.

## Check it works

Ask the Base44 chat to call [`balance`](/mcp-tools/balance) or [`catalog_overview`](/mcp-tools/catalog-overview). Both are free. A working connection answers
with your available balance, or the catalog's categories and job counts.

## A first prompt to try

```text
Ask looot for my balance, then search its catalog for a tool that finds a work email from a name and company domain, and show me the price before running anything.
```

## Using looot inside the published app

Base44 does not run MCP tools in a published app: not in app flows, workflows, backend functions or `invokeLLM`. Data the chat fetched during the build is written into the app once and does not refresh.

For live data in the app, call the REST API from a Base44 backend function, with an agent token stored as a secret, never in frontend code. One call, as in [Run your first paid job](/get-started/first-paid-run):

```js
const response = await fetch("https://api.looot.ai/v1/runs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${Deno.env.get("LOOOT_TOKEN")}`,
    "Content-Type": "application/json",
    "Idempotency-Key": `company-${domain}`,
  },
  body: JSON.stringify({
    endpointId: "job:company.enrich",
    input: { domain },
    fallback: true,
    wait: 30,
  }),
});
const run = await response.json();
```

Read `status` and `outcome` on the run, not the HTTP code.

## Troubleshooting

- **Add custom MCP** is missing: the account is on a plan below Builder.
- **Test** fails: check the URL ends in `/mcp` and that **Authentication** is **OAuth**.
- The chat ignores looot: name it in the prompt, for example "use looot to...". Base44 calls an MCP only when the prompt asks for it.
- The server is there but tools never run: check its toggle under **MCP Connections** is on.
- Still stuck: see [Troubleshooting](/connect/troubleshooting).

## What you see when you connect

If the client uses browser sign-in, it opens looot.ai and shows the consent page: which organization to bill,
which scopes to grant and how long to stay connected. See [The consent page](/connect#the-consent-page).

## Sources

- Set up a custom MCP: [docs.base44.com/documentation/account-and-billing/setting-up-a-custom-mcp](https://docs.base44.com/documentation/account-and-billing/setting-up-a-custom-mcp)

<Related />
