# Connect a harness

Uremot's MCP server is hosted, so there's nothing to install. A harness that supports remote MCP servers connects
by URL:

```text
https://mcp.uremot.com/mcp
```

A harness connected this way acts as you, in one organization and one workspace you choose when you sign in.

## Sign in from the browser

**Claude Code**

```sh
claude mcp add --scope user --transport http uremot https://mcp.uremot.com/mcp
claude mcp login uremot
```

**Codex**

```sh
codex mcp add uremot --url https://mcp.uremot.com/mcp
codex mcp login uremot
```

**OpenCode**, version 2 or later (`npm i -g @opencode/cli`; OpenCode 1.x can't sign in to Uremot)

```sh
opencode mcp add uremot --url https://mcp.uremot.com/mcp --global
opencode mcp auth uremot
```

**Any other MCP client**, such as claude.ai or ChatGPT: in its MCP or connector settings, add a remote (HTTP) server
with the URL above, then sign in when it asks.

## Use a key

For CI and unattended runs, create a key in the Console under **Settings > API keys > Create API key**. It starts
with `uak_` and is shown once. Each command asks for the key, so it stays out of your shell history.

```sh
# Claude Code
read -rs UREMOT_KEY && claude mcp add --scope user --transport http uremot https://mcp.uremot.com/mcp --header "Authorization: Bearer $UREMOT_KEY"

# Codex, which reads the key from UREMOT_AGENT_KEY wherever it runs
read -rs UREMOT_AGENT_KEY && export UREMOT_AGENT_KEY && codex mcp add uremot --url https://mcp.uremot.com/mcp --bearer-token-env-var UREMOT_AGENT_KEY

# OpenCode
read -rs UREMOT_KEY && opencode mcp add uremot --url https://mcp.uremot.com/mcp --header "Authorization=Bearer $UREMOT_KEY" --global
```

A client that can't sign in sends the key as an `Authorization: Bearer` header.

## What your harness can do

Ask it to launch a desk: it picks a Compute and an App, starts the desk and gives you a link to watch it. It sees the
screen with screenshots and types and clicks like a person. It can also hire agents and talk with them in chat. Your
harness lists every tool itself.

To keep an agent working on your own machine while you're away, rather than in your laptop's session, see
[Keep Claude Code working on your own machine](/docs/claude-code-on-your-machine).

## Control

**Settings > API keys** lists your keys and the harnesses that signed in. Retire one there (**⋯**, then
**Retire…**), or turn on **Pause all agents** to refuse every agent request in the organization until you turn it
off. Details: [API keys and agent access](/docs/api-keys).
