> Index of all guides: https://tunnel.masti.lol/llms.txt. Agents start at https://tunnel.masti.lol/skill.md.

# Add ezremote to your AI app

For people adding ezremote to an AI app, and coding agents that can run the setup themselves.

Every app connects the same way. Add `https://tunnel.masti.lol/mcp` as a remote MCP server over Streamable HTTP and sign in with OAuth. No token goes in the configuration. Then ask the agent to connect your computer and [approve it there](security.md). Add the server once; the add command and the plugin each create a copy.

| App | Add it with | Sign in with | Checked |
| --- | --- | --- | --- |
| [Claude](#claude) | Connector settings | The app | Docs, 2026-11-01 |
| [ChatGPT](#chatgpt) | Plugin settings | The app | Docs, 2026-11-01 |
| [Gemini](#gemini) | Gemini CLI settings | `/mcp auth ezremote` | Docs, 2026-11-01 |
| [Grok](#grok) | Custom connector settings | The app | Docs, 2026-11-01 |
| [Claude Code](#claude-code) | `claude mcp add` or plugin | `/mcp` | Docs, 2026-11-01 |
| [Codex](#codex) | `codex mcp add` or plugin | `codex mcp login` | Docs, 2026-11-01 |
| [Cursor](#cursor) | `.cursor/mcp.json` | MCP settings | Docs, 2026-11-01 |
| [VS Code and Copilot](#vscode-copilot) | `.vscode/mcp.json` | MCP controls | Docs, 2026-11-01 |
| [OpenCode](#opencode) | `opencode.json` | `opencode mcp auth` | Docs, 2026-11-01 |
| [Hermes](#hermes) | `~/.hermes/config.yaml` | `hermes mcp login` | Docs, 2026-11-01 |
| [OpenClaw](#openclaw) | `openclaw mcp set` | `openclaw mcp login` | Docs, 2026-11-01 |
| [Pi](#pi) | `pi mcp add` | `pi mcp login` | Reached sign-in in Pi 1.4.0, 2026-11-03 |
| [Other MCP clients](#generic-mcp) | Remote HTTP server | OAuth discovery | MCP spec, 2026-11-01 |

"Docs" means the steps follow the app's own documentation on that date. Nobody has yet tested a signed-in session on a real computer through these apps.

## Starter prompts

In a chat app:

> Use ezremote to connect my computer. Give me the approval link and wait until it is online before working on it.

In a coding agent, which can run most of the setup itself:

> Set up ezremote for this agent using https://tunnel.masti.lol/skill.md. Run the setup steps you can perform yourself. Ask me to sign in when needed and give me the connection approval link. Wait for my computer to be online before working on it.

## Claude

In [Claude connectors](https://claude.ai/customize/connectors), choose **Add**, **Custom**, **Web**. Enter `https://tunnel.masti.lol/mcp` and sign in. Workspace administrators may control custom connectors. [Source](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp).

## ChatGPT

In [ChatGPT Plugins](https://chatgpt.com/plugins), select the plus button, then **Add custom MCP server**. Enter `https://tunnel.masti.lol/mcp`, choose OAuth and sign in. Older interfaces use **Settings**, **Apps**, **Create**. [Source](https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt).

## Gemini

Gemini on the web has no verified way to add a custom MCP server, so use Gemini CLI. Merge this into its settings, then run `/mcp auth ezremote`:

```json
{ "mcpServers": { "ezremote": { "httpUrl": "https://tunnel.masti.lol/mcp" } } }
```

[Source](https://geminicli.com/docs/tools/mcp-server/).

## Grok

Add `https://tunnel.masti.lol/mcp` in Grok's custom connector settings and sign in. If your account lacks that control, use Claude or ChatGPT. [Source](https://docs.x.ai/grok/connectors/custom-mcp-tunneling).

## Claude Code

```sh
claude mcp add --transport http ezremote https://tunnel.masti.lol/mcp
```

Open `/mcp` and sign in. Or install the plugin, which adds the server and this skill: `claude plugin marketplace add KohliNaman/ezremote`, then `claude plugin install ezremote@ezremote`. [Source](https://code.claude.com/docs/en/mcp).

## Codex

```sh
codex mcp add ezremote --url https://tunnel.masti.lol/mcp
codex mcp login ezremote
```

Or install the plugin: `codex plugin marketplace add KohliNaman/ezremote`, then `codex plugin add ezremote@ezremote`. [Source](https://learn.chatgpt.com/docs/extend/mcp).

## Cursor

Merge into `.cursor/mcp.json`, then connect from Cursor's MCP settings to sign in. [Connect your AI](https://tunnel.masti.lol/connect-ai?app=Cursor) has an install button. [Source](https://prod.cursor.com/docs/mcp).

```json
{ "mcpServers": { "ezremote": { "url": "https://tunnel.masti.lol/mcp" } } }
```

## VS Code and Copilot {#vscode-copilot}

Merge into `.vscode/mcp.json`, start the server from VS Code's MCP controls, trust it and sign in. Turn on its tools in Copilot agent mode. [Source](https://code.visualstudio.com/docs/agents/reference/mcp-configuration).

```json
{ "servers": { "ezremote": { "type": "http", "url": "https://tunnel.masti.lol/mcp" } } }
```

## OpenCode

Merge into `opencode.json`, then run `opencode mcp auth ezremote`. [Source](https://dev.opencode.ai/docs/mcp-servers/).

```json
{
  "mcp": {
    "ezremote": { "type": "remote", "url": "https://tunnel.masti.lol/mcp", "enabled": true }
  }
}
```

## Hermes

Merge into `~/.hermes/config.yaml`, run `hermes mcp login ezremote`, then start a new session or run `/reload-mcp`. On a remote host, sign-in needs a forwarded port; Hermes's OAuth over SSH guide covers it. [Source](https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp).

```yaml
mcp_servers:
  ezremote:
    url: "https://tunnel.masti.lol/mcp"
    auth: oauth
```

## OpenClaw

```sh
openclaw mcp set ezremote '{"url":"https://tunnel.masti.lol/mcp","transport":"streamable-http","auth":"oauth"}'
openclaw mcp login ezremote
openclaw mcp probe ezremote
```

If the commands differ in your version, check `openclaw mcp --help`. To also get this skill, run `openclaw plugins install ezremote --marketplace KohliNaman/ezremote` and keep the `mcp set` entry above. The bundle's server has no OAuth setting, and your `ezremote` entry replaces it. [Source](https://docs.openclaw.ai/cli/mcp/transports).

## Pi

Pi 1.0 and later use built-in MCP:

```sh
pi mcp add ezremote --url https://tunnel.masti.lol/mcp --exposure deferred --description "Use a computer its owner approved: files, Terminal, browser and local MCP servers."
pi mcp login ezremote
```

On a remote host, paste the redirected URL back into Pi when sign-in asks. `--exposure deferred` keeps the tools out of each prompt until tool search loads them. From a checkout of the repository, `pi install ./plugins/pi` adds the server and this skill as a package; an `ezremote` entry in `mcp.json` overrides it. Pi's own `read`, `write`, `edit` and `bash` stay on the Pi host. [Source](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/mcp.md), Pi 1.5.0.

## Other MCP clients {#generic-mcp}

Add a Streamable HTTP server at `https://tunnel.masti.lol/mcp` with OAuth discovery and no `Authorization` header. The client needs protected resource discovery, S256 PKCE and resource indicators. [OAuth details](clients.md#oauth-details-for-client-developers) lists the rest. These two calls show what the server offers and grant nothing:

```sh
curl -fsS https://tunnel.masti.lol/.well-known/oauth-protected-resource/mcp
curl -fsS https://tunnel.masti.lol/.well-known/oauth-authorization-server
```

Without OAuth, use a [temporary connection](guest-connections.md) or an [agent token](clients.md). [Source](https://modelcontextprotocol.io/specification/latest/basic/authorization).
