Skip to content
Scava Docs Join the waitlist

Scava opens soon. These docs describe how it works at launch. Join the waitlist

All chapters

Start

Connect Claude, Codex, Cursor and other agents to Scava

Every AI connects to Scava the same way: one address, https://scava.ai/mcp, and one sign-in in your browser. It is a remote MCP server (MCP is the standard agents use for tools). No key stays on your computer and you never type a code.

Connect #

Run this once in a terminal. You need Node.js 22 or newer:

npx -y scava setup

It adds the address to the agents it finds on your computer and tells you what it did for each. Then it tells you the one click that is left for Claude.

Your AIHow Scava gets thereWhere the connection lives
Claude on the web, in the app, on your phoneIn Claude, open Customize, then Connectors, choose "Add custom connector" and enter the address. No program can do this for you.In your Claude account: it works on every device
Claude Code, signed in with ClaudeNothing to add: it uses the connector of your Claude accountIn your Claude account
Claude Code with an API keyscava setup adds it for your userOn this computer
Codex (terminal, editor and app)scava setup adds it and starts the sign-in, or writes it to ~/.codex/config.toml when only the app is installedOn this computer
Cursorscava setup writes it to ~/.cursor/mcp.jsonOn this computer
GitHub Copilot (VS Code and terminal)scava setup writes it to ~/.copilot/mcp-config.jsonOn this computer
Gemini CLIscava setup writes it to ~/.gemini/settings.jsonOn this computer
Antigravityscava setup writes it to ~/.gemini/config/mcp_config.jsonOn this computer
ChatGPT and other AIsAdd the address in their settings for connectors, plugins or MCP servers, where your plan offers thatDepends on the AI

Where the connection lives matters. In your Claude account it follows the account: on a new computer you sign in to Claude and Scava is there, and someone else's Claude account on your computer does not reach your Scava. On a computer, each computer connects once, and whoever works under your user on that computer acts as you.

Setup follows three rules so it cannot damage your configuration.

If setup finds none of these agents, it prints the address to enter in the settings of any other AI that supports remote MCP servers.

The sign-in #

The first time an AI needs Scava, it opens a page at scava.ai in your browser.

  1. You sign in with Google or an emailed code. If your last sign-in is older than 12 hours, you sign in again.
  2. The page says which AI wants to connect, what it will be able to do and where the connection goes, for example claude.ai or a program on this computer.
  3. You choose Allow, and the browser goes back to the AI.

You also get an email that the AI was connected, with the way to disconnect it.

Only continue if you started this yourself, just now. If someone sends you such a link, close the page: whoever started it would get access to your apps. Scava hands a connection only to the AI apps it knows and to programs on your own computer, never to a server of whoever sent the link. An AI Scava does not know yet is refused; write to info@scava.ai to have it added.

A program on your computer names itself, and Scava cannot check that name. The page says so. An AI with an account is named by where the connection goes.

Scava keeps only fingerprints of the tokens. The AI's access token works for an hour and only at this address, and the AI renews it by itself. A connection that was not used for 90 days ends; you connect again the same way.

Connected agents #

The page Connect at scava.ai lists every connected AI with when it connected and when it was last used. Disconnect ends a connection at once. "Sign out everywhere else" on the overview (see House rules) ends all of them.

The tools your agent gets #

ToolWhat it does
publish_appPublishes an app. With a folder (path) you get a one-time command to run in a terminal; in a chat without a terminal the agent passes the files themselves (files). The first publish creates the app, later ones add a version. Takes app, name, message and resolves (numbers of change requests the version implements).
share_appLets people open the app: email addresses, company domains like @company.com, groups like group:leads. Can also remove access.
list_appsLists your apps with version, number of shares and change requests, plus the apps you co-edit and the apps shared with you.
list_change_requestsLists change requests you have accepted, ready to build.
update_change_requestMarks an accepted request as done. Publishing with resolves does this already.
get_server_infoShows the server part of an app: whether it runs, usage against the plan, secret names, webhooks, schedules and which outside services it talked to.
get_app_problemsLists what browsers and the server code reported, and gives a one-time command for a test run.
pull_appThe files of the live version, to work on an app you co-edit or to continue on another computer: a one-time command that writes them into a folder, or the text files in the answer if the app is small.

When an agent connects, Scava also hands it a short reference of what an app needs to know: how to publish, how to read data, the rules file, what the browser allows. You can print the same text with scava docs.

A folder on your computer #

Scava runs online and cannot read your computer, so an agent with a terminal gets one command to run there:

npx -y scava upload "./dist" https://scava.ai/up/...

The command uploads the folder, prints the address and opens the app once in a browser on your computer to list what went wrong (see Host an internal tool). The link is for this one upload and works for 15 minutes. If Scava refuses the upload, the link stays usable: the agent fixes the files and runs the command again. Files only ever go to Scava; the command refuses a link to anywhere else, before it reads a file.

In a chat there is no folder and no terminal. The agent passes the files in the call. The limits are the same, and the upload is checked the same way. There is no test run then: open the app once, and get_app_problems lists what your browser reported. If neither a folder nor files are given, nothing is uploaded; the agent does not guess.

What an agent can never do #

An agent has the tools above and nothing else. Some decisions belong to people, in the browser, even if someone tricks your agent with a text it read.

An agent can publish, and whoever publishes can change what an app does. Connect only an AI you use yourself.

Several computers and several people #

Every connection appears on its own on your Connect page. A co-editor connects their own AI and works on your app with pull_app; see Co-editors.

If the agent says it is not connected #

Ask it to sign in to Scava, or open its settings for MCP servers: there is a sign-in or "Authenticate" button next to Scava. In Claude Code, type /mcp; in Codex, run codex mcp login scava; in Gemini CLI, type /mcp auth scava. If the AI has no entry for Scava yet, run npx -y scava setup.