# Install Reach in your agent

Reach is a remote MCP server. Add it to your agent once and sign in, and your agent can ask Reach to phone or email someone for you.

- Server URL: https://reach.747.systems/mcp
- Transport: Streamable HTTP
- Sign-in: OAuth 2.1 with PKCE and dynamic client registration. The first time your agent connects, Reach opens in your browser and you approve the agent.
- You need a Reach account. Access is by invitation: request one at https://reach.747.systems/.

Any MCP client with Streamable HTTP and OAuth sign-in should work. Setups for individual agents are still being validated, so not every version or surface is guaranteed.

## Claude Code

```sh
claude mcp add --transport http --scope user reach https://reach.747.systems/mcp
```

Then run `/mcp` in Claude Code, pick reach and choose Authenticate. `--scope user` makes Reach available in every project. If you add Reach as a connector in Claude on the web, Claude Code signed in with the same account picks it up too.

## Codex

```sh
codex mcp add reach --url https://reach.747.systems/mcp
codex mcp login reach
```

The Codex CLI, the IDE extension and the ChatGPT desktop app share `~/.codex/config.toml`, so this sets up all three. The same entry by hand:

```toml
[mcp_servers.reach]
url = "https://reach.747.systems/mcp"
```

## ChatGPT

1. Open Plugins (chatgpt.com/plugins), select +, then Add custom MCP server.
2. Name it Reach and enter the URL https://reach.747.systems/mcp.
3. Choose OAuth for authentication, accept the warning and select Create as a plugin.
4. Sign in to Reach when asked and approve ChatGPT.

Mention @Reach in a chat to use it. Your plan or workspace admin must allow custom MCP servers. If ChatGPT shows Apps instead of Plugins, turn on Settings → Apps → Advanced settings → Developer mode, then choose Create app.

## Claude (web, desktop and mobile)

1. Open claude.ai/customize/connectors and choose Add custom connector.
2. Name it Reach and enter the URL https://reach.747.systems/mcp.
3. Choose Connect, sign in to Reach and approve Claude.

Connectors added on the web also appear in the Claude desktop and mobile apps.

## Cursor

Add Reach to `~/.cursor/mcp.json` (or `.cursor/mcp.json` in a project), then choose Connect next to reach in Cursor's MCP settings:

```json
{ "mcpServers": { "reach": { "url": "https://reach.747.systems/mcp" } } }
```

## VS Code

```sh
code --add-mcp '{"name":"reach","type":"http","url":"https://reach.747.systems/mcp"}'
```

Or add it to `.vscode/mcp.json` in a project:

```json
{ "servers": { "reach": { "type": "http", "url": "https://reach.747.systems/mcp" } } }
```

Start the server from the editor and sign in when VS Code asks.

## OpenClaw

```sh
openclaw mcp set reach '{"url":"https://reach.747.systems/mcp","transport":"streamable-http","auth":"oauth"}'
openclaw mcp login reach
```

## Hermes

Add this to `~/.hermes/config.yaml`, then run `hermes mcp login reach` from a fresh terminal:

```yaml
mcp_servers:
  reach:
    url: "https://reach.747.systems/mcp"
    auth: oauth
```

## Other MCP clients

Point the client at https://reach.747.systems/mcp over Streamable HTTP. A request without a token gets `401` with a `WWW-Authenticate` header naming the resource metadata at https://reach.747.systems/.well-known/oauth-protected-resource/mcp. The authorization server metadata is at https://reach.747.systems/.well-known/oauth-authorization-server, with PKCE and dynamic client registration.

## Sign in with a token

If your agent can't do the browser sign-in, a token from the Reach app (Connections → Agent access) works instead. Send it as `Authorization: Bearer <token>` and keep it secret, in an environment variable rather than a shared file.

- Claude Code: `claude mcp add --transport http --scope user reach https://reach.747.systems/mcp --header "Authorization: Bearer $REACH_AGENT_TOKEN"`
- Codex: `codex mcp add reach --url https://reach.747.systems/mcp --bearer-token-env-var REACH_AGENT_TOKEN`
- OpenClaw or Hermes: put the header in the server's `headers` instead of `auth: oauth`.
- Other clients: add the `Authorization` header to the server entry.

## Add the Reach skill

The skill tells your agent when to use Reach and how to run an errand. Add it with `npx skills add https://reach.747.systems`, or in Hermes with `hermes skills install https://reach.747.systems/.well-known/agent-skills/reach/SKILL.md`. You can also save https://reach.747.systems/.well-known/agent-skills/reach/SKILL.md as `~/.claude/skills/reach/SKILL.md` or in your agent's skills folder.

## Check it works

Ask your agent to list its Reach tools or check Reach's capabilities (`reach_capabilities`). Neither makes a call.
