{"name":"io.github.emog33k/winrdp-mcp","slug":"emog33k-winrdp-mcp","title":null,"description":"Zero-config server to provision and administer any Windows RDP box over WinRM/SSH/SMB.","url":"https://mcp.market/server/emog33k-winrdp-mcp","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":24,"stars":3,"forks":1,"downloads_week":null,"last_push_at":"2026-09-23T02:26:41.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/emog33k/winrdp-mcp","website":"https://github.com/emog33k/winrdp-mcp","version":"0.1.3","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"winrdp-mcp","version":"0.1.3","transport":{"type":"stdio"},"runtimeArguments":[{"description":"Run the MCP server in controller mode (stdio).","isRequired":true,"value":"serve","type":"positional","valueHint":"serve"}],"environmentVariables":[{"description":"Optional Fernet key to encrypt the host inventory at rest. Omit to use a machine-local key file.","isSecret":true,"name":"WINRDP_VAULT_KEY"},{"description":"Tool profile to expose: full (default), admin, rdp, or core.","default":"full","name":"WINRDP_PROFILE"}]}],"tools":[{"name":"add_host","description":"Register a Windows box in the encrypted inventory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"apply_baseline","description":"Apply a pleasant server baseline: high-performance power plan, no sleep/hibernate, long-path support, hide Server Manager at logon, and optionally set the timezone. Makes a fresh box comfortable to work on. Runs elevated.","write_action":false,"price_micros":0,"input_schema":null},{"name":"build_server","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"cleanup_staged","description":"Remove a staged tool by name, or wipe the whole tool cache if name is omitted.","write_action":true,"price_micros":0,"input_schema":null},{"name":"clear_event_log","description":"Clear a Windows event log. Runs elevated.","write_action":false,"price_micros":0,"input_schema":null},{"name":"clipboard_get","description":"Read the clipboard text of the interactive session on a box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"clipboard_set","description":"Set the clipboard text of the interactive session on a box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"deploy_ui_agent","description":"Deploy the interactive-desktop UI agent (winremote-mcp) onto a box for click/type/OCR-level control, and start it as an HTTP MCP endpoint.","write_action":true,"price_micros":0,"input_schema":null},{"name":"download_file","description":"Download a URL directly onto a box (server-side, TLS 1.2). Returns size + SHA-256.","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_file","description":"Find/replace inside a text file on a box (literal by default, or `regex`). Returns the number of replacements; set count_only to preview without writing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"enable_ssh","description":"Install and start the Windows OpenSSH server on a box, open the firewall, and set PowerShell as the default SSH shell.","write_action":false,"price_micros":0,"input_schema":null},{"name":"enable_winrm","description":"(Re)run the WinRM enablement script on a box through the current transport.","write_action":false,"price_micros":0,"input_schema":null},{"name":"failed_logons","description":"Recent failed logon attempts (Security event 4625) — account, source IP, type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_copy","description":"Copy a file or directory on a box (server-side, no round-trip through operator).","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_delete","description":"Delete a file or directory on a box.","write_action":true,"price_micros":0,"input_schema":null},{"name":"file_download","description":"Download a file from a box to the operator machine.","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_hash","description":"Compute a file hash on a box. algorithm: SHA256|SHA1|MD5|SHA384|SHA512.","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_list","description":"List a directory on a box (files and folders with size and mtime).","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_move","description":"Move or rename a file/directory on a box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_read","description":"Read a text file from a box (UTF-8). Truncates at max_bytes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_search","description":"Find files by name pattern under a directory.","write_action":false,"price_micros":0,"input_schema":null},{"name":"file_upload","description":"Upload a file from the operator machine to a box.","write_action":true,"price_micros":0,"input_schema":null},{"name":"file_write","description":"Write (or append) content to a file on a box.","write_action":true,"price_micros":0,"input_schema":null},{"name":"find_and_click","description":"OCR the desktop, find on-screen `text`, and click its center — vision-lite clicking for UIs that UI Automation can't see. occurrence picks the Nth match.","write_action":false,"price_micros":0,"input_schema":null},{"name":"firewall_add","description":"Open (or block) a port in Windows Firewall.","write_action":false,"price_micros":0,"input_schema":null},{"name":"firewall_delete","description":"Delete firewall rule(s) by display name.","write_action":true,"price_micros":0,"input_schema":null},{"name":"firewall_rules","description":"List firewall rules for a direction.","write_action":false,"price_micros":0,"input_schema":null},{"name":"focus_window","description":"Bring a window to the foreground by (partial) title so keystrokes land in it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_acl","description":"Read the owner and access rules (ACL) of a file/folder/registry path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"grant_acl","description":"Grant a principal rights on a path via icacls. rights: F|M|RX|R|W or a word like FullControl->F. Runs elevated. Use take_own first if access is denied.","write_action":false,"price_micros":0,"input_schema":null},{"name":"group_add_member","description":"Add a user to a local group (e.g. 'Administrators', 'Remote Desktop Users').","write_action":false,"price_micros":0,"input_schema":null},{"name":"gui_script","description":"Run a PowerShell block in the interactive session with GUI helpers pre-loaded — the one-call way to do a multi-step GUI sequence without paying per-action latency.","write_action":true,"price_micros":0,"input_schema":null},{"name":"health_report","description":"One-call box health: OS/uptime, CPU/RAM, per-disk free, top processes, stopped auto-start services, recent System/Application errors, pending Windows Updates, and Defender status. The \"how is this box doing\" summary.","write_action":false,"price_micros":0,"input_schema":null},{"name":"kill_process","description":"Kill a process by pid or by name (all matching).","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_hosts","description":"List all registered boxes (passwords redacted) and which one is active.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_open_ports","description":"Listening TCP ports with the owning process — the box's exposed attack surface.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_processes","description":"List running processes with pid, memory, and CPU seconds.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_services","description":"List Windows services (name, display name, status, start mode).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_staged_tools","description":"List tools/scripts staged on a box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_tasks","description":"List scheduled tasks (name, path, state).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_users","description":"List local user accounts (enabled state, last logon, admin membership).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_windows","description":"List the top-level windows on the interactive desktop (title, pid, handle, bounds).","write_action":false,"price_micros":0,"input_schema":null},{"name":"make_dir","description":"Create a directory (and parents) on a box.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mouse_click","description":"Click at screen coordinates (x, y). button: left | right | middle.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mouse_drag","description":"Press at (x1,y1), drag to (x2,y2), release. button: left | right | middle.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mouse_move","description":"Move the mouse cursor to screen coordinates (x, y).","write_action":false,"price_micros":0,"input_schema":null},{"name":"net_connections","description":"List TCP connections on a box. state: Listen|Established|* (all).","write_action":false,"price_micros":0,"input_schema":null},{"name":"net_info","description":"Network configuration of a box: adapters, IPv4, gateway, DNS servers, MAC.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ocr_screen","description":"Read text off the live desktop via the built-in Windows OCR engine (Win10+). Returns the full text plus per-word screen coordinates (center x/y + bounding box). Pairs with mouse_click / find_and_click. (Claude can also just read a screenshot.)","write_action":false,"price_micros":0,"input_schema":null},{"name":"ping","description":"Ping a target from the box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"port_check","description":"Test whether a TCP port on `target` is reachable *from the box*.","write_action":false,"price_micros":0,"input_schema":null},{"name":"port_proxy_add","description":"Add a netsh portproxy on a box (v4->v4). Great for tunneling RDP/other services through a reachable box to one behind NAT. Runs elevated.","write_action":false,"price_micros":0,"input_schema":null},{"name":"port_proxy_delete","description":"Delete a netsh portproxy rule by listen port. Runs elevated.","write_action":true,"price_micros":0,"input_schema":null},{"name":"port_proxy_list","description":"List active netsh portproxy rules on a box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"provision_host","description":"Zero-config provision: make a box remotely manageable no matter its state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rdp_disable","description":"Disable incoming RDP connections.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rdp_disconnect_session","description":"Disconnect an RDP session by id (keeps it running).","write_action":false,"price_micros":0,"input_schema":null},{"name":"rdp_enable","description":"Enable RDP: allow connections, open the firewall group, set NLA. Idempotent.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rdp_logoff_session","description":"Log off an RDP session by id (ends it).","write_action":false,"price_micros":0,"input_schema":null},{"name":"rdp_sessions","description":"List RDP/console sessions (id, user, state) via ``qwinsta``.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rdp_set_port","description":"Change the RDP listening port and (optionally) open it in the firewall. Takes effect after a reboot or a TermService restart.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rdp_status","description":"Report RDP configuration: enabled, NLA, port, max connections, firewall.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reboot_and_wait","description":"Reboot a box and block until it is reachable again (WinRM/SSH back up). Essential for automation that must continue after a restart.","write_action":false,"price_micros":0,"input_schema":null},{"name":"record_screen","description":"Record the desktop for a few seconds and return it as an animated GIF.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reg_delete","description":"Delete a registry value (if name given) or an entire key.","write_action":true,"price_micros":0,"input_schema":null},{"name":"reg_read","description":"Read a registry key (all values) or a single value. path like 'HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion'.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reg_write","description":"Write a registry value. type: String|DWord|QWord|Binary|ExpandString|MultiString. Creates the key if missing.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_host","description":"Remove a box from the inventory.","write_action":true,"price_micros":0,"input_schema":null},{"name":"run_elevated","description":"Run PowerShell with a full elevated token via a one-shot Scheduled Task. run_as 'SYSTEM' (default) needs no password. This is the real UAC bypass path used when a normal WinRM/SSH logon would otherwise get a filtered token.","write_action":true,"price_micros":0,"input_schema":null},{"name":"run_on_hosts","description":"Run one PowerShell script across many boxes in parallel and collect results.","write_action":true,"price_micros":0,"input_schema":null},{"name":"send_keys","description":"Send keystrokes to the active window using SendKeys syntax.","write_action":true,"price_micros":0,"input_schema":null},{"name":"service_control","description":"Control a service. action: start | stop | restart | enable | disable | manual | auto.","write_action":false,"price_micros":0,"input_schema":null},{"name":"service_create","description":"Create a Windows service. start: auto|demand|disabled. Optionally run under a specific account. Runs elevated.","write_action":true,"price_micros":0,"input_schema":null},{"name":"service_delete","description":"Delete a Windows service. Runs elevated.","write_action":true,"price_micros":0,"input_schema":null},{"name":"set_dns","description":"Set DNS servers on an interface. servers: comma-separated (e.g. '1.1.1.1,8.8.8.8'). Use net_info to get interface aliases. Runs elevated.","write_action":false,"price_micros":0,"input_schema":null},{"name":"stage_script","description":"Write a script (PowerShell/batch/py/text) into the box's tool cache and return its remote path, ready to run with run_powershell/run_cmd.","write_action":true,"price_micros":0,"input_schema":null},{"name":"stage_tool","description":"Pull a helper tool onto a box on demand.","write_action":false,"price_micros":0,"input_schema":null},{"name":"start_process","description":"Launch a program/command on a box. elevated=True for full token, as_user=True to launch in the interactive RDP desktop session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sync_folder","description":"Mirror a LOCAL operator folder to a box efficiently (zip → upload → expand). mirror=True wipes the destination first so it matches the source exactly.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tail_file","description":"Return the last N lines of a text file on a box (snapshot).","write_action":false,"price_micros":0,"input_schema":null},{"name":"take_own","description":"Take ownership of a file/folder via takeown (needed before changing a locked ACL). Runs elevated.","write_action":false,"price_micros":0,"input_schema":null},{"name":"task_create","description":"Create a scheduled task. schedule: ONCE|DAILY|HOURLY|ONLOGON|ONSTART. run_as SYSTEM needs no password; highest=True runs with a full token.","write_action":true,"price_micros":0,"input_schema":null},{"name":"task_delete","description":"Delete a scheduled task by name.","write_action":true,"price_micros":0,"input_schema":null},{"name":"task_run","description":"Run a scheduled task now.","write_action":true,"price_micros":0,"input_schema":null},{"name":"test_host","description":"Scan reachable management ports and verify the live transport for a box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"transfer_between_hosts","description":"Copy a file from one registered box to another, straight through the controller.","write_action":true,"price_micros":0,"input_schema":null},{"name":"type_text","description":"Type literal text into the active window (SendKeys metacharacters auto-escaped). Use `window` to focus a window by title first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"uac_get","description":"Read the box's UAC policy (EnableLUA, admin prompt behaviour, token filter).","write_action":false,"price_micros":0,"input_schema":null},{"name":"uac_set","description":"Adjust UAC policy. disable_token_filter=True lets non-builtin local admins get a full token over the network (LocalAccountTokenFilterPolicy=1). EnableLUA changes need a reboot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ui_find","description":"Find UI elements on the desktop via UI Automation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ui_invoke","description":"Find a control by (partial) name and activate it — Invoke (buttons), else Toggle, else click its center. The reliable way to press a button without pixel math.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ui_set_text","description":"Set the text of an input control found by (partial) name (UIA ValuePattern).","write_action":false,"price_micros":0,"input_schema":null},{"name":"unzip_path","description":"Extract a .zip archive on a box.","write_action":false,"price_micros":0,"input_schema":null},{"name":"use_host","description":"Make a registered box the active target for subsequent tool calls.","write_action":false,"price_micros":0,"input_schema":null},{"name":"user_create","description":"Create a local user; optionally add to Administrators and Remote Desktop Users.","write_action":true,"price_micros":0,"input_schema":null},{"name":"user_delete","description":"Delete a local user account.","write_action":true,"price_micros":0,"input_schema":null},{"name":"wait_for_window","description":"Wait until a window whose title contains `title` appears on the desktop. Polls in-session in a single call (cheap despite the as_user path).","write_action":false,"price_micros":0,"input_schema":null},{"name":"whoami_priv","description":"Current session's user, groups, integrity level, and token privileges — the quick 'what can this session actually do' check.","write_action":false,"price_micros":0,"input_schema":null},{"name":"write_event","description":"Write an entry to a Windows event log (creates the source if needed). Elevated.","write_action":true,"price_micros":0,"input_schema":null},{"name":"zip_path","description":"Compress a file/folder into a .zip on a box.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":80,"grade":"B","scanned_at":"2026-09-23T21:39:35.284Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T21:39:35.280Z","components":{"code":{"score":25,"max":25,"notes":["37 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"winrdp-mcp","version":"0.1.3","found":true,"license":"MIT","dependencyCount":12,"publishedAt":"2026-08-10T12:48:51.096798Z","repositoryUrl":"https://github.com/emog33k/winrdp-mcp"}],"repo":{"found":true,"owner":"emog33k","repo":"winrdp-mcp","archived":false,"pushedAt":"2026-09-23T02:26:41Z","stars":3,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/265914419?v=4","ownerCreatedAt":"2026-03-05T21:33:26Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/265914419?v=4&s=128","source":"github"},"presence":{"stars":3,"forks":1,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-23T02:26:41.000Z","score":24}}}},"grade_history":[],"reviews":[]}