*MCP › Connect*

# Connect VS Code

> Add Filmo to VS Code (GitHub Copilot agent mode) with OAuth or with an API key it asks for.

## Before you start

| What | What the vendor documents |
| --- | --- |
| Plan | Which Copilot plans can use MCP servers in VS Code: not documented by the vendor. |
| Who adds the connector | You, with MCP: Add Server. In Copilot Business and Enterprise an organization policy (“MCP servers in Copilot”, off by default) governs access. |
| Who connects | Each user authenticates in VS Code. |
| Administration | VS Code policies: `chat.mcp.access`, allow and deny lists, managed servers only. |

verified on 2026-10-09: [MCP servers in VS Code](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) · [MCP configuration reference](https://code.visualstudio.com/docs/copilot/reference/mcp-configuration)

> **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** Run MCP: Add Server from the Command Palette and choose a destination, or add the entry to `.vscode/mcp.json`: `type` `http` and `url`, no headers.
2. **Authenticate** VS Code opens the browser for OAuth. Consent in Filmo as an administrator.

- VS Code tries dynamic client registration and, when the server supports client metadata documents, uses them instead.
- It supports scope step-up from a `WWW-Authenticate` challenge; Filmo reports a missing scope as a tool error, so there is no step-up here.
- Redirects it uses: `http://127.0.0.1:33418` and `https://vscode.dev/redirect`.

## 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. **Declare an input** The `inputs` entry with `password: true` makes VS Code ask for the key the first time the server starts and hide what you type.
2. **Reference it** The header uses `${input:filmo-api-key}`; the file never holds the value.

*.vscode/mcp.json*

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "filmo-api-key",
      "description": "Filmo API key",
      "password": true
    }
  ],
  "servers": {
    "filmo": {
      "type": "http",
      "url": "https://app.filmo.io/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${input: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): the server configuration as JSON, URL-encoded.

*Link*

```text
vscode:mcp/install?%7B%22name%22%3A%22filmo%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A//app.filmo.io/api/v1/mcp%22%7D
```

## Limits of this client

| What | What the vendor documents |
| --- | --- |
| Tools | A chat request can have at most 128 tools enabled; above that deselect tools, or enable virtual tools with `github.copilot.chat.virtualTools.threshold`. |
| 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`. Stay well under 128 tools with other servers enabled.

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”

VS Code asks before running a tool, except tools annotated `readOnlyHint`. Enabling a tool does not bypass the approval controls.

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

- Because VS Code does not ask for tools annotated read-only, `filmo_ai_ask` is annotated as not read-only: it spends AI credits.

## 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/vscode  
Last updated: 2026-10-25