# What a connected assistant can do

The full list of tools Laabam.site exposes over MCP, what each one answers, and what it needs. Useful if you are writing prompts, or deciding which permissions to grant.

Every tool is scoped to **the one account that authorised the connection**. The account is taken from the credential, never from something the assistant passes in — so there is no way to phrase a request that points a tool at somebody else's websites.

## Reading your account

Granted by default when you connect. These change nothing and spend nothing.

| Tool | Answers |
|---|---|
| `list_sites` | Every website on the account: name, whether it is live, its address, its custom domain. The assistant calls this first — everything else needs an id from it. |
| `get_site` | One site in detail: addresses, whether a custom domain is verified, what the last build changed. |
| `enquiry_summary` | Enquiries from a site's contact form — how many, how many unread, and the recent messages. **Phone numbers are removed**; the assistant is told how many enquiries left one, never the number. |
| `site_traffic` | Daily visits for the last week and the busiest pages. |
| `seo_tasks` | SEO issues still open on a site. A task marked blocked has failed two automatic fixes and needs a person. |
| `credit_balance` | Credits left, split into the part that expires at renewal and the part you bought. |
| `plan_status` | Your plan, its real state, when the period ends, whether new builds are allowed. |

## Reading your code

Needs the **"read your website's code"** permission **and an active paid plan**.

| Tool | Answers |
|---|---|
| `list_site_files` | The file paths a site is built from. |
| `get_site_file` | One file's contents, by a path `list_site_files` returned. |

This is what lets an assistant extend a site you already have instead of guessing at it. Ask it to read `index.html` before asking it to match your design — a design it has not seen is a design it will not match.

## Publishing

Needs the **"propose new websites"** permission.

| Tool | Does |
|---|---|
| `upload_website` | Sends finished code the assistant wrote. Records a **proposal** — it creates nothing and publishes nothing. Spends **no Laabam.site credits**, because no Laabam.site agent runs. |

### There is no "build it for me" tool

Deliberately. Asking Laabam.site's own agents to design and build a site spends Laabam.site credits, and that is a decision to make in your dashboard where you can see the cost, not in a chat window. Over a connector, **the assistant writes the code** and `upload_website` publishes it.

So if you ask ChatGPT for a website, it should write the HTML itself. If it tells you it has asked Laabam.site to build one, it is describing something it cannot do.

## What happens after an upload

1. The assistant calls `upload_website` and gets back a proposal and a link. **Nothing exists yet.**
2. The proposal appears in **Settings → AI connections** under "Waiting for you".
3. You press **Review code** and read every file, with a preview of the page. Scripts do not run in that preview — a page that could detect it was being reviewed could show you one thing and publish another.
4. You press **Publish it**, and the site goes live at a public Laabam.site address.
5. You can take it down again any time from the project page.

Step 4 is the publish. There is no separate "go live" afterwards.

## Limits

| | |
|---|---|
| Files per upload | 40 |
| Size per file | 100,000 characters |
| Total per upload | 600,000 characters |
| Proposals waiting at once | 10 |
| `index.html` | Required — it is what a visitor lands on |

Bigger than that belongs in the dashboard importer, where you can see what you are uploading.

## Costs

| Action | Laabam.site credits |
|---|---|
| Every read tool above | 0 |
| `list_site_files`, `get_site_file` | 0 (paid plan required) |
| `upload_website` | 0 |
| Publishing the proposal | 0 |

Nothing on this page spends Laabam.site credits. You are paying OpenAI or Anthropic for the model doing the work.
