Skip to main content
ClaudeWave
edulelis avatar
edulelis

moonlight-desktop-mcp

View on GitHub

Local stdio MCP server for visual control of Apollo or Sunshine Windows desktops over Moonlight/GameStream

MCP ServersOfficial Registry0 stars0 forks● JavaScriptUpdated today
ClaudeWave Trust Score
62/100
· OK
Passed
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Flags
  • !No standard license detected
  • !Install pipes a remote script into a shell (curl | sh)
Last scanned: 10/20/2026
Install in Claude Code / Claude Desktop
Method: NPX · package.
Claude Code CLI
claude mcp add moonlight-desktop-mcp -- npx -y package.
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "moonlight-desktop-mcp": {
      "command": "npx",
      "args": ["-y", "package."]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Use cases

MCP Servers overview

# Moonlight Desktop MCP

A local stdio MCP server for visual computer use on a paired Apollo or Sunshine
**Windows Desktop**. MCP clients and coding agents can capture the remote
screen, locate visible controls, and send mouse or keyboard input in that same
coordinate space.

The server runs on the controlling macOS, Linux, or Windows machine and talks
to the Windows host over Moonlight/GameStream. It is for visible tasks such as
opening an application, changing a setting, or dismissing a dialog—not for a
hidden Windows shell, registry, process access, or a Windows-side agent.

## Choose your path

| Your goal | Start here |
| --- | --- |
| Install, update, and run the MCP | [Install and update](docs/INSTALL.md) |
| Pair a PC and use the visual tools | [Use the MCP](docs/USE.md) |
| Clone, modify, test, or build the source yourself | [Develop from source](docs/DEVELOPMENT.md) |
| Give an agent the concise operating contract | [Agent operating guide](docs/AGENT-GUIDE.md) |

Most people need only the first two links. The commands in the development
guide are deliberately not part of the normal installation path.

## Discovery for clients and agents

- [`server.json`](server.json) provides the standard MCP server identity,
  repository, version, and canonical installation page for catalogs and
  clients. Because this project requires a controller-native build, the card
  points to the managed installer instead of advertising an npm package or a
  hosted remote endpoint.
- [`llms.txt`](llms.txt) is a compact, model-readable map of the canonical
  installation, use, tool, architecture, and safety documentation.
- [`AGENTS.md`](AGENTS.md) guides coding agents working in this repository;
  [`docs/AGENT-GUIDE.md`](docs/AGENT-GUIDE.md) guides agents operating the
  installed MCP. Codex users can also install the bundled
  [`moonlight-desktop-operator` skill](agents/codex/moonlight-desktop-operator/SKILL.md).

## Install or update

Run one command on the computer that will run the MCP—your Mac, Linux, or
Windows machine, not the Windows PC being controlled. Re-run the same command
later to update a clean installation.

This project is not distributed as a ready-to-run npm or npx package. Use the
platform installer below so the native Moonlight bridge and controller
dependencies are built and checked together.

macOS and Linux:

```sh
curl --proto '=https' --tlsv1.2 -fsSL \
  https://raw.githubusercontent.com/edulelis/moonlight-desktop-mcp/main/install.sh | bash
```

Windows PowerShell:

```powershell
irm https://raw.githubusercontent.com/edulelis/moonlight-desktop-mcp/main/install.ps1 | iex
```

The installer obtains controller-side build dependencies, creates or refreshes
its own checkout, builds the native Moonlight bridge, and verifies readiness.
It preserves pairing data outside that checkout. When the Codex CLI is already
available, it adds the `moonlight-desktop` MCP entry if one does not exist.
It does not install anything on the Windows host; that host must already run
Apollo or Sunshine with a Desktop application. See
[Install and update](docs/INSTALL.md) for review, pinning, and other MCP
clients.

## Use the MCP

The normal computer-use loop is:

1. Pair once: `host_status` → `pairing_begin` → enter the returned PIN at the
   returned Apollo URL → `pairing_status`.
2. Optionally configure Wake-on-LAN with `profile_wol_configure` if the PC may
   be asleep or powered off.
3. Before each task, call `desktop_channel_status`, follow its `nextAction`,
   then call `session_preflight` and `session_start` when the transport is
   available and no launch preparation is in progress.
4. Capture the Desktop, use that current frame to establish whether the
   requested app or setup state is visibly available, locate a target, input in
   that frame's coordinate space, and capture again to verify the result.
5. Call `session_stop` when finished.

`session_start` always opens the Desktop. An application need not be registered
in Apollo to be opened from the Desktop or Start menu. Use
`provider_app_start` only when the user explicitly asks to launch an
Apollo-registered provider app. The detailed setup, safety boundaries, and
examples are in [Use the MCP](docs/USE.md).

## What it provides

| Need | MCP tools |
| --- | --- |
| Pair, inspect, and wake a host | `host_status`, pairing tools, `profile_status`, `profile_wol_configure`, `host_wake` |
| Check/start/stop a desktop | `session_preflight`, `session_start`, `session_status`, `session_stop` |
| See the remote screen | `screen_capture`, OCR, text/template lookup, crops, diffs, and waits |
| Interact and confirm | mouse, drag, scroll, text, named-key/hotkey tools, and visual waits |

The complete tool contract is in [docs/TOOLS.md](docs/TOOLS.md). The bundled
agent guidance is in [docs/AGENT-GUIDE.md](docs/AGENT-GUIDE.md).

## Scope and safety

- One Desktop stream at a time. If another GameStream client owns the channel,
  the MCP reports it and does not take it over.
- Remote app availability, installer progress, account state, and license state
  are established only through the current rendered Desktop, never through a
  remote shell, registry, or process inspection.
- Pairing keys, frames, OCR cache, and Wake-on-LAN settings stay on the
  controlling machine.
- H.264 Desktop video defaults to 1920×1080/30fps at 20 Mbps. Pass
  `stream_profile: "low_bandwidth"` to `session_start` for 1280×720/30fps at
  8 Mbps on a slow connection; width, height, FPS, and bitrate remain optional
  per-session overrides. Audio, clipboard, file transfer, HEVC/AV1, and session
  recovery are out of scope.
- Every meaningful action should be visually verified using a fresh capture.

For compatibility, troubleshooting, architecture, and security details, see
[docs/COMPATIBILITY.md](docs/COMPATIBILITY.md),
[docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md),
[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md), and
[docs/SECURITY.md](docs/SECURITY.md).
apollocomputer-usegamestreammcpmodel-context-protocolmoonlightremote-desktopsunshinewindows

What people ask about moonlight-desktop-mcp

What is edulelis/moonlight-desktop-mcp?

+

edulelis/moonlight-desktop-mcp is mcp servers for the Claude AI ecosystem. Local stdio MCP server for visual control of Apollo or Sunshine Windows desktops over Moonlight/GameStream It has 0 GitHub stars and its last recorded update is dated 2026-10-19.

How do I install moonlight-desktop-mcp?

+

You can install moonlight-desktop-mcp by cloning the repository (https://github.com/edulelis/moonlight-desktop-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is edulelis/moonlight-desktop-mcp safe to use?

+

Our security agent has analyzed edulelis/moonlight-desktop-mcp and assigned a Trust Score of 62/100 (tier: OK). See the full breakdown of passed checks and flags on this page.

Who maintains edulelis/moonlight-desktop-mcp?

+

edulelis/moonlight-desktop-mcp is maintained by edulelis. The last recorded GitHub activity is dated 2026-10-19, with 0 open issues.

Are there alternatives to moonlight-desktop-mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy moonlight-desktop-mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: edulelis/moonlight-desktop-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/edulelis-moonlight-desktop-mcp)](https://claudewave.com/repo/edulelis-moonlight-desktop-mcp)
<a href="https://claudewave.com/repo/edulelis-moonlight-desktop-mcp"><img src="https://claudewave.com/api/badge/edulelis-moonlight-desktop-mcp" alt="Featured on ClaudeWave: edulelis/moonlight-desktop-mcp" width="320" height="64" /></a>

More MCP Servers

moonlight-desktop-mcp alternatives