Crawler Summary

desktop-control answer-first brief

Remote desktop control via WebRTC. Connect to paired desktop agents, capture screens, send mouse/keyboard input, execute shell commands, and transfer files. --- name: desktop-control description: Remote desktop control via WebRTC. Connect to paired desktop agents, capture screens, send mouse/keyboard input, execute shell commands, and transfer files. metadata: openclaw: emoji: "πŸ–₯️" requires: bins: ["node"] --- Desktop Control Skill Control remote desktops via WebRTC through the desktop-mcp-server. Architecture - **MCP Server**: Runs at /tmp/desktop-mcp-server, exposes t Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Freshness

Last checked 2/25/2026

Best For

desktop-control is best for general automation workflows where MCP and OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 89/100

desktop-control

Remote desktop control via WebRTC. Connect to paired desktop agents, capture screens, send mouse/keyboard input, execute shell commands, and transfer files. --- name: desktop-control description: Remote desktop control via WebRTC. Connect to paired desktop agents, capture screens, send mouse/keyboard input, execute shell commands, and transfer files. metadata: openclaw: emoji: "πŸ–₯️" requires: bins: ["node"] --- Desktop Control Skill Control remote desktops via WebRTC through the desktop-mcp-server. Architecture - **MCP Server**: Runs at /tmp/desktop-mcp-server, exposes t

MCPself-declared
OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Feb 25, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Trust evidence available

Trust score

Unknown

Compatibility

MCP, OpenClaw

Freshness

Feb 25, 2026

Vendor

Jagjerez Org

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.

Setup snapshot

git clone https://github.com/jagjerez-org/openclaw-skill-desktop-control.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Jagjerez Org

profilemedium
Observed Feb 25, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

MCP, OpenClaw

contractmedium
Observed Feb 25, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

text

OpenClaw (this skill) β†’ MCP Server (stdio) β†’ WebRTC β†’ Desktop Agent (remote PC)

bash

cd /tmp/desktop-mcp-server
npm install && npm run build

bash

cd /tmp/desktop-mcp-server
npm run start:agent

bash

node <skill_dir>/scripts/mcp-call.mjs <tool_name> '<json_args>'

bash

# Connect to a device
node <skill_dir>/scripts/mcp-call.mjs desktop_connect '{"deviceId":"abc-123"}'

# Check connection status
node <skill_dir>/scripts/mcp-call.mjs desktop_status

# Disconnect
node <skill_dir>/scripts/mcp-call.mjs desktop_disconnect

bash

# Get latest frame (saved to /tmp/desktop-mcp-state/frames/)
node <skill_dir>/scripts/mcp-call.mjs get_frame '{"quality":80,"format":"jpeg"}'

# Get multiple frames
node <skill_dir>/scripts/mcp-call.mjs get_frames '{"count":3,"quality":60}'

# Get screen resolution and cursor position
node <skill_dir>/scripts/mcp-call.mjs get_screen_info

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

Remote desktop control via WebRTC. Connect to paired desktop agents, capture screens, send mouse/keyboard input, execute shell commands, and transfer files. --- name: desktop-control description: Remote desktop control via WebRTC. Connect to paired desktop agents, capture screens, send mouse/keyboard input, execute shell commands, and transfer files. metadata: openclaw: emoji: "πŸ–₯️" requires: bins: ["node"] --- Desktop Control Skill Control remote desktops via WebRTC through the desktop-mcp-server. Architecture - **MCP Server**: Runs at /tmp/desktop-mcp-server, exposes t

Full README

name: desktop-control description: Remote desktop control via WebRTC. Connect to paired desktop agents, capture screens, send mouse/keyboard input, execute shell commands, and transfer files. metadata: openclaw: emoji: "πŸ–₯️" requires: bins: ["node"]

Desktop Control Skill

Control remote desktops via WebRTC through the desktop-mcp-server.

Architecture

OpenClaw (this skill) β†’ MCP Server (stdio) β†’ WebRTC β†’ Desktop Agent (remote PC)
  • MCP Server: Runs at /tmp/desktop-mcp-server, exposes tools via JSON-RPC stdio
  • Desktop Agent: Runs on the target PC, handles screen capture + input injection
  • Signaling: WebSocket server for WebRTC offer/answer exchange
  • Auth: Pairing codes for device registration, JWT tokens for sessions

Setup

1. Build the server (one-time)

cd /tmp/desktop-mcp-server
npm install && npm run build

2. Start the agent on the target desktop

Install and run the agent package on the PC you want to control:

cd /tmp/desktop-mcp-server
npm run start:agent

The agent will display a pairing code. Use desktop_connect with the device ID to connect.

Tool Reference

All tools are called via the helper script:

node <skill_dir>/scripts/mcp-call.mjs <tool_name> '<json_args>'

Connection Management

# Connect to a device
node <skill_dir>/scripts/mcp-call.mjs desktop_connect '{"deviceId":"abc-123"}'

# Check connection status
node <skill_dir>/scripts/mcp-call.mjs desktop_status

# Disconnect
node <skill_dir>/scripts/mcp-call.mjs desktop_disconnect

Screen Capture

# Get latest frame (saved to /tmp/desktop-mcp-state/frames/)
node <skill_dir>/scripts/mcp-call.mjs get_frame '{"quality":80,"format":"jpeg"}'

# Get multiple frames
node <skill_dir>/scripts/mcp-call.mjs get_frames '{"count":3,"quality":60}'

# Get screen resolution and cursor position
node <skill_dir>/scripts/mcp-call.mjs get_screen_info

Frame images are saved to /tmp/desktop-mcp-state/frames/ as JPEG/PNG files. Use the image tool to analyze captured frames.

Mouse Control

# Move mouse
node <skill_dir>/scripts/mcp-call.mjs mouse_move '{"x":500,"y":300}'

# Click (left, right, middle)
node <skill_dir>/scripts/mcp-call.mjs mouse_click '{"x":500,"y":300,"button":"left"}'

# Double-click
node <skill_dir>/scripts/mcp-call.mjs mouse_click '{"x":500,"y":300,"button":"left","double":true}'

# Drag from A to B
node <skill_dir>/scripts/mcp-call.mjs mouse_drag '{"fromX":100,"fromY":100,"toX":500,"toY":500}'

# Scroll (positive=up, negative=down)
node <skill_dir>/scripts/mcp-call.mjs mouse_scroll '{"amount":-3}'

Keyboard Control

# Type text
node <skill_dir>/scripts/mcp-call.mjs keyboard_type '{"text":"Hello World"}'

# Press key combination
node <skill_dir>/scripts/mcp-call.mjs keyboard_press '{"keys":["ctrl","c"]}'

# Common shortcuts
node <skill_dir>/scripts/mcp-call.mjs keyboard_press '{"keys":["ctrl","a"]}'     # Select all
node <skill_dir>/scripts/mcp-call.mjs keyboard_press '{"keys":["ctrl","v"]}'     # Paste
node <skill_dir>/scripts/mcp-call.mjs keyboard_press '{"keys":["alt","tab"]}'    # Switch window
node <skill_dir>/scripts/mcp-call.mjs keyboard_press '{"keys":["enter"]}'        # Enter

# Hold/release key
node <skill_dir>/scripts/mcp-call.mjs keyboard_hold '{"key":"shift","action":"down"}'
node <skill_dir>/scripts/mcp-call.mjs keyboard_hold '{"key":"shift","action":"up"}'

Clipboard

# Read clipboard
node <skill_dir>/scripts/mcp-call.mjs clipboard_read

# Write to clipboard
node <skill_dir>/scripts/mcp-call.mjs clipboard_write '{"text":"copied text"}'

Shell Execution

# Run command on remote desktop
node <skill_dir>/scripts/mcp-call.mjs shell_exec '{"command":"ls -la","timeout":10}'

# With working directory
node <skill_dir>/scripts/mcp-call.mjs shell_exec '{"command":"git status","workingDirectory":"/home/user/project"}'

Audio

# Text-to-speech on remote desktop
node <skill_dir>/scripts/mcp-call.mjs audio_speak '{"text":"Hello from Jarvis"}'

# Record from microphone (5 seconds)
node <skill_dir>/scripts/mcp-call.mjs audio_listen '{"duration":5}'

File Transfer

node <skill_dir>/scripts/mcp-call.mjs file_transfer '{"path":"/tmp/file.txt","direction":"download"}'

Workflow: Visual Desktop Automation

For visual tasks (click on button, fill form, etc.):

  1. Capture screen: get_frame β†’ saves image to disk
  2. Analyze: Use image tool to understand what's on screen
  3. Act: Send mouse/keyboard commands based on analysis
  4. Verify: Capture again and confirm the action worked

Example automation loop:

get_frame β†’ image analysis β†’ mouse_click β†’ get_frame β†’ verify

Environment Variables

| Variable | Default | Description | |----------|---------|-------------| | DESKTOP_MCP_DIR | /tmp/desktop-mcp-server | Path to MCP server repo | | DESKTOP_MCP_STATE | /tmp/desktop-mcp-state | State/frame storage directory |

Frame Storage

Captured frames are saved to /tmp/desktop-mcp-state/frames/ with timestamps. Clean up periodically:

find /tmp/desktop-mcp-state/frames/ -name "*.jpg" -mmin +60 -delete

Troubleshooting

  • "No device connected": Run desktop_connect first with a valid device ID
  • "No frame available": Agent might not be streaming yet, wait and retry
  • Timeout: Check that the agent is running and network is reachable
  • Build errors: Run cd /tmp/desktop-mcp-server && npm run build

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

MCP: self-declaredOpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/contract"
curl -s "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
Ard RegistryUpdated 0h agoRank 94

ShortlistLens

Structured website and review evidence for AI-assisted local-business shortlisting.

MCPmcpmcp-registry
Ard RegistryUpdated 0h agoRank 94

Inferventis MCP Server

Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.

MCPmcpmcp-registry
Ard RegistryUpdated 0h agoRank 94

io.github.Deesmo/arch-tools-mcp

63 production tools for AI agents β€” one API key, pay per call in USDC (x402) or Stripe credits.

MCPmcpmcp-registry
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "MCP",
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-10-09T03:29:43.084Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "MCP",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    }
  ],
  "flattenedTokens": "protocol:MCP|unknown|profile protocol:OPENCLEW|unknown|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Jagjerez Org",
    "href": "https://github.com/jagjerez-org/openclaw-skill-desktop-control",
    "sourceUrl": "https://github.com/jagjerez-org/openclaw-skill-desktop-control",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-25T01:46:47.505Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "MCP, OpenClaw",
    "href": "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-02-25T01:46:47.505Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/jagjerez-org-openclaw-skill-desktop-control/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub Β· GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to desktop-control and adjacent AI workflows.