# Connect claude.ai

> Add Invoia as a custom connector in claude.ai.

Source: https://invoia.io/developers/mcp/claude-ai

Add Invoia as a connector and Claude can read your invoicing and propose
changes to it. Nothing is written until you commit. The connector follows
your account, so it works in the web app, the desktop app and mobile
once it is added.

## Add the connector [#add-the-connector]

On a personal plan, open **Customize → Connectors*&#x2A;, click **+ → Add
custom connector**, and paste this URL:

```
https://invoia.io/api/mcp
```

Leave the **Advanced settings** OAuth fields empty. They exist for
servers that hand out client credentials by hand; Invoia supports
dynamic registration, so Claude registers itself.

Claude then opens an invoia.io sign-in and shows a consent screen listing
the scopes it is asking for. Approve the ones you are willing to grant —
you can withhold issuing and still get everything else.

> [!NOTE]
> **On Team and Enterprise, an owner adds it first**
>
> An owner adds the connector once under **Organization settings →
> Connectors → Add → Custom → Web**. Everyone else then finds it in
> **Customize → Connectors** and clicks **Connect** to authenticate as
> themselves. Each member's grant is their own — scopes are not
> inherited from the owner.

Custom connectors are available on Free, Pro, Max, Team and Enterprise
plans; a Free account is limited to one at a time. Anthropic's
[connector documentation](https://support.claude.com/en/articles/11175166-about-custom-connectors-remote-mcp)
has the current details if the menu has moved.

## Verify it works [#verify-it-works]

Ask for something read-only first. Claude should answer from live data,
not from memory:

```
List my five most recent invoices with their status.
```

If the answer names real customers, the connection is live.

Note the *my*: reads answer from the work you are assigned to, and the answer
says which view produced it and how many rows sit outside it. Widening to the
whole account is something you ask for, and admins only — see
[Auth and scopes](/developers/mcp/auth).

## Then try a write [#then-try-a-write]

```
Register 12 hours for me on the Bredgade SEO retainer for July.
```

Claude calls `plan_register_work`, shows you what it intends to change,
and waits. Only when you approve does it call `commit`. If it comes back
with a question instead of a plan — which line you meant, whether those
hours replace the total or add to it — answer it; the tool refuses to guess
at anything that would write a wrong number.

Naming a colleague instead of yourself is an admin's move. If you are not
one, the refusal says so and offers you `me`.

## Use the prompts [#use-the-prompts]

The connector ships two prompts, which claude.ai surfaces from the
connector's menu in the chat composer:

* **Set up invoicing from a contract** — paste the terms, get a recurring
  series proposed, with any new products it needs.
* **Monthly close** — walk the occurrences due this period, one approval
  at a time.

Both stop and show you a plan before anything is committed.

## Troubleshooting [#troubleshooting]

* **The connector asks you to sign in again** — an access token lives ten
  minutes and refreshes silently; a refresh token lives thirty days. A
  connection you have not used in over a month will genuinely ask. If it
  asks repeatedly within a session, remove and re-add the connector.
* **Claude says it cannot do something** — it is almost always a missing
  scope, and the tool is not merely blocked but absent, so Claude has no
  way to name what it is missing. Check what you approved in
  [Auth and scopes](/developers/mcp/auth). Re-adding the connector is how
  you grant more; there is no way to widen an existing grant in place.
* **The connector is listed but Claude never uses it** — make sure it is
  enabled for the conversation, and say "using Invoia" once. Claude
  attaches connectors per conversation, not globally.
* **A name matches several rows** — Claude will show you the candidates.
  Answer with the one you meant, or use `ext:your-id`.
* **You want to switch Invoia accounts** — a connector is bound to the
  account you signed in with. Remove it and add it again; the sign-in is
  where the account is chosen.
* **Anything else** — every failure the server returns carries a code and
  a next step, and Claude will usually relay both verbatim. Quote them
  when you ask for help.
