*MCP › Connect*

# Connect Cursor

> Add Filmo to Cursor with OAuth or with an API key read from your environment.

## Before you start

| What | What the vendor documents |
| --- | --- |
| Plan | No plan requirement is stated on the MCP page. |
| Who adds the connector | You, in `mcp.json`. Teams approve servers in Dashboard › Plugins & MCPs; admins can restrict remote URLs to patterns. |
| Who connects | Each user authenticates in the client. |
| Administration | URL allowlist, tool allowlists for auto-run, and a network denylist. |

verified on 2026-10-09: [MCP in Cursor](https://cursor.com/docs/context/mcp) · [Install links](https://cursor.com/docs/context/mcp/install-links)

> **Use exactly this URL:** Type `https://app.filmo.io/api/v1/mcp` exactly. Do not use the Filmo domain of your company or any other host: the OAuth metadata names this origin, and a client that compares it with what you typed rejects a different one.

## Connect with OAuth

1. **Add the server without headers** Put an entry with only `url` in `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (one project). Cursor runs the OAuth flow for servers that need it.
2. **Authenticate** Sign in when Cursor asks, and consent in Filmo.

- `auth.scopes` pins scopes; without it Cursor discovers `scopes_supported` from the authorization server metadata.
- What Cursor does with the `scope` of a 401 challenge: not documented by the vendor.

## The consent screen

- Only the `*:read` scopes the client asked for are checked (every read scope when it asks for none).
- Write scopes, `workflows:run` and `ai:ask` always start unchecked, even if the client asks for them; the ones it asked for carry the label “Requested by the integration”.
- Check by hand only what the assistant needs, and leave `ai:ask` unchecked unless you want it to spend AI credits.

To change the scopes later, remove the connector and add it again.

Before you approve, read [Authentication](https://docs.filmo.io/mcp/authentication#before-you-approve).

## Connect with an API key

1. **Export the key** Set `FILMO_API_KEY` in the environment Cursor starts from.
2. **Reference it** Cursor resolves `${env:NAME}` in `url` and `headers`, so the file holds no value. Prefer `~/.cursor/mcp.json`, which is not part of any repository.

*mcp.json*

```json
{
  "mcpServers": {
    "filmo": {
      "url": "https://app.filmo.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${env:FILMO_API_KEY}"
      }
    }
  }
}
```

> **Keep the key out of the repository:** Never paste an API key into a file that goes to version control. The examples read it from the environment or ask for it; if one leaks, revoke it and create another.

## One-click install

The link installs the OAuth entry (no key in it). Cursor builds it from the server configuration, base64-encoded.

*Link*

```text
cursor://anysphere.cursor-deeplink/mcp/install?name=filmo&config=eyJ1cmwiOiJodHRwczovL2FwcC5maWxtby5pby9hcGkvdjEvbWNwIn0=
```

## Limits of this client

| What | What the vendor documents |
| --- | --- |
| Tools | Cursor's staff say in forum threads that it sends about 40 tools in total across servers; this is not in the official documentation, so choose a preset and switch tools off in the MCP settings. |
| Output | A tool output limit: not documented by the vendor. |

## Recommended preset

Availability and schedule (read) (20): `availability:read`, `schedule:read`, `planner:read`, `staff:read`, `vehicles:read`, `items:read`, `spaces:read`, `kits:read`, `account:read`. About 40 tools is the soft ceiling: pick a preset of 20 to 30.

Every preset and its size are in [Limits and context](https://docs.filmo.io/mcp/guides/limits-and-context).

## What to put on “ask before running”

Cursor asks for approval before using MCP tools by default; admins can allowlist tools to auto-run.

The tools that must ask for approval are in [Safe writes](https://docs.filmo.io/mcp/guides/safe-writes#requires-confirmation).

- Any use of `readOnlyHint` or `destructiveHint` for approval: not documented by the vendor.

## Check the connection

Ask the assistant: “Which Filmo account am I connected to?” It should call `filmo_account_get`, a read tool that returns no personal data.

---

Canonical URL: https://docs.filmo.io/mcp/connect/cursor  
Last updated: 2026-10-25