MCP Server

Overview

Superset provides an MCP (Model Context Protocol) server that lets AI agents interact with your tasks, workspaces, and devices programmatically.

Capabilities

CategoryTools
TasksCreate, update, list, get, delete tasks
WorkspacesCreate, update, switch, delete, list, navigate workspaces
DevicesList devices, projects, and app context
OrganizationList members and task statuses
AI SessionsStart autonomous AI agent sessions (Claude, Codex, Gemini, OpenCode, Pi, Copilot, Cursor Agent) and subagents

Setup

CLI Options

terminal
claude mcp add superset --transport http https://api.superset.sh/api/agent/mcp
terminal
codex mcp add superset --url https://api.superset.sh/api/agent/mcp
terminal
gemini mcp add --transport http superset https://api.superset.sh/api/agent/mcp

Run opencode mcp add and follow the interactive prompts:

terminal
opencode mcp add

[2m┌[0m  Add MCP server
[2m│[0m
[2m◇[0m  Location
[2m│[0m  [36mCurrent project[0m
[2m│[0m
[2m◇[0m  Enter MCP server name
[2m│[0m  [36msuperset[0m
[2m│[0m
[2m◇[0m  Select MCP server type
[2m│[0m  [36mRemote[0m
[2m│[0m
[2m◇[0m  Enter MCP server URL
[2m│[0m  [36mhttps://api.superset.sh/api/agent/mcp[0m
[2m│[0m
[2m◇[0m  Does this server require OAuth authentication?
[2m│[0m  [36mYes[0m
[2m│[0m
[2m◇[0m  Do you have a pre-registered client ID?
[2m│[0m  [36mNo[0m
[2m│[0m
[2m└[0m  [32mMCP server added successfully[0m

Manual Configuration

Alternatively, you can manually configure the MCP server for each client:

Add a .mcp.json to your project root. Claude Code auto-discovers this file and handles OAuth authentication.

.mcp.json
{
  "mcpServers": {
    "superset": {
      "type": "http",
      "url": "https://api.superset.sh/api/agent/mcp"
    }
  }
}

Add to your claude_desktop_config.json:

claude_desktop_config.json
{
  "mcpServers": {
    "superset": {
      "type": "http",
      "url": "https://api.superset.sh/api/agent/mcp"
    }
  }
}

Add to .cursor/mcp.json in your project root:

.cursor/mcp.json
{
  "mcpServers": {
    "superset": {
      "url": "https://api.superset.sh/api/agent/mcp"
    }
  }
}

Add to your ~/.codex/config.toml:

config.toml
[mcp_servers.superset]
url = "https://api.superset.sh/api/agent/mcp"

Add to your .gemini/settings.json:

settings.json
{
  "mcpServers": {
    "superset": {
      "httpUrl": "https://api.superset.sh/api/agent/mcp"
    }
  }
}

Add to your opencode.json:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "superset": {
      "type": "remote",
      "url": "https://api.superset.sh/api/agent/mcp"
    }
  }
}

Authentication

The MCP server uses OAuth 2.1. When you first connect, you'll be prompted to authorize the connection in your browser. The token is scoped to your active organization.

API Key Authentication

For headless environments, CI/CD pipelines, or scripts where browser-based OAuth isn't practical, you can authenticate with an API key instead.

Generating an API key:

  1. Open the Superset desktop app
  2. Go to Settings > API Keys
  3. Click Create API Key
  4. Copy the key (it starts with sk_live_)—you won't be able to see it again

Using the API key:

Pass the API key as a Bearer token in the Authorization header:

Authorization: Bearer sk_live_your_api_key_here

MCP clients that support custom headers can use this directly. For Claude Code, set the header in your .mcp.json:

{
  "mcpServers": {
    "superset": {
      "type": "http",
      "url": "https://api.superset.sh/api/agent/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_your_api_key_here"
      }
    }
  }
}

API keys grant full access to your organization. Keep them secret and never commit them to version control. Use environment variables or secrets managers for CI/CD.

When to use which method:

MethodBest for
OAuth 2.1Interactive use — Claude Desktop, Claude Code, Cursor
API KeyHeadless/CI — scripts, automation, pipelines

Available Tools

Task Management

ToolDescription
create_taskCreate one or more tasks (batch up to 25)
update_taskUpdate existing tasks
list_tasksList tasks with filters (status, assignee, priority, labels)
get_taskGet a single task by ID or slug
delete_taskSoft delete tasks
list_task_statusesList available status options

Workspace Management

ToolDescription
create_workspaceCreate a new git worktree workspace
update_workspaceUpdate workspaces (rename)
switch_workspaceSwitch to a different workspace
delete_workspaceDelete a workspace
list_workspacesList all workspaces on a device
get_workspace_detailsGet detailed information about a workspace on a device, including its tabs and panes. Use this to discover pane IDs.

Device & Organization

ToolDescription
list_devicesList online devices in your organization
list_projectsList all projects on a device
get_app_contextGet current app state (active workspace, pathname)
list_membersList organization members

AI Sessions

ToolDescription
start_agent_sessionStart an autonomous AI agent session for a task in an existing workspace. Requires taskId. Supports Claude, Codex, Gemini, OpenCode, Pi, Copilot, Cursor Agent, and Superset Chat (defaults to Claude). When paneId is provided, adds a new pane to the tab containing that pane instead of initializing a new tab.
start_agent_session_with_promptStart an autonomous AI agent session in an existing workspace using a direct prompt instead of a task. Supports Claude, Codex, Gemini, OpenCode, Pi, Copilot, Cursor Agent, and Superset Chat (defaults to Claude). When paneId is provided, adds a new pane to the tab containing that pane instead of initializing a new tab.

Chat Integration

In the built-in chat panel, use the /mcp slash command to see your workspace's configured MCP servers — their names, transport type (local/remote), and current state (enabled/disabled/invalid). This reads from your workspace MCP config (.mastracode/mcp.json or .mcp.json).

Example Usage

Once connected, you can ask your AI agent to:

  • "Create a task for fixing the login bug"
  • "List all my assigned tasks"
  • "Create a new workspace for the auth feature"
  • "Show me who's online in my team"
  • "Start a Claude session on my MacBook to work on the auth task"
  • "Start a Codex session in my auth workspace with the prompt 'fix the failing tests'"
  • "Spin up a subagent to fix the failing tests"

On this page