Connect

Connect Cursor

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

WhatWhat the vendor documents
PlanNo plan requirement is stated on the MCP page.
Who adds the connectorYou, in mcp.json. Teams approve servers in Dashboard › Plugins & MCPs; admins can restrict remote URLs to patterns.
Who connectsEach user authenticates in the client.
AdministrationURL allowlist, tool allowlists for auto-run, and a network denylist.

verified on 2026-10-09: MCP in Cursor · 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.

  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.
  • 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.

  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
{
  "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.

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

Link
cursor://anysphere.cursor-deeplink/mcp/install?name=filmo&config=eyJ1cmwiOiJodHRwczovL2FwcC5maWxtby5pby9hcGkvdjEvbWNwIn0=
WhatWhat the vendor documents
ToolsCursor'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.
OutputA tool output limit: not documented by the vendor.

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.

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.

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

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

  • Introduction

    MCP quickstart

    Connect one assistant, check it with a read tool and choose the scopes it needs.

  • Access

    Authentication and permissions

    Authenticate with an API key in a header, or let the client sign in with OAuth 2.1. Either way the scopes decide which tools exist.

  • Guides

    Safe writes

    An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.

Was this page helpful?