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-remotebridge configured inclaude_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 agentslist_tools/create_http_tool— discover tools and create custom HTTP tools (admin-only)create_webhook— create webhookslist_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.