Remote Agents
Run OpenClaw or another agent on a VPS while keys and approvals stay in DCP Desktop.
Known Good Path
- Install and unlock DCP Desktop.
- Open Connect - Remote Agent.
- Create a remote invite and copy the generated command.
- Paste it on the VPS.
- Confirm the verification phrase in Desktop.
- Approve pairing.
- Start a fresh OpenClaw chat/session.
One Command Install
curl -fsSL https://dcpagent.com/install.sh | sudo bash -s -- 'dcp_vps_v1_...'This installs a system service, pairs with Desktop, starts HTTP MCP, and attempts OpenClaw config.
Success Output
DCP service health: ok
OpenClaw detected: yes
OpenClaw can reach DCP: yes
OpenClaw config written: yes
OpenClaw config verified: yesDo Not Reuse Old Invites
If an invite expired, pairing was revoked, or you cleaned/reinstalled the service, create a new invite in Desktop. Old remote invite tokens are not reusable.
Basic Checks
sudo systemctl status dcp-agent --no-pager -l
sudo journalctl -u dcp-agent -n 120 --no-pager -l
curl -s <printed-health-url>Good health response:
{"status":"ok","agent":"your-vps-name"}OpenClaw Config Check
sudo -u openclaw openclaw mcp show dcp --jsonExpected shape:
{
"url": "http://127.0.0.1:8420/mcp",
"transport": "streamable-http",
"connectionTimeoutMs": 300000
}The URL may also be a Docker bridge URL such as http://172.17.0.1:8420/mcp. Use the URL printed by your installer.
If OpenClaw Runs In Docker
docker ps --format 'table {{.Names}} {{.Networks}}'
docker exec <openclaw-container> sh -lc 'curl -s --max-time 5 http://172.17.0.1:8420/health'If the container times out and the host uses UFW, allow Docker bridge traffic only:
sudo ufw allow in on docker0 from 172.17.0.0/16 to 172.17.0.1 port 8420 proto tcp
sudo ufw reloadManual OpenClaw Fallback
sudo npx --yes @dcprotocol/agent@latest configure-openclaw --user openclaw
sudo npx --yes @dcprotocol/agent@latest configure-openclaw --manualAfter changing MCP config, start a fresh OpenClaw chat/session. Existing sessions can keep old tools.
Raw MCP Test
curl -i -sS \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-X POST http://127.0.0.1:8420/mcp \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"curl-test","version":"1.0.0"}}}'Good response includes mcp-session-id and dcp-agent.
Support Paste
sudo systemctl status dcp-agent --no-pager -l
curl -s <printed-health-url>
sudo journalctl -u dcp-agent -n 80 --no-pager -l
sudo -u openclaw openclaw mcp show dcp --json