GBrain gives an assistant a door to the things you have connected: your mail,
your calendar, web search. You decide which assistant gets a door, what it may
reach through it, and how much it may do in a day.

Nothing reaches anything until you say so, and everything that happens is on a
record you can read.

## The three words

**Application** is something you connected: a Google account, an Exa key, the
memory of one of your workspaces. It belongs to you, not to any one assistant.

**Client** is the access you granted: which applications, at what level, for how
long. A client is what you turn up or down.

**Connection** is one thing plugged into a client: ChatGPT on the web, Claude on
your desktop, a terminal. Several can share one client, and each has its own
token and its own switch.

So: applications are what exists, a client is what is allowed, and a connection
is what is plugged in.

<figure>
  <a href="/docs/tools/how-it-fits.svg"><picture>
    <source srcset="/docs/tools/how-it-fits-dark.svg" media="(prefers-color-scheme: dark)">
    <img src="/docs/tools/how-it-fits.svg" alt="Three boxes left to right. Applications: a Google account, Exa, Firecrawl, what you have connected. An arrow to Client: ChatGPT, with Gmail set to Manage, Calendar to Read, web search on, what is allowed. An arrow to Connections: ChatGPT on the web, Claude on the desktop, a terminal, what is plugged in.">
  </picture></a>
  <figcaption><strong>One client sits between what you own and what you plug in.</strong> Change a permission once and every connection on that client follows, from its next call.</figcaption>
</figure>

Why the middle box exists: you will plug the same access into more than one place,
and you want one switch for all of them. Turning ChatGPT's access down should not
mean hunting through three apps.

## Connecting one

Open **Clients**, pick the client you want, then **Add a connection**.

ChatGPT, Claude and Claude Code sign themselves in: you paste one address, they
send you back here to approve it, and it appears in your clients. Everything else
takes a token you copy once.

<figure>
  <a href="/docs/tools/add-a-connection.png"><picture>
    <source srcset="/docs/tools/add-a-connection-dark.png" media="(prefers-color-scheme: dark)">
    <img src="/docs/tools/add-a-connection.png" alt="The Add a connection page. Apps that sign themselves in: ChatGPT, Claude, Claude Code. Everything else, with a token: Codex, Cursor, a workspace of yours, a terminal.">
  </picture></a>
  <figcaption><strong>Pick what you are plugging in.</strong> The next page has the exact lines to paste for that app, including where its settings hide the MCP option.</figcaption>
</figure>

The address is the same for every assistant:

```
https://gbrain.io/mcp
```

Each app's page has the exact steps for that app, including where its settings
hide the MCP option.

## Your workspace's memory

Every workspace keeps a memory: the facts, pages and links it has gathered. You can
add that memory to a client like any other application, from the client's
Applications page or from **Applications**. Set it to **Read** and the
assistant can search and recall; set it to **Full** and it can also remember
new things, link pages, and forget.

The memory arrives as the tools gbrain itself defines: `recall`, `remember`,
`search`, `fetch`, and the rest. A client holds one workspace's memory, so a second workspace
means a second client. The assistant is told, when it connects, which workspace
this is and when to reach for it: at the start of a session and after its
context is compacted, to warm up; before answering questions about what is
known; and to save something durable you say about yourself or your work.
Nothing runs inside the assistant for this to work. It is all the same door.

Two things to know:

- Nothing listens on the workspace until you add its memory to a client. Remove
  it from every client and the workspace's memory server switches off again.
- Every memory call is on the client's Activity page, with the outcome, the same
  as every other call.

If you are starting from the workspace side, [Use your memory from other
assistants](/docs/workspace/memory-anywhere) walks the same ground in four steps.

### Per assistant

- **Claude Code.** `claude mcp add gbrain -t http https://gbrain.io/mcp` and
  sign in when it asks, or pass a token with `--header "Authorization: Bearer
  <token>"`. The workspace's tools appear alongside the rest, under the server
  name you gave.
- **Claude on the web or desktop.** Add `https://gbrain.io/mcp` as a
  connector under Settings and approve the sign-in. Same tools.
- **ChatGPT.** Add the same address as a connector and approve the sign-in,
  or install the GBrain app from the directory when it is listed. Deep
  research works too: the workspace's `search` and `fetch` are the tools it
  looks for.
- **OpenClaw.** Add the address under `mcp.servers` with `transport:
  "streamable-http"` (its default is the older SSE) and `auth: "oauth"`. For
  a shared workspace that several people talk to, set `oauth.identity:
  "per-requester"` so each person signs in as themselves.
- **Hermes.** Add the address under `mcp_servers`; it signs in with OAuth on
  its own. Its `identity_header` can name which profile is calling.

## What the assistant can work out on its own

Once connected, it can answer questions about its own access without asking you:

- what it is plugged into, and when that access stops working
- which tools it can use right now, and which need permission it does not have
- what it has already done, and what that cost
- how much of today's allowance is left on each tool

When it runs into something it cannot do, it will say which permission it needs
and give you the page to change it. It cannot change its own access. Only you
can, on that page.

## When something stops working

An assistant that has stopped reaching your things is usually one of three
states, and it will tell you which:

- **Switched off.** Someone turned that connection off. Turn it back on from the
  client's page.
- **Term ran out.** A client expires so nothing stays connected forever. Give it
  more time from the same page.
- **At a daily limit.** One tool used up its allowance for the day. The
  assistant will hand you a link to that limit, where you can add room for today
  or change the standing number.

Everything else it can do keeps working while one tool is paused.

## The rest of this section

- **[Applications](/docs/tools/applications)**: the accounts and keys your
  clients reach through.
- **[Permissions](/docs/tools/permissions)**: what a client may do, per
  application, at a level you set.
- **[Limits](/docs/tools/limits)**: the daily allowance that stops a job that
  runs away.
- **[Activity](/docs/tools/activity)**: every call, what it cost, and which
  connection made it.