Sky Windows Remote Executor
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sky Windows Remote Executortake a screenshot of my desktop"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sky Windows Remote Executor
Sky Windows Remote Executor is a Windows-hosted FastAPI + MCP remote execution service for AI agents, automation scripts, remote maintenance, and local agent workflows.
It is not a thin SSH wrapper. It is a resident HTTP/MCP service with a Web UI, REST API, MCP tools, task logs, audit events, and transfer tickets for large files. By default it binds to 127.0.0.1, which makes it suitable for local use or trusted tunnels first.
Core Capabilities
Web UI: inspect tasks, logs, configuration, file transfers, audit events, and service status.
Command execution: run Python scripts, PowerShell commands, CMD commands, and Python snippets synchronously or asynchronously.
MCP integration: expose tools through
/mcpfor Codex, Claude Desktop, or any MCP-compatible client.File operations: list directories, read/write files, search content, apply precise patches, upload, download, batch-download, and package folders as zip files.
Windows administration: manage processes, services, registry values, scheduled tasks, network checks, event logs, notifications, and workstation lock.
Desktop helpers: screenshot capture, clipboard read/write, and Windows Toast notifications.
Operations: health checks, configuration read/update, log cleanup, task cleanup, and audit queries.
Large file transfer: MCP returns short-lived
transfer_referenceobjects while bytes move through one-shot REST URLs.
Related MCP server: AETHER_01
Safety First
This service can execute commands, write files, edit the registry, kill processes, manage services, and interact with the active Windows desktop. Treat it as a high-privilege remote control endpoint.
The default configuration binds to 127.0.0.1. If you expose it to other machines, place it behind a trusted firewall, VPN, SSH tunnel, or reverse proxy, and read SECURITY.md before deployment.
This project currently does not include built-in multi-user authentication, role-based authorization, or public internet hardening. Do not expose the port directly to the public internet.
Quick Start
python -m venv venv
.\venv\Scripts\python.exe -m pip install -r requirements.txt
.\venv\Scripts\python.exe -u windows_remote_executor.pyOpen the Web UI:
http://localhost:8765MCP endpoint:
http://localhost:8765/mcpWindows Batch Helpers
Script | Purpose |
| Run in the foreground and use repo-local |
| Launch silently with |
| Start the installed Windows service, or fall back to foreground mode when the service is not installed. |
| Install as a Windows service with NSSM. |
| Remove the NSSM service. |
NSSM is not vendored. Install NSSM separately and place nssm.exe on PATH, or copy it next to the scripts before running install-service.bat.
Configuration
Configure the service with environment variables:
Variable | Default | Description |
|
| Web UI and display name. |
|
| Windows service name. |
|
| Uvicorn bind host. |
|
| HTTP/MCP port. |
|
| Runtime data root. |
|
| Task and service logs. |
|
| Default upload directory. |
|
| Temporary zip and transfer files. |
|
| Task log retention in days. |
|
| Scheduled task name for autostart. |
Example:
$env:WRE_HOST = "0.0.0.0"
$env:WRE_DATA_DIR = "D:\WindowsRemoteExecutor"
.\venv\Scripts\python.exe -u windows_remote_executor.pyREST API Coverage
Configuration, Health, and Maintenance
Endpoint | Purpose |
| Health check with service status, task count, and basic information. |
| Read log directory, upload directory, and log retention settings. |
| Update runtime-adjustable configuration. |
| Manually clean expired task logs. |
| Query audit events. |
Tasks and Command Execution
Endpoint | Purpose |
| Run a Python script in the background and return a |
| Run a script synchronously and return stdout, stderr, and exit code. |
| Run a PowerShell command in the background. |
| Run a PowerShell command synchronously. |
| Stop a background task. |
| Query task status. |
| Read task logs with an optional line limit. |
| List tasks. |
| Clear finished task records. |
Files and Transfers
Endpoint | Purpose |
| Upload one file to a target path. |
| Upload multiple files. |
| Download one file. |
| List directory entries with glob support. |
| Read file content, including text encodings and binary base64. |
| Write or append file content, with Python syntax check feedback for |
| Search file content. |
| Create a short-lived download ticket. |
| Stream a file authorized by a download ticket. |
| Create a short-lived upload ticket. |
| Upload a file authorized by an upload ticket. |
Windows System Administration
Endpoint | Purpose |
| List processes with filtering, sorting, and limit support. |
| Kill a process by PID or process name. |
| Read a Windows registry value. |
| Write a Windows registry value. |
| List Windows services. |
| Start a Windows service. |
| Stop a Windows service. |
| Restart a Windows service. |
| Stop the current remote executor service process. |
| Inspect executor service information, PID, uptime, task counts, and log settings. |
| Inspect autostart state. |
| Enable or disable autostart. |
| List Windows scheduled tasks. |
| Create a Windows scheduled task. |
| Delete a Windows scheduled task. |
Network, Desktop, and Events
Endpoint | Purpose |
| Fetch a web page content snippet. |
| Ping a host. |
| Check whether a host port is reachable. |
| List network connections. |
| Read clipboard text. |
| Write clipboard text. |
| Show a Windows Toast notification. |
| Lock the Windows workstation. |
| Query Windows event logs. |
Realtime Channels and Pages
Endpoint | Purpose |
| MCP JSON-RPC entrypoint. |
| Web UI home page. |
| Subscribe to realtime logs for one task. |
| Subscribe to all task status updates. |
| Subscribe to audit events. |
MCP Tool Coverage
MCP clients use tools/list to retrieve the full schema and tools/call to invoke a tool. See docs/mcp-guide.md and examples/codex-mcp-config.json for examples.
Commands and Long-Running Tasks
Tool | Purpose |
| Run a PowerShell, CMD, or Python command synchronously and return stdout, stderr, and returncode. |
| Start a background task for long-running scripts. |
| Query background task status. |
| Read background task logs. |
| Run a long-running PowerShell command. |
| Stop a background task. |
| List tasks. |
| Clear finished task records. |
Files, Search, and Transfer
Tool | Purpose |
| Read a file; small files are returned inline, large files return a download ticket. |
| Write or append a file; small content is written inline, large content returns an upload ticket. |
| Show the Git working tree diff for a file. |
| List a directory with glob support. |
| Search content, preferring ripgrep and falling back to Python. |
| Replace exact old/new strings, with optional backup and Python syntax checks. |
| Upload one file with inline base64 or large-file ticket mode. |
| Download one file with inline base64 or large-file ticket mode. |
| Upload multiple files. |
| Package multiple remote files into a zip and return a download reference. |
| Package a remote folder into a zip using glob and recursive options. |
Windows System Administration
Tool | Purpose |
| List processes. |
| Kill processes by PID or name. |
| List Windows services. |
| Start a service. |
| Stop a service. |
| Restart a service. |
| Get executor service information. |
| Configure executor autostart. |
| Read a registry value. |
| Write a registry value. |
| List scheduled tasks. |
| Create a scheduled task. |
| Delete a scheduled task. |
Network, Desktop, and Diagnostics
Tool | Purpose |
| Capture the current Windows desktop, either saved to a file or returned as base64. |
| Read or set clipboard text. |
| Return OS, hostname, process ID, service version, and related information. |
| Ping a host. |
| Check host port connectivity. |
| List network connections. |
| Send a Windows Toast notification. |
| Lock the Windows workstation. |
| Query Windows event logs. |
| Query executor audit logs. |
| Run a health check. |
| Read executor configuration. |
| Update executor configuration. |
| Clean expired logs. |
| Commit current changes in a target Git repository. |
Large File Transfer Model
MCP is a control plane, not an ideal channel for large byte streams. This project uses a two-step transfer model for large files:
The MCP tool returns a
transfer_referencewith a one-shotdownload_urlorupload_url.The client transfers the real bytes through a normal HTTP GET or multipart POST request.
Transfer tickets are short-lived and single-use by default. This keeps MCP calls small while still allowing browsers or scripts to stream zip archives, model files, video assets, and other large artifacts.
Development
.\venv\Scripts\python.exe -m pip install -r requirements-dev.txt
.\venv\Scripts\python.exe -m unittest discover -s tests -vLicense
MIT. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/skycaier/sky-windows-remote-executor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server