Skip to main content
Glama
shahidx0x

Better Remote Commander

by shahidx0x

Better Remote Commander

Self-hosted remote control of your own computers from Claude and ChatGPT. Files, terminal and processes on any machine you pair — through a relay you host, on your domain.

Claude / ChatGPT  ──HTTPS (OAuth 2.0)──▶  relay (your server or PC)  ──outbound WebSocket──▶  agent on your machine
  • Claude: add the relay as a custom connector (remote MCP). Works in claude.ai web, desktop and mobile.

  • ChatGPT: remote MCP connector, or a Custom GPT via the built-in OpenAPI spec (GPT Actions).

  • Your infrastructure: run the relay on a VPS, or on your PC behind a Cloudflare Tunnel / ngrok. SQLite, one container, no third-party service.

  • Many machines: pair Windows, macOS, Linux boxes and containers to one relay; agents only connect outbound.

  • Control: browser dashboard to pair, pause, rename and remove devices, manage OAuth clients and see an audit log.

Tools available to the AI (24): read_file, write_file, edit_block, list_directory, move_file, get_file_info, start_process, interact_with_process, read_process_output, list_processes, kill_process, start_search, write_pdf, get_config, set_config_value and more — the same tool set as Desktop Commander.

Install

1. Relay (once, on a server or your PC)

Docker (recommended)

git clone https://github.com/shahidx0x/better-remote-commander.git && cd better-remote-commander
cp .env.example .env        # set PUBLIC_URL, SES_RDP_ADMIN_PASSWORD, SES_RDP_SESSION_SECRET
docker compose --profile cloud up -d                            # VPS with your domain (Caddy, auto-TLS)
docker compose --profile tunnel --profile cloudflare up -d      # your PC via Cloudflare Tunnel
docker compose --profile tunnel --profile ngrok up -d           # your PC via a static ngrok domain
docker compose --profile local up -d                            # localhost only (testing)

Images are published to ghcr.io/shahidx0x/better-remote-commander/relay and /agent.

Without Docker

npm i -g https://github.com/shahidx0x/better-remote-commander/releases/latest/download/ses-systems-rdp-relay-1.0.1.tgz
PUBLIC_URL=https://rdp.example.com SES_RDP_ADMIN_PASSWORD=... SES_RDP_SESSION_SECRET=... ses-rdp-relay

Put it behind any HTTPS reverse proxy (Caddy, nginx, Cloudflare Tunnel) that forwards WebSockets, and set TRUST_PROXY=true.

2. Agent (on every machine you want to control)

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/shahidx0x/better-remote-commander/main/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/shahidx0x/better-remote-commander/main/install.ps1 | iex

ses-rdp-agent --relay https://rdp.example.com --name "My PC"

The agent prints a pairing code and opens https://rdp.example.com/device/verify; sign in and approve. Then make it start at login: ses-rdp-agent --install-service.

Docker agent (Linux servers): docker run -d -v ses-rdp-agent:/home/rdp/.ses-rdp -e SES_RDP_RELAY=https://rdp.example.com -e SES_RDP_NAME=srv1 ghcr.io/shahidx0x/better-remote-commander/agent

3. Connect your AI

  • Claude: Settings → Connectors → Add custom connector → URL https://rdp.example.com/mcp → Add → Connect → sign in → Allow.

  • ChatGPT (MCP): Settings → Connectors → add https://rdp.example.com/mcp.

  • ChatGPT (Custom GPT Action): open https://rdp.example.com/auth/clients, create a client, then in the GPT builder import https://rdp.example.com/openapi.json, choose OAuth, paste client ID/secret, auth URL /authorize, token URL /token, scope mcp:tools, and add the callback URL ChatGPT shows you to the client.

Useful URLs on your relay: /admin (devices, audit), /device/verify (pairing), /auth/clients, /health.

Related MCP server: remote-desktop-commander

Build from source

pnpm install && pnpm build && pnpm test
node packages/relay/dist/cli.js      # relay
node packages/agent/dist/cli.js      # agent

Requires Node 22.13+ (uses node:sqlite) and pnpm 11. Design notes: docs/architecture.md. Security notes: SECURITY.md.

License

MIT — see LICENSE.

Credits

The agent's tool implementation (packages/agent/src/core) is derived from Desktop Commander MCP by Eduard Ruzga and contributors (MIT). Desktop Commander's hosted remote relay is proprietary; this project provides an open, self-hostable relay with the same device-agent model, plus OAuth for Claude/ChatGPT, device pairing, a dashboard and a REST/OpenAPI door. See NOTICE.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI services like Claude and Cursor to remotely control a Mac by executing shell commands, managing files, and running AppleScript for UI automation. Access is secured through OAuth 2.0 authentication and encrypted tunnels to protect remote interactions.
    2
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables secure remote access to your computer's filesystem and terminal through MCP, allowing AI assistants to manage files, run commands, and automate tasks from anywhere via a hosted relay.
    19
    -