# Connecting the MCP server

> How to connect the Slicer MCP server to Claude, Claude Code, Cursor, VS Code, Codex, ChatGPT, Windsurf and other clients — via OAuth or an API token.

Source: https://docs.slicer.media/en/mcp/connect/

There is one server for all clients:

| Parameter | Value |
| --- | --- |
| URL | `https://api.slicer.media/mcp` |
| Transport | Streamable HTTP (in client settings — "HTTP", `http` or `streamable-http`) |
| Name | `slicer` (any name works — it's what the server is called in the client) |
| Sign-in | OAuth — the browser opens Slicer sign-in and a consent screen; or an `Authorization: Bearer slc_…` header |

**OAuth** is more convenient: you don't create a token by hand, and you choose access and the spend limit on the consent screen. An **API token** suits clients that run without a browser (servers, CI) or when you want to manage access yourself — create one in **Profile** → **Developers** ([Tokens and scopes](https://docs.slicer.media/en/api/authentication/)).

Choose your client:

**Claude**

Custom connectors work in Claude on the web, in the desktop app and in the mobile apps on every plan; the free plan allows one custom connector.

### 1. Add a connector

Open **Customize → Connectors** (in the desktop app — **Customize** in the sidebar, then **Connectors**), click **\+ Add** → **Add custom connector**. Enter the name `Slicer` and the URL `https://api.slicer.media/mcp`, then click **Continue**.

### 2. Choose how to sign in

Under **Authentication** choose **Sign in now**, under **OAuth client** — **Use Claude's published identity (Recommended)**. Click **Add**.

### 3. Allow access in Slicer

A Slicer window opens: sign in, check the access and the spend limit, and click **Allow**. The connector is ready — turn it on in a chat and ask for a video.

**Team and Enterprise.** An owner adds the connector for the whole organization: **Organization settings → Connectors → Add** → **Custom** → **Web**, then the same steps. Members find it in **Customize → Connectors** with the "Custom" label and click **Connect** — everyone signs in to their own Slicer account.

**Mobile apps.** A connector added on the web or in the desktop app also shows up in the Claude mobile app.

Signing in with an API token header isn't available to every organization in Claude — use OAuth.

**Claude Code**

Add the server and sign in through the browser:

Terminal:

```bash
claude mcp add --transport http slicer https://api.slicer.media/mcp
```

Then run `/mcp` in Claude Code, select `slicer` and complete sign-in in the browser — or straight from the terminal: `claude mcp login slicer`. The server is added to the current project; to have it in every project, add `--scope user`.

**With an API token** — when browser sign-in isn't possible:

Terminal:

```bash
claude mcp add --transport http slicer https://api.slicer.media/mcp \
  --header "Authorization: Bearer $SLICER_TOKEN"
```

To keep the token out of the settings in plain text and share the server with your team, describe it in `.mcp.json` at the project root — Claude Code substitutes the environment variable at startup:

.mcp.json:

```json
{
  "mcpServers": {
    "slicer": {
      "type": "http",
      "url": "https://api.slicer.media/mcp",
      "headers": { "Authorization": "Bearer ${SLICER_TOKEN}" }
    }
  }
}
```

> **Note.** If an `Authorization` header is set and the token is revoked or expired, Claude Code won't switch to OAuth on its own — it reports a connection error. Update the token or remove the header.

Claude Code can run terminal commands, so it uploads your local files through the `create_upload_link` link (`curl -T`) by itself.

**Cursor**

Add the server to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (one project):

~/.cursor/mcp.json:

```json
{
  "mcpServers": {
    "slicer": {
      "url": "https://api.slicer.media/mcp"
    }
  }
}
```

Save the file and restart Cursor. The first time the server is used, Cursor offers to sign in — a browser opens with Slicer sign-in and the consent screen. You can turn the server on and off in **Customize → MCPs**.

**With an API token** — Cursor substitutes the environment variable:

~/.cursor/mcp.json:

```json
{
  "mcpServers": {
    "slicer": {
      "url": "https://api.slicer.media/mcp",
      "headers": { "Authorization": "Bearer ${env:SLICER_TOKEN}" }
    }
  }
}
```

**VS Code**

MCP servers in VS Code work in GitHub Copilot's agent mode.

### 1. Add the server

Open the Command Palette and run **MCP: Add Server** → **HTTP**, enter `https://api.slicer.media/mcp` and the name `slicer`, then choose where to save it: for all projects or for the current folder.

### 2. Sign in

On the first connection VS Code opens a browser: sign in to Slicer and allow access. Sign-in status is in the **Accounts** menu.

**With an API token.** Run **MCP: Open User Configuration** and add the server with a token prompt — VS Code asks for it once and keeps it in secure storage:

mcp.json:

```json
{
  "inputs": [
    { "type": "promptString", "id": "slicer-token", "description": "Slicer API token", "password": true }
  ],
  "servers": {
    "slicer": {
      "type": "http",
      "url": "https://api.slicer.media/mcp",
      "headers": { "Authorization": "Bearer ${input:slicer-token}" }
    }
  }
}
```

In organizations on Copilot Business and Enterprise, an administrator enables MCP servers (the "MCP servers in Copilot" policy).

**Codex**

Add the server and sign in through the browser:

Terminal:

```bash
codex mcp add slicer --url https://api.slicer.media/mcp
codex mcp login slicer
```

**With an API token** — Codex reads it from an environment variable:

Terminal:

```bash
codex mcp add slicer --url https://api.slicer.media/mcp --bearer-token-env-var SLICER_TOKEN
```

The same in the settings file `~/.codex/config.toml`:

~/.codex/config.toml:

```toml
[mcp_servers.slicer]
url = "https://api.slicer.media/mcp"
bearer_token_env_var = "SLICER_TOKEN"
```

These settings are shared by Codex in the terminal, the IDE extension and the ChatGPT desktop app. In the IDE extension you can also add the server from the menu: gear → **MCP servers** → **Add server**. List servers with `codex mcp list` or `/mcp` in Codex.

**ChatGPT**

ChatGPT connects custom MCP servers on chatgpt.com, and sign-in is OAuth only (ChatGPT doesn't support a token header).

### 1. Create a plugin

Open [chatgpt.com/plugins](https://chatgpt.com/plugins), click **+** → **Add custom MCP server**. Enter the name `Slicer` and a description; under **Connection** set **Server URL** to `https://api.slicer.media/mcp` and sign-in to **OAuth**.

### 2. Confirm and install

Click **I understand and want to continue** → **Create as a plugin**, then install the plugin and sign in to Slicer in the window that opens.

### 3. Use it in a chat

Mention the plugin with `@` and describe the task.

Adding custom MCP servers isn't available on every ChatGPT plan, and in organization workspaces it's usually done by admins. See OpenAI's help center for current terms.

**Others**

**Windsurf (Devin Desktop).** Open the MCP config file: in the Cascade panel, menu **…** → **Open MCP config file**, and add the server:

mcp_config.json:

```json
{
  "mcpServers": {
    "slicer": {
      "serverUrl": "https://api.slicer.media/mcp"
    }
  }
}
```

Sign-in is OAuth in the browser; with a token, add `"headers": { "Authorization": "Bearer ${env:SLICER_TOKEN}" }`.

**Any other client** that supports remote MCP servers connects with the common parameters from the table above. If the client supports OAuth, the URL is enough: a request without a token gets a `401` pointing to the sign-in description, and the client finds the authorization server by itself ([Signing in: OAuth and tokens](https://docs.slicer.media/en/mcp/authentication/)). If it doesn't, pass the `Authorization: Bearer slc_…` header.

**Testing without AI.** MCP Inspector shows the server's tools and lets you call them by hand (requires Node.js 22.19+):

Terminal:

```bash
npx @modelcontextprotocol/inspector --server-url https://api.slicer.media/mcp --transport http
```

The tool list from the command line, with a token:

Terminal:

```bash
npx @modelcontextprotocol/inspector --cli https://api.slicer.media/mcp --transport http \
  --header "Authorization: Bearer $SLICER_TOKEN" --method tools/list
```

## Check the connection

Ask the assistant:

> How many tokens do I have in Slicer? And show me my latest projects.

The assistant calls `get_account` and `list_projects` and answers with your balance and a list of projects. Then you can ask it to build a video — editing by your assistant is free ([Example scenarios](https://docs.slicer.media/en/mcp/examples/)). If the client reports a sign-in error, sign in again (in Claude Code — `/mcp`, in Codex — `codex mcp login slicer`) or check the token: not revoked, not expired.

## How to disconnect

-   **OAuth connection** — **Profile** → **Developers** → **Connected apps** → **Disconnect**. The client loses access immediately.
-   **API token** — in the token list on the same screen, **Revoke**.
-   In the client itself — remove the server in its MCP settings (in Claude Code — `claude mcp remove slicer`).

## What's next

[Signing in: OAuth and tokensThe consent screen, access, token lifetimes.](https://docs.slicer.media/en/mcp/authentication/)[Example scenariosWhat to ask the agent.](https://docs.slicer.media/en/mcp/examples/)[Security and costsHow the agent confirms the price.](https://docs.slicer.media/en/mcp/costs/)
