---
title: "AI assistants (MCP)"
description: "Connect Claude, Cursor or any MCP client to your workspace, and let it build a custom with you."
slug: "en/developers/ai-assistants"
url: "https://docs.custom.one/en/developers/ai-assistants/"
capability: "integrations"
published_at: "2026-10-26T04:39:46.282Z"
---
An AI assistant can work in your workspace directly: create a custom from a
template, write its questions, build its **Video background** page, plan the clips you will
film, set up webhooks, import your contacts, and tell you exactly what is left
before it can go live.

It connects through **MCP** (Model Context Protocol), the standard assistants use
to talk to outside tools. You do not need to install anything.

## What it can and cannot do

It works through the public API and can do nothing the API cannot — the same
permissions, the same limits.

The one thing no assistant can do is **film your clips**. It can plan them —
which clips exist, when each one plays, and the words to read in each — but the
filming needs your camera, and it is where it will hand back to you, with a link
to the recording room.

It will ask before planning your clips. Which ones to record is a decision about
your own voice on camera, so it builds the list you describe rather than one it
chose for you. If you would rather it proposed one, ask it to.

Check what is ticked before you grant it. On the Authorize page, everything the
assistant asks for is ticked except **deleting a custom** — including
**publishing** and **generating result videos** (which are billed). On a key,
the starting set includes publishing but not video generation or deleting.

## Connect it

### Claude, ChatGPT and other hosted assistants

In your assistant's settings, look for **Connectors** (sometimes *Custom
connectors* or *Integrations*), add one, and paste:

```
https://api.custom.one/mcp
```

Your assistant will send you to a Custom One page listing what it is asking for
and which workspace it would work in. Choose the workspace, untick anything you
would rather not grant, click **Authorize**, and you are connected. No key to
copy anywhere.

Only an owner or an admin of that workspace can authorize a connection.

:::note
Custom connectors are usually a paid-plan feature of the assistant itself. If you
cannot find the setting, check your plan there before suspecting Custom One.
:::

### Cursor, VS Code and other file-configured tools

These read a config file instead of offering a button. Create a key in
**Integrations → AI assistants**, under *Using Cursor, VS Code or another tool
configured by file?*, then add:

```json
{
  "mcpServers": {
    "customone": {
      "url": "https://api.custom.one/mcp",
      "headers": { "Authorization": "Bearer co_live_your_key_here" }
    }
  }
}
```

Copy the key Custom One shows you, but use this block rather than the one shown
next to it: that one does not work yet. Restart the tool afterwards — it only reads that file
at startup.

:::caution
Exporting the key as an environment variable in a terminal does **not** work for
a desktop application: it never sees your shell. The key has to be in the config
file itself.
:::

## What to ask it

Start with something whole rather than a single step. It reads what is there
before changing anything, and tells you where it stopped:

> Create a custom from a template for a personal trainer, write the questions,
> build the video background, and tell me what is left before I can publish.

Useful things to say:

- *"What is missing before this can go live?"* — it checks without changing anything
- *"Import these contacts"* — they arrive as pending rows; nothing is sent and
  nothing is billed until you submit them
- *"Build the video background"* — it writes the page that appears in each
  lead's video, and gives you a link to see how it looks for one set of answers,
  before anyone has filled the quiz
- *"Write the scripts for my clips"* — so you have words to read on camera
  instead of empty slots

## Approving what costs money

Most assistants ask before each action, and let you set that per tool — always
allow, ask every time, or never. Three of ours are worth setting deliberately:

| Tool | What it does | Suggested |
|---|---|---|
| `create_lead` | Adds someone. Never billed. | Always allow |
| `create_lead_with_video` | Adds someone **and renders their video**. Billed. | Ask every time |
| `delete_custom` | Moves a custom to the trash. Recoverable. | Ask every time |

They are separate tools precisely so you can make that choice. A single "create
a lead" tool with a hidden option would have meant approving the cheap thing and
the expensive thing under one name.

You can change these in your assistant's settings at any time, without
reconnecting.

## Revoke access

**Integrations → AI assistants** lists, under **Connected assistants**, the
assistants that have used your workspace recently, each with **Revoke**. An
assistant you have not used for an hour may not be listed until it next
connects. Owners and admins see this list. A tool connected with a key is cut off by revoking its
key, on the same tab.
Revoking takes effect immediately: the assistant stops being able to do anything
on the next request, without waiting for anything to expire.

Revoke and reconnect whenever you want to change what an assistant may do —
permissions are fixed when you grant them, on purpose. An assistant whose
permissions could widen quietly is one you can no longer reason about.