SupaNet
Building on SupaNet

MCP server

Let an external Claude build things in your SupaNet workspace.

SupaNet ships an MCP server - a JSON-RPC-over-HTTP endpoint that an external Claude can connect to. This is the door that lets a tool on your own machine push agents, tools, skills, webhooks, and artifacts into your workspace, where they show up in the dashboard.

How auth works

The MCP server itself does not require a JWT, but every action is authenticated by a per-user token (mcp_tokens). You generate one in Settings → Connect Claude. Every action the external Claude takes runs as the token's owner, so it is bound by the same RLS rules as that user.

Connecting

The two common clients connect differently, and each supports two auth methods:

Static token (Settings → Connect Claude)

  • Claude Code connects directly over HTTP:

    claude mcp add --transport http <name> <url> --header "Authorization: Bearer <token>"
  • Claude Desktop launches MCP servers as local processes, so it connects through the mcp-remote bridge configured in claude_desktop_config.json.

Settings → Connect Claude emits both snippets for you. (The desktop snippet splits the auth header via an env var to dodge a known mcp-remote bug with spaces in headers.)

OAuth (Claude's "Add custom connector" dialog)

Both Claude Code and Claude Desktop can also use OAuth 2.1 — paste the MCP URL into the Connectors dialog and click Approve. This is simpler for one-off connections and allows workspace members to authenticate with their own credentials. See MCP OAuth connector for details.

What it exposes

The server exposes build and content tools so an outside Claude can populate your workspace. These are the same tools the internal chat assistant, scheduler, and webhook agents can access:

  • list_agents / create_agent / update_agent — list, create, and update agents
  • list_tools / create_http_tool — discover tools and create custom HTTP tools (admin-only)
  • create_webhook — create webhooks
  • list_skills / get_skill / create_skill / update_skill / delete_skill — manage skills and prompts (create always-on prompts as admin only)
  • create_artifact / list_artifacts / get_artifact / list_collections / create_collection / add_to_collection / add_note (content-authoring tools)
  • create_file / list_files / get_file / delete_file / add_file_to_collection (file tools for persisting generated output - images, PDFs, text files)
  • list_tables / create_table / add_table_row / update_table_row (table tools for managing data tables programmatically)
  • create_agent_job / get_agent_job / list_agent_jobs / cancel_agent_job (capability worker tools for queuing and monitoring Office/media jobs)

External MCP tools

Connected external MCP servers (e.g. Playwright for browser automation) are also exposed in tools/list with unified namespacing (e.g. playwright__browser_navigate). This means external AI gets both the workspace's build tools and any browser/integration tools at a single endpoint. See Playwright (browser automation) over MCP for details.

Looping system

It also exposes the looping system so you can create and run goal-directed loops from an external Claude:

  • create_loop — create a reusable loop (a goal + rubric + agent + feedback tool).
  • run_loop — start a run of an existing loop.
  • get_loop_run — check on a running or finished loop run.
  • list_loops — list the loops you can run.

In practice this means you can sit in Claude on your laptop, describe an agent or a tool, and have it appear in SupaNet ready to use. You can also kick off goal-directed runs with feedback and monitor them until they finish.

The artifact angle

create_artifact is the tool that matters for documentation. An external Claude can push HTML straight into the artifacts table and get back the same public URL the in-app editor produces - which is exactly how you can publish a page (or these docs) into SupaNet from the outside. See Teach SupaNet about itself.

On this page