# The chat connector

The connector puts Clave inside a chat client. You add one address, you
approve the grant once, and the client can build and publish sites.

## Add it

The connector is at `https://api.heyclave.com/mcp`.

Add it in your chat client as a remote MCP server. The client discovers
the rest for itself:

1. It calls `https://api.heyclave.com/mcp` and gets a 401 with a pointer.
2. It reads the protected-resource metadata on the API.
3. It reads the authorization-server metadata on the app.
4. It registers itself and sends you to the grant screen.

## Approve the grant

The grant screen is at https://app.heyclave.com. It is a page in a browser, on purpose: the
party who gains access is not the party who asked, so a person decides.

When you approve, Clave mints an ordinary account token for the client. It
appears in your token list and is revoked from the same panel. There is no
second kind of credential here.

## What it can do

The connector serves the same capabilities the JSON API serves. A tool
there calls the same service the API calls, so the two cannot disagree
about what a site is.

That covers the whole of a site's life: making one, writing its source,
drafts, publishing and rolling back, pictures, its own domain and that
domain's DNS records, contact forms and the enquiries they take,
collaborators, bookings, and taking money from a visitor.

Ask the client for the tool list rather than reading one here. A list
written on this page would be a second copy of a fact that moves. Ask it
for `get_account` to learn what this deployment offers: a feature with
nothing configured behind it has no tool at all, so `capabilities` is
how a missing tool is told from a feature that is switched off.

## What it cannot do

A chat client has no shell and no files. So the connector reads and
writes a site's tree through tools rather than through git, it cannot
build the site on your machine, and it cannot carry bytes — an image or
a PDF arrives through an upload link the owner opens in a browser.

Some things are left out on purpose rather than missing. Renaming or
forgetting a payout account, ending somebody's access to a site, and
changing your account's own name and address are account management, and
they live in [the app](/start/account) and on the JSON API. Forgetting a
payout account is the sharpest of those: it stops every site that takes
money into it and ends the refund path for the payments it already took.

One thing you should not ask a chat client for at all is a **secret**. A
restricted key from your payment provider that reaches a conversation
stays in that conversation and in whatever transcript the client keeps,
and it can take money and give it back. Paste it into the app instead.
The connector never reads a key back: what it reports is the last four
characters.

If you have a terminal, use [the terminal client](/agents/terminal)
instead. It is still the fuller surface.

## Panels

Some tools draw a small panel in the chat: a photo picker, a gallery of
your sites, a receipt after a publish. A panel shows what the platform
knows. It never frames a site: a chat host refuses a cross-origin frame,
and it refuses it in silence.

---

## Where this page sits

This is one page of the Clave documentation.
Read it as a web page at https://docs.heyclave.com/agents/connector.
Every page has a `.md` address, and https://docs.heyclave.com/llms.txt lists them all.

- Previous: [Limits](https://docs.heyclave.com/concepts/limits.md)
- Next: [The skill](https://docs.heyclave.com/agents/skill.md)
- Index: [Overview](https://docs.heyclave.com/index.md)
