GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
Zero-config server to provision and administer any Windows RDP box over WinRM/SSH/SMB.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
WINRDP_VAULT_KEY, WINRDP_PROFILE标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"winrdp": {
"command": "uvx",
"args": [
"winrdp-mcp"
],
"env": {
"WINRDP_VAULT_KEY": "your-value",
"WINRDP_PROFILE": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add winrdp --env WINRDP_VAULT_KEY=your-value --env WINRDP_PROFILE=your-value -- uvx winrdp-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"winrdp": {
"command": "uvx",
"args": [
"winrdp-mcp"
],
"env": {
"WINRDP_VAULT_KEY": "your-value",
"WINRDP_PROFILE": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"winrdp": {
"type": "stdio",
"command": "uvx",
"args": [
"winrdp-mcp"
],
"env": {
"WINRDP_VAULT_KEY": "your-value",
"WINRDP_PROFILE": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
WINRDP_PROFILE env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 emog33k 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:WINRDP_VAULT_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.3)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A zero-config [MCP](https://modelcontextprotocol.io) server that provisions and fully administers any Windows RDP box — Windows 10/11 and Server 2016–2025 — for Claude and Claude Code.
You give it a host and admin credentials. It makes the box remotely manageable *by itself* — turning on WinRM, opening the Windows firewall, and fixing local-admin token filtering — regardless of the box's starting state or Windows version. Claude then gets 156 tools: shell, files, registry, services, processes, scheduled tasks, users, firewall, event logs, software, networking, live RDP control, screenshots, GUI automation, real UAC elevation, one-call health/security reports, and on-demand tool staging — plus 6 guided workflows (prompts) and live host resources. Linux/macOS hosts are administered over SSH (run_sh, run_script(interpreter="sh")).
Nothing is pre-installed on the target. The controller reaches boxes over WinRM / SSH / SMB from wherever Claude Code runs, and manages one box or a whole fleet from a single server.
provision_host climbs a ladder — WinRM → SSH → SMB/WMI cold-start → paste-once bootstrap — and makes a fresh, locked-down box manageable with no manual WinRM setup.SYSTEM Scheduled Task. as_user=True runs inside the interactive RDP desktop.readOnlyHint / destructiveHint safety annotations so MCP clients can gate destructive actions automatically. Narrow the surface to a focused set with a tool profile (WINRDP_PROFILE=admin|rdp|core).provision_and_harden, diagnose_box, fix_connection, security_audit, setup_dev_box, open_service_locally) turn a whole operation into one click, and resources (winrdp://hosts, winrdp://host/{alias}/info) hand the model the inventory and a live box summary without spending a tool call.run_python finds or installs Python, pip-installs deps, runs your code, and cleans up — same for Node, PowerShell, cmd, and batch. stage_tool pulls Sysinternals (or any URL/local file) onto the box mid-task.health_report (OS/CPU/RAM/disk/services/errors/updates/Defender in one read), apply_baseline (high-perf power plan, no sleep, long paths), whoami_priv, failed_logons, list_open_ports.| Mode | Command | Runs where | Reaches the box via |
|---|---|---|---|
| Controller (default) | winrdp-mcp serve | wherever Claude Code lives | WinRM / SSH / SMB+DCOM |
| Agent | winrdp-mcp agent | on the box itself | local PowerShell |
Both build the *same* server; python -m winrdp_mcp serve is equivalent to the console script.
Python 3.10+ on the operator machine (Windows, macOS, or Linux). Targets are Windows.
pipx install winrdp-mcp # isolated, recommended — gives you the `winrdp-mcp` command
uvx winrdp-mcp serve # zero-install run via uv pip install winrdp-mcp # plain pip
Optional extras and a local dev checkout:
pip install "winrdp-mcp[bootstrap]" # + impacket, for SMB/WMI cold-start of boxes with WinRM AND SSH off
pip install "winrdp-mcp[agent-ui]" # + on-box interactive-desktop UI agent (click/type/OCR) pip install -e ".[dev]" # from a checkout of this repo (tests + ruff)
Claude Desktop, one click: grab winrdp-mcp.dxt from Releases and open it (Settings → Extensions → Install from file), or build it yourself with pwsh dxt/build.ps1.
Drop a project .mcp.json at your repo root:
{
"mcpServers": { "winrdp": { "command": "winrdp-mcp", "args": ["serve"], "env": { "WINRDP_VAULT_KEY": "change-me", "WINRDP_PROFILE": "full" } } } }
Or register from the CLI:
claude mcp add winrdp -- winrdp-mcp serve
Set WINRDP_VAULT_KEY to a strong passphrase — it encrypts stored credentials at rest (see Configuration). Set WINRDP_PROFILE to admin, rdp, or core to expose a focused tool set instead of all 147.
Ask Claude to run these tools (arguments shown inline). Every tool takes an optional host= alias; omit it to hit the active host.
add_host alias="vps1" host="203.0.113.10" username="Administrator" password="…"
provision_host # climbs the ladder → box is now manageable system_info # OS, build, CPU, RAM, disks, IPs run_powershell script="Get-Service | Where Status -eq Running" run_python code="import platform; print(platform.platform())"
If the box has only RDP open, provision_host returns a bootstrap_oneliner to paste once into an RDP session — or call rdp_bootstrap, which copies that command to your clipboard and opens mstsc so you just paste it once. See Preparing a box.
147 tools across fifteen modules. The full catalog — every signature, parameter, default, and safety class — is in [docs/TOOLS.md](docs/TOOLS.md).
| Group | Module | # | What it covers |
|---|---|---|---|
| Hosts & Fleet | hosts.py | 9 | add_host, list_hosts, use_host, remove_host, test_host, diagnose_host, provision_host, run_on_hosts (parallel fan-out), reboot_and_wait |
| Provisioning / UAC / Tooling | provisioning.py | 11 | enable_winrm, enable_ssh, run_elevated, uac_get/uac_set, stage_tool, stage_script, list_staged_tools, cleanup_staged, deploy_ui_agent, rdp_bootstrap |
| System | system.py | 8 | run_powershell, run_cmd, system_info, performance, event_log, screenshot, reboot, power_action |
| Scripting | scripting.py | 7 | run_python, run_python_file, pip_install, run_script (auto-interpreter, incl. sh/bash on Linux), run_node, run_sh, ensure_runtime |
| Files | files.py | 21 | list/read/write/search/upload/download/delete, make_dir, copy/move, file_hash, zip/unzip, ACL, download_file, tail_file, edit_file, sync_folder, transfer_between_hosts |
| Admin | admin.py | 27 | registry, services (service_control/service_info/service_create/service_delete), processes (list_processes/process_details), scheduled tasks, users/groups, firewall, clipboard, event-log write/clear |
| RDP | rdp.py | 12 | rdp_status/rdp_enable/rdp_disable/rdp_set_port, sessions, disconnect/logoff, rdp_connect_to_console (tscon), rdp_connection_file, rdp_open, install_rdp_wrapper, rdp_allow_multiple_sessions |
| Software | software.py | 4 | install_software (winget/choco/MSI/EXE-url), uninstall_software, list_installed_software, ensure_package_manager |
| Network | network.py | 8 | net_info, ping, port_check, net_connections, port_proxy_add/list/delete (tunneling), set_dns |
| Windows | windows.py | 16 | cim_query (any WQL), windows_features, windows_update, hotfixes, Defender (status/realtime/exclusions/exclusion_add/exclusion_remove/quarantine/quarantine_restore/history_clear/scan), env_get/env_set, list_startup |
| GUI | gui.py | 15 | windows/keyboard/mouse (send_keys, type_text, mouse_click, mouse_drag), UI Automation (ui_find/ui_invoke/ui_set_text), ocr_screen, find_and_click, wait_for_window, record_screen, gui_script |
| Waiters | waiters.py | 4 | wait_for_port, wait_for_service, wait_for_process, wait_for_file — block until a condition holds |
| Scheduling | scheduling.py | 6 | schedule_command, run_at_startup, persist_as_service (NSSM auto-restart), unpersist_service, task_status (is a detached job alive / what did it exit with), task_stop |
| Tunnel | tunnel.py | 3 | port_forward, port_forward_stop, port_forward_list — SSH local-forward a box's service to your machine |
| Ops | ops.py | 5 | health_report, apply_baseline, whoami_priv, failed_logons, list_open_ports — one-call health & security reads |
Safety classification across all 156: 55 read-only, 27 destructive, 74 mutating. Read-only tools are safe to auto-run; destructive tools carry destructiveHint=True so clients gate them behind confirmation.
Beyond tools, the server exposes MCP prompts (user-invoked, one-click operations that steer the model through the right tool sequence) and resources (bounded read-only context the client can hand the model for free):
| Kind | Name | What it does |
|---|---|---|
| Prompt | provision_and_harden(host, username, password, alias) | Bring a new box under management and lock it down, step by step |
| Prompt | diagnose_box(host) | Gather health evidence and give a prioritized root-cause summary |
| Prompt | fix_connection(host) | Figure out why a box won't connect (via diagnose_host) and get it working |
| Prompt | security_audit(host) | Read-only posture review → risk-ranked findings + remediations |
| Prompt | setup_dev_box(host, runtimes) | Install runtimes/tools and verify a working dev environment |
| Prompt | open_service_locally(host, remote_port, note) | Reach a box's loopback service from your machine over an SSH tunnel |
| Resource | winrdp://hosts | The registered inventory (passwords redacted) + active host |
| Resource | winrdp://host/{alias}/info | A compact live summary of one box (OS, build, CPU/RAM, disks, uptime) |
WINRDP_PROFILE selects which modules to expose, so the model's tool list stays focused:
| Profile | Tools | Includes |
|---|---|---|
full (default) | 147 | everything |
dynamic | 44 at start | lean core + list_toolsets/enable_toolset/disable_toolset; the model pulls in groups (rdp, gui, network, …) on demand |
admin | 120 | systems administration (no GUI/RDP-desktop, no bare tunnel) |
rdp | 106 | RDP + desktop/GUI focus |
core | 89 | the essential subset (hosts, provisioning, system, scripting, files, admin, ops, waiters) |
`dynamic` is the recommended profile for large/long sessions: it follows the 2026 MCP guidance on tool-list bloat. Only ~41 core tools load up front; the model calls enable_toolset("rdp") (etc.) to
只显示了开头部分;其余内容请在仓库中阅读