MCP setup

Variant MCP setup guide

Use this guide when you want an AI agent to work directly with Variant decks. The setup is one hosted endpoint, one auth flow, and a safe first test.

Use https://mcp.variant.art/mcp with HTTP transport. Start with read-only access, then add write, preview, and export scopes only when the client needs them.

#Endpoint and transport

Variant MCP is hosted. Do not configure it as a local command. Use HTTP transport and the hosted endpoint.

Endpoint
https://mcp.variant.art/mcp

#OAuth config

For interactive clients, omit headers and let the client discover the OAuth flow from the server.

OAuth config
{
  "mcpServers": {
    "variant": {
      "transport": "http",
      "url": "https://mcp.variant.art/mcp"
    }
  }
}

#Bearer-token config

For headless clients, generate a token in Variant and pass it as an Authorization header. Treat it like any other secret.

Token config
{
  "mcpServers": {
    "variant": {
      "transport": "http",
      "url": "https://mcp.variant.art/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_VARIANT_MCP_TOKEN"
      }
    }
  }
}

#Safe first prompt

Before you grant write access, test the connection with a read-only workflow that proves auth, deck listing, slide reading, and preview rendering.

Prompt
Connect to Variant, list my decks, choose the most recently updated deck,
list its slides, and preview slide 1. Do not edit anything.

#Scope planning

Separate review, editing, and export automation. A read-only review client should not share the same credential as a client that can replace slides and export decks.

  • deck:read
  • deck:write
  • slide:replace
  • slide:preview
  • export:run

#Common questions

Which MCP transport does Variant use?

HTTP. Variant MCP is hosted at https://mcp.variant.art/mcp.

Should I use OAuth or a bearer token?

Use OAuth for interactive clients. Use bearer tokens for headless clients, CI, or remote environments that cannot open a browser.

What should I test first?

List decks, list slides, read one slide, and preview it. That proves the connection works before write access is used.