Repository navigation
Releases: HashemKhalifa/desktop-relay
Release list
Desktop Relay v0.1.0
Desktop Relay v0.1.0
First release of a self-hosted relay connecting remote MCP clients, including
ChatGPT, to Desktop Commander on your Mac through a Cloudflare named tunnel.
Included
- One shared Desktop Commander process with separate MCP sessions for remote clients.
- Daemon-owned bearer or secret-path authentication, credential rotation and revocation,
tool grants, and loopback-only listeners. - macOS LaunchAgents for the daemon, tunnel, and watchdog.
- A local authenticated usage dashboard with daily/monthly counts, activity charts,
response-byte totals, and automatic refresh when returning to the tab. - Compact tool descriptions that preserve upstream argument schemas and annotations.
- Paging for eligible plain-text results over 16 KiB: previews plus exact UTF-8
retrieval throughread_relay_result, without rerunning commands. - A default capacity of 300 MCP sessions, idle expiry, and idle-session reclamation
at capacity while preserving in-flight requests. - Bounded request rate limits,
Retry-Afterresponses, and live per-principal updates
throughdc-relayctl set-rate. Unsupported MCP GET probes do not consume allowance. - Setup, ChatGPT connection, restart, and troubleshooting documentation.
Install and use
Requires macOS, Node.js 24 or newer, and cloudflared with a Cloudflare-managed domain
for the documented public setup. Dependencies are pinned and installed with npm ci;
TypeScript runs directly without a build step.
- Installation and ChatGPT setup
- Connection recovery
- Architecture and security model
- Context and dashboard design
GitHub's source archives below contain this release. There is no bundled executable
or npm publication; install dependencies after cloning or extracting the source.
Existing installations can follow the README's update instructions. Save needed
terminal output before restarting, and refresh ChatGPT's tool definitions after updates.
Verification
- Eight automated tests passed, including 300 HTTP session initializations and
recovery after idle-session eviction. - Shell syntax checks passed for the installer, uninstaller, CLI, and verification script.
- Public MCP acceptance passed 17/17 on this revision, including authentication,
tool policy, command execution, cross-session output access, and revocation.
Limits
This is an initial release for trusted clients of one operator. Commands run with
the daemon's OS-account privileges; clients do not have isolated machines.
The Mac must remain awake, online, and logged in. ChatGPT controls its own approvals
and conversation limits.
Retained results expire after one hour, may be evicted earlier, and disappear on
restart. Media, structured/schema-bound results, widget-origin calls, and other
ineligible outputs keep their native responses and can still be large. Dashboard
history covers retained audit files, and response bytes are not model-token counts.
Failed tool calls are never automatically replayed.
New credentials default to 60 HTTP requests/minute; the README explains how to
configure 300 requests/minute for an active ChatGPT account.
Source: 859552d