# Agents

> Install what the harness expects, one key from the dashboard, and the agent deploys on its own, including agents with no shell.

Point your agent's harness at one MCP URL, let it run the OAuth consent, and it can publish to a live URL. Nothing is built until you paste a prompt of your own.

Connect from Claude Code:

```
claude mcp add --transport http super-artifacts \
  https://api.superart.page/mcp
```

Consent names the account it would publish to; the key is scoped to publish under one handle and revocable from your dashboard.

## Two doors, both of them standard

A harness that speaks MCP connects over OAuth: the harness offers a Connect button, your browser opens a consent page naming the account it would publish to, and the key it holds is revocable from your roster.

Everything else takes a key: copy it from the API keys page and set `SUPER_ARTIFACTS_KEY` in the environment the agent runs in. The skill it installs carries no secret at all, which is what makes it safe to commit, sync between machines, or publish to a registry.

OAuth discovery for a client that wants to read it: authorization server metadata at https://superartifacts.app/.well-known/oauth-authorization-server, protected resource metadata at https://api.superart.page/.well-known/oauth-protected-resource.

## One connect path per harness

Each harness has its own path, because each persists instructions and keys its own way. Where the connect step is a single command, it is shown; where it is a configuration block, the harness's MCP settings take the URL `https://api.superart.page/mcp`.

- **Claude Code** (Anthropic): `claude mcp add --transport http super-artifacts https://api.superart.page/mcp`
- **Claude Desktop & claude.ai** (Anthropic): set it up in its MCP settings, with the URL `https://api.superart.page/mcp`.
- **ChatGPT** (OpenAI): set it up in its MCP settings, with the URL `https://api.superart.page/mcp`.
- **Codex** (OpenAI): `codex mcp add super-artifacts --url https://api.superart.page/mcp`
- **Hermes** (Nous Research): set it up in its MCP settings, with the URL `https://api.superart.page/mcp`.
- **OpenClaw** (Open source): `openclaw mcp set super-artifacts '{"url":"https://api.superart.page/mcp","transport":"streamable-http","auth":"oauth"}'`
- **Cursor** (Anysphere): `{"mcpServers":{"super-artifacts":{"url":"https://api.superart.page/mcp"}}}`
- **GitHub Copilot** (GitHub): `copilot mcp add --transport http super-artifacts https://api.superart.page/mcp`
- **Gemini CLI** (Google): `{"mcpServers":{"super-artifacts":{"httpUrl":"https://api.superart.page/mcp"}}}`
- **Windsurf** (Cognition): `{"mcpServers":{"super-artifacts":{"serverUrl":"https://api.superart.page/mcp"}}}`
- **Zed** (Zed Industries): `{"context_servers":{"super-artifacts":{"url":"https://api.superart.page/mcp"}}}`
- **Devin** (Cognition): `devin mcp add super-artifacts https://api.superart.page/mcp`
- **Grok Build** (xAI): `grok mcp add --transport http super-artifacts https://api.superart.page/mcp`
- **Antigravity** (Google): `{"mcpServers":{"super-artifacts":{"serverUrl":"https://api.superart.page/mcp"}}}`
- **OpenCode** (SST): `{"mcp":{"super-artifacts":{"type":"remote","url":"https://api.superart.page/mcp","oauth":{}}}}`
- **Goose** (Block): set it up in its MCP settings, with the URL `https://api.superart.page/mcp`.
- **Cline** (Cline): `<your key>`
- **Amp** (Sourcegraph): `amp mcp remote add super-artifacts https://api.superart.page/mcp --auth oauth --personal`
- **Kiro** (AWS): `{"mcpServers":{"super-artifacts":{"url":"https://api.superart.page/mcp"}}}`
- **Junie** (JetBrains): `{"mcpServers":{"super-artifacts":{"url":"https://api.superart.page/mcp"}}}`
- **Warp** (Warp): `{"super-artifacts":{"url":"https://api.superart.page/mcp"}}`
- **Qwen Code** (Alibaba): `{"mcpServers":{"super-artifacts":{"httpUrl":"https://api.superart.page/mcp"}}}`
- **Kilo Code** (Kilo Code): `{"mcp":{"super-artifacts":{"type":"remote","url":"https://api.superart.page/mcp"}}}`
- **Manus** (Manus): set it up in its MCP settings, with the URL `https://api.superart.page/mcp`.

## A skill it keeps, and guidance it fetches

The skill at https://superartifacts.app/skill/SKILL.md carries no secret at all; it reads the key from the environment.

## Including agents with no shell

A hosted chat assistant cannot make an arbitrary HTTP request; it reaches external tools through a connector. So there is an MCP endpoint that wraps the same deploy call, authenticated by the same revocable deploy key, and the endpoint speaks OAuth itself, so the client's Connect button does the whole handshake.

Reading collected data back over MCP is built: `super_data` returns an artifact's rows, and `super_data_query` returns totals and distributions. See [MCP](https://superartifacts.app/docs/mcp.md).

## The rest of it

- [Deploy](https://superartifacts.app/features/deploy.md): One request turns a folder of files into a URL somebody can open on a phone. No build step, no bundler, no configuration.
- [Versions](https://superartifacts.app/features/versions.md): Publishing moves a pointer at an immutable version. Rolling back and rolling forward are the same operation.
- [Access](https://superartifacts.app/features/access.md): Artifacts are private by default. Sharing is an explicit grant, enforced by a signature the serving worker verifies.
- [Analytics](https://superartifacts.app/features/analytics.md): Whether anyone read an artifact, on what, and whether it threw an error while they did. The visitor address is never stored, only hashed.
