# SuperPowers AI hosted MCP server

## Auto-building agents

No source code, Mac app, or local MCP server is required. The hosted MCP sends model-authored scripts to your own Chrome extension through the Super dashboard.

1. Install [SuperPowers AI for Chrome](https://chromewebstore.google.com/detail/superpowers-ai/oolmdenpaebkcokkccakmlmhcpnogalc) and sign in.
2. Open the [Super dashboard](https://app.getsupers.com/index.html), connect Chrome, and choose your model. **Keep this dashboard tab open while agents run.** Existing users should refresh it once to load the MCP bridge.
3. Add the hosted server in Codex and complete OAuth with the **same Super account**:

```sh
codex mcp add super --url https://app.getsupers.com/mcp
codex mcp login super
```

Alternatively, add this to your Codex MCP configuration, then run `codex mcp login super`:

```toml
[mcp_servers.super]
url = "https://app.getsupers.com/mcp"
```

Authorize `mcp:devices` for browser agents. If an existing connection only has Android permissions, sign in again with the device scope. Use `/mcp` in Codex CLI to check the connection. See [official Codex MCP configuration](https://developers.openai.com/codex/mcp).

4. Send this prompt to Codex:

> Use Super MCP to build and run a new agent in my connected Chrome extension. Open https://www.google.com in a dedicated new tab, search for "James Webb Space Telescope latest images", and return the actual results page title, URL, and first three visible search result titles. Use google/gemini-3.8-flash. Discover my browser sessions first, use the exact session ID and a unique request ID, and poll until completion. Inspect the returned result before reporting success. Do not post, purchase, or change any accounts.

### Tested example: Google search agent

Send the prompt above to Codex. It discovers your connected Chrome session with `super_browser_agent_sessions`, submits the task through `super_build_browser_agent`, and follows the returned `run_id` with `super_browser_agent_status`. The model writes the script and the Chrome extension runs it; you do not need the source code or a hand-written script.

The successful test completed **eight browser actions** and opened **James Webb Space Telescope latest images - Google Search**. Its returned titles matched the actual Chrome page:

1. Webb Image Galleries (NASA Science)
2. NASA James Webb Space Telescope latest images
3. The Cartwheel Galaxy Is the Webb Telescope's Latest Cosmic ... (The New York Times)

Search results vary. An earlier attempt lost its newly opened tab and correctly reported failure; a fresh run completed successfully. Keep the agent's tab and dashboard open while it runs. This is evidence of the tested run, not a guarantee that every website or run succeeds.

### Tools

| Tool | What it does |
| --- | --- |
| `super_browser_agent_sessions` | Lists your connected dashboard Chrome sessions and selected models. |
| `super_build_browser_agent` | Accepts `prompt`, `session_id`, and a unique `request_id`; optionally accepts a supported `model` slug. Returns a durable `run_id`. |
| `super_browser_agent_status` | Accepts `run_id`; returns generated code, progress, logs, result, and completion state. |
| `super_stop_browser_agent` | Accepts `run_id`; cancels queued work or asks the dashboard to stop its running script. |

Use the exact session ID returned by discovery. If several browsers are connected, choose the intended one. Reuse the same `request_id` when retrying a network request; a new ID starts new work. The optional `model` applies to authoring and descriptive click/extraction helpers. Omit it to use the dashboard selection. The example above was verified with `google/gemini-3.8-flash`. Jev handles explicit typed classification helpers.

`building`, `queued`, and `running` are progress states. Only `status: completed` with `completed: true` means the script finished; inspect its returned result to determine what it accomplished. A failure retains its error and completed-action count. Stop can leave an already-sent browser action in flight.

### Requirements and recovery

- Use the same signed-in Super account in Codex OAuth and the extension. Each user sees only their own sessions, code, and results.
- Add [Super credits](https://app.getsupers.com/developer/api-dashboard) for model usage. This builds user-authored automations; it does not unlock subscription-only pre-built powers.
- If a model reports that no allowed provider is available, select a model served by your configured provider. For example, a Google Vertex-only configuration cannot serve NVIDIA free models. The MCP returns the error rather than silently changing your choice.
- If discovery returns no sessions, open or refresh the dashboard, connect Chrome, and try discovery again. The free Android-only `/mcp/android` endpoint does not expose these tools.
- Keep the computer awake and the dashboard open. Closing/reloading a running dashboard interrupts its script. Interrupted or claimed scripts are never automatically replayed because earlier actions may already have happened.
- Website logins remain in that user's Chrome profile. If a website requires login or a CAPTCHA, complete it in Chrome before continuing.


Connect Claude, ChatGPT, Codex, or another compatible client to Super over Streamable HTTP. OAuth keeps every tool owner-scoped. One Android device is free after login; project chat, Mac, iPhone, Meta Display, and computer-use-cache actions use the account's Super credits only when a premium action is accepted.

## Discovery

- Canonical Streamable HTTP endpoint: https://app.getsupers.com/mcp
- MCP Server Card: https://getsupers.com/.well-known/mcp/server-card.json
- Server Card compatibility alias: https://getsupers.com/.well-known/mcp.json
- Transport-specific Server Card: https://app.getsupers.com/mcp/server-card
- OAuth Protected Resource Metadata: https://app.getsupers.com/.well-known/oauth-protected-resource/mcp
- OAuth Authorization Server Metadata: https://app.getsupers.com/.well-known/oauth-authorization-server

## Free Android endpoint

Use `https://app.getsupers.com/mcp/android` for the free-only surface. Login is required and one Android device connected through the official Super APK is included. The endpoint exposes only setup, device listing, and Android command tools, and those tools require zero Super credits.

- Android Server Card: https://getsupers.com/.well-known/mcp/android/server-card.json
- Android OAuth metadata: https://app.getsupers.com/.well-known/oauth-protected-resource/mcp/android
- APK: https://getsupers.com/downloads/super-phone-farm.apk
- Setup guide: https://getsupers.com/developers/android-mcp.md

## OAuth scopes

- `mcp:android`: set up, list, and control the included Android device.
- `mcp:projects`: create and read owner-scoped Super project state.
- `mcp:chat`: continue persistent Super project chat using account credits.
- `mcp:devices`: list and control eligible owner-scoped premium devices.

Tokens are resource-bound. An MCP token cannot be used with `https://app.getsupers.com/v1`, and a Super API token cannot be used with the MCP resource.

## Connection sequence

1. Read the Server Card and OAuth Protected Resource Metadata.
2. Dynamically register the MCP client if it does not already have a client identifier.
3. Complete Authorization Code with PKCE and request only the scopes needed for the task.
4. Send `initialize` to the Streamable HTTP endpoint.
5. Call `tools/list` and use the published tool input schemas and annotations.
6. Begin Android setup with `super_phone_farm_setup` when using the included free device.

## Billing boundary

Login is always required. Android setup, listing, and Android commands for the included device require zero credits. Premium project chat and device delivery check account credits at execution time. The free-only Android endpoint never exposes purchase or upgrade tools.
