Connecting Your AI Tool

Chat Assistants - Claude and ChatGPT

Labs MCP is a standard remote MCP server (Streamable HTTP) - if your AI tool speaks MCP, it can connect. In every client, all you need is the connector URL:

https://labs.iximiuz.com/mcp

This unit covers the two most popular chat assistants; for Claude Code, Codex, Cursor, and friends, see the next unit.

Claude

Works on claude.ai, the desktop apps, and mobile.

  1. Open Settings → Connectors.
  2. Click Add custom connector.
  3. Paste the connector URL (https://labs.iximiuz.com/mcp) and confirm.
  4. Approve access on the iximiuz Labs consent screen.

ChatGPT

Works on chatgpt.com, the desktop apps, and mobile.

  1. Enable developer mode: Settings → Apps & Connectors → Advanced settings.
  2. Back in Apps & Connectors, click Create (custom connector).
  3. Paste the connector URL (https://labs.iximiuz.com/mcp) as the MCP server URL and save.
  4. Sign in to iximiuz Labs when prompted and approve access.
Note

Custom connectors require a paid ChatGPT plan.

What happens on the first use

Searching and reading the public Labs catalog works right away, even without signing in. The first time your assistant tries a protected action (starting a playground, running a command, etc.), you'll be taken to a consent screen listing exactly which permissions are requested - and you decide which ones to grant. See Scopes and Tools for the details.

Coding Agents and IDEs

All coding agents and IDEs point at the same connector URL - https://labs.iximiuz.com/mcp - they differ only in where the configuration goes. Below are the snippets for the most popular ones (using ixlabs as the server name, but you can pick any).

Tip

Running the agent inside a remote VM, a container, or CI? The OAuth flow may not be able to complete there - see the next unit for the access-token alternative.

Claude Code
Codex
OpenCode
Copilot
Cursor
Gemini
Antigravity
Devin
Warp
Zed
claude mcp add --transport http ixlabs https://labs.iximiuz.com/mcp

Then run /mcp inside Claude Code and choose Authenticate.

codex mcp add ixlabs --url https://labs.iximiuz.com/mcp
opencode mcp add ixlabs --url https://labs.iximiuz.com/mcp
Important

Known issue: OpenCode's OAuth support doesn't work with Labs MCP yet. opencode mcp auth reports "Authentication successful!" without ever opening a browser, and protected tool calls then fail with an authorization error. The cause is on the OpenCode side: it starts the OAuth flow only if the very first initialize request is rejected with a 401, but Labs MCP (like any lazy-auth MCP server) accepts it anonymously, and OpenCode never looks at the protected-resource metadata the server advertises. Until this is fixed upstream, use an access token instead.

GitHub Copilot in VS Code - add to settings.json:

{
  "mcp": {
    "servers": {
      "ixlabs": {
        "type": "http",
        "url": "https://labs.iximiuz.com/mcp"
      }
    }
  }
}

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ixlabs": {
      "url": "https://labs.iximiuz.com/mcp"
    }
  }
}

Gemini CLI - add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "ixlabs": {
      "httpUrl": "https://labs.iximiuz.com/mcp"
    }
  }
}

Add to mcp_config.json:

{
  "mcpServers": {
    "ixlabs": {
      "serverUrl": "https://labs.iximiuz.com/mcp"
    }
  }
}

Add to the MCP configuration:

{
  "mcpServers": {
    "ixlabs": {
      "transport": "HTTP",
      "url": "https://labs.iximiuz.com/mcp"
    }
  }
}

Add to the MCP configuration:

{
  "ixlabs": {
    "serverUrl": "https://labs.iximiuz.com/mcp"
  }
}

Add to settings.json:

{
  "context_servers": {
    "ixlabs": {
      "url": "https://labs.iximiuz.com/mcp"
    }
  }
}

On the first protected tool call, the agent will send you through the OAuth flow - a browser page opens with the iximiuz Labs consent screen, where you approve (or narrow) the requested permissions. You can revoke the access at any time under Account → Connected apps.

Tip

Running an agent with broad autonomy? Consider granting only the playground:* scopes - the agent gets its VMs but cannot touch your learning progress, account settings, or author profile. More on this in Scopes and Tools.

Access Tokens

OAuth is the default (and recommended) way to authorize an AI tool, but it doesn't work everywhere. Many coding agents complete the flow by redirecting the browser to http://localhost:<port>/callback, where the agent itself is expected to listen. That breaks when the agent runs on a remote VM or in a container (the browser lands on the "wrong" localhost) and in CI or other headless environments (there may be no browser at all). Some clients also simply don't implement OAuth correctly yet (see the OpenCode note).

For these cases, Labs MCP supports pre-issued access tokens (a.k.a. personal access tokens): you mint a token once and pass it to the client as a plain Authorization: Bearer <token> header. The server treats it exactly like an OAuth-minted token - it's limited to the scopes you chose at creation time and can be revoked at any time.

Getting a token

Go to Account → Connected apps → Create access token, choose a name, the scopes the token should get, and its lifetime, then copy the token - it's shown only once.

Important

Access tokens have no refresh token and expire after the chosen lifetime (1 to 365 days). When a token expires, mint a new one. A single account can hold at most 20 active tokens.

Using a token

Claude Code
Codex
OpenCode
Copilot
Cursor
Gemini
claude mcp add --transport http ixlabs https://labs.iximiuz.com/mcp \
  --header "Authorization: Bearer <token>"
export IXLABS_TOKEN=<token>
codex mcp add ixlabs --url https://labs.iximiuz.com/mcp --bearer-token-env-var IXLABS_TOKEN

Codex stores the variable name, not the token - export IXLABS_TOKEN wherever Codex runs.

Add to opencode.json:

{
  "mcp": {
    "ixlabs": {
      "type": "remote",
      "url": "https://labs.iximiuz.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

GitHub Copilot in VS Code - add to settings.json:

{
  "mcp": {
    "servers": {
      "ixlabs": {
        "type": "http",
        "url": "https://labs.iximiuz.com/mcp",
        "headers": {
          "Authorization": "Bearer <token>"
        }
      }
    }
  }
}

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ixlabs": {
      "url": "https://labs.iximiuz.com/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

Gemini CLI - add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "ixlabs": {
      "httpUrl": "https://labs.iximiuz.com/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

For other clients, add an Authorization: Bearer <token> header to the server configuration - check your client's docs for the exact key.

Caution

A token is a secret: anyone who has it can act on your behalf within its scopes. Prefer narrow scopes (e.g., only playground:* for an autonomous agent) and short lifetimes, and revoke tokens you no longer need under Account → Connected apps.