MCP Server

Connect AI agents directly to Superset via MCP

The Superset MCP server lives at https://api.superset.sh/mcp. The versioned URL (/api/v2/agent/mcp) keeps working for existing configurations; the legacy v1 server (/api/agent/mcp) has been removed and returns 410 Gone.

Overview

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

Capabilities

CategoryOperations
Taskslist, get (by id or slug), create, update, delete, list statuses
Workspaceslist (per host), create on a host, update, delete
Agentslist agents on a host, launch an agent session in a workspace
Terminalscreate in a workspace, list, send input, read screen, close
Automationslist, get metadata, get/set prompt body, create, update metadata, pause, resume, run on demand, list runs, delete
Projectslist projects on a host
Hostslist hosts (registered machines) you have access to
Organizationlist members

Setup

CLI Options

terminal
claude mcp add superset --transport http https://api.superset.sh/mcp

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/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/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

Tasks

ToolDescription
tasks_listList tasks with optional filters (status, priority, assignee, free-text search)
tasks_getGet one task by UUID or slug
tasks_createCreate a task in the active organization
tasks_updateUpdate fields on an existing task
tasks_deleteSoft-delete a task by UUID
tasks_statuses_listList the organization's task statuses (for tasks_create/tasks_update statusId)

Workspaces

ToolDescription
workspaces_listList workspaces on a host (get the hostId from hosts_list)
workspaces_createCreate a workspace on a host (branch-scoped git worktree)
workspaces_updateUpdate fields on a workspace on its host
workspaces_deleteDelete a workspace by UUID on its host

Agents

ToolDescription
agents_listList agents configured on a host
agents_createCreate (launch) an agent session in an existing workspace

Terminals

ToolDescription
terminals_createCreate a terminal session in a workspace, optionally running a command
terminals_listList terminal sessions in a workspace
terminals_sendWrite text into a running terminal (presses Enter by default)
terminals_readRead the terminal screen as plain text (current screen plus recent scrollback)
terminals_closeClose a terminal session and kill its process

Automations

ToolDescription
automations_listList automations the calling user owns
automations_getGet one automation's metadata (prompt body omitted)
automations_get_promptFetch the full markdown prompt for one automation
automations_createSchedule a recurring agent run with an RFC 5545 RRULE
automations_updateUpdate metadata (name, schedule, agent, host); use automations_set_prompt to change the prompt
automations_set_promptReplace the full markdown prompt body
automations_pausePause an automation (schedule stops firing)
automations_resumeResume a paused automation
automations_runDispatch an automation immediately, outside its schedule
automations_logsList recent runs for an automation
automations_deleteDelete an automation

Projects

ToolDescription
projects_listList projects (checked-out repos) on a host (get the hostId from hosts_list)

Hosts

ToolDescription
hosts_listList the hosts (registered machines) you have access to

Organization

ToolDescription
organization_members_listList members of the active organization

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, .amp/settings.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 workspace for the auth feature on my MacBook"
  • "Schedule a daily automation that triages new Linear issues at 9am"
  • "Pause the nightly cleanup automation"
  • "Show me the last 10 runs of my Linear triage automation"

On this page