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

# Claude

> A custom connector on claude.ai and Claude Desktop, over OAuth 2.1.

<img src="https://mintcdn.com/mahadev/-gWik8vU43pna0pu/images/harnesses/claude.svg?fit=max&auto=format&n=-gWik8vU43pna0pu&q=85&s=7832e9eacb56f571be1ddf2cad765813" alt="Claude" width="48" height="48" noZoom data-path="images/harnesses/claude.svg" />

**Preview.** claude.ai and Claude Desktop add the server as a **custom
connector** and run the full **OAuth 2.1** flow — there is no field for pasting a
key on most accounts, and that is deliberate on Anthropic's side.

<Card title="Using Claude Code instead?" icon="https://mintcdn.com/mahadev/-gWik8vU43pna0pu/images/harnesses/claude.svg?fit=max&auto=format&n=-gWik8vU43pna0pu&q=85&s=7832e9eacb56f571be1ddf2cad765813" href="/connect/claude-code" horizontal width="248" height="248" data-path="images/harnesses/claude.svg">
  The terminal client takes a `tgcc_` bearer key and is one command — and one
  committed `.mcp.json` gives the whole team the same connection.
</Card>

## Add the connector

Custom connectors are added under **Settings → Connectors → Add custom
connector**. Paste the endpoint:

```
https://api.impellabs.tech/mcp
```

<Steps>
  <Step title="Paste the URL">
    Claude fetches `/.well-known/oauth-protected-resource` to learn which
    authorization server issues tokens for this resource and which scopes it
    understands. Nothing to configure — the server advertises it.
  </Step>

  <Step title="Sign in and consent">
    You are sent to the dashboard, then shown a consent screen naming Claude and
    the exact scopes it is asking for. That screen is the decision point: it is
    where you choose what a model may do with your workspace.
  </Step>

  <Step title="Enable it in a chat">
    The connector appears in the tools menu. Turn it on per conversation.
  </Step>
</Steps>

Then ask for something:

> *List the agents in my ImpelLabs workspace and tell me which are published.*

<Note>
  Some organisations also see a **Request headers** field in that dialog, which
  takes a `tgcc_` key directly as `Bearer tgcc_…` (the space after `Bearer`
  matters). It is beta and not enabled everywhere — if you do not see it, use
  OAuth, which is the supported path for every account.
</Note>

<Warning>
  Anthropic's servers make the connection, not your laptop. A host on a VPN or a
  private network will not connect from claude.ai however well it works from
  Claude Code.
</Warning>

## Which one to use

|                        | Claude Code                                        | claude.ai / Desktop           |
| ---------------------- | -------------------------------------------------- | ----------------------------- |
| Credential             | `tgcc_` bearer key                                 | OAuth grant                   |
| Config                 | CLI or `.mcp.json`                                 | Connector UI                  |
| Reaches your host from | Your machine                                       | Anthropic's servers           |
| Good for               | Repo work, scripted setup, narrow keys per project | Everyday chat, no local setup |

## Two things that will surprise you

<AccordionGroup>
  <Accordion title="Some tools answer with a job id, not a result">
    Extractions, reports, knowledge ingestions and jobs are queued, always. The
    tool returns the job id and Claude has to poll before it can honestly say
    the work finished. This is not a failure and it is not a timeout.
  </Accordion>

  <Accordion title="Uploading a document succeeds before it is readable">
    Upload returns success while parsing continues in the background. Asking for
    the document's text straight afterwards returns **409
    `document_not_processed`** until parsing finishes. Claude will retry if you
    tell it to; it cannot know to wait unless the tool description says so, and
    it does.
  </Accordion>
</AccordionGroup>

<CardGroup cols={2}>
  <Card title="Tools" icon="wrench" href="/connect/tools">
    What is callable, and the scope each one demands.
  </Card>

  <Card title="Claude Code" icon="https://mintcdn.com/mahadev/-gWik8vU43pna0pu/images/harnesses/claude.svg?fit=max&auto=format&n=-gWik8vU43pna0pu&q=85&s=7832e9eacb56f571be1ddf2cad765813" href="/connect/claude-code" width="248" height="248" data-path="images/harnesses/claude.svg">
    The CLI: a bearer key, project scope, and a shared `.mcp.json`.
  </Card>
</CardGroup>
