ChatGPT Windows Portal MCP Server (Rdgenoyahoo/ChatGPT-Windows-Portal) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 63 tools. No publisher has claimed this listing.
A Windows MCP server that gives ChatGPT permission-controlled tools for troubleshooting software, working with files, running diagnostics, and operating the visible desktop.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
Rdgenoyahoo
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
helloReturns a simple greeting.
portal_statusReturns status for the MCP portal and local server.
system_summaryReturns basic system information.
disk_summaryReturns disk usage information.
current_directoryReturns the server working directory.
list_directoryLists files and folders in a directory.
file_infoReturns information about one file or folder.
read_text_fileReads a text file.
tail_text_fileReturns the last lines of a text file.
write_text_fileWrites a text file. Requires confirm='WRITE_FILE'.
append_text_fileAppends text to a file. Requires confirm='APPEND_FILE'.
find_filesFinds files using a glob pattern.
search_text_in_filesSearches text inside files.
whichFinds an executable on PATH.
check_portChecks whether a TCP host and port are reachable.
list_processesLists running processes.
kill_processKills a process by PID. Requires confirm='KILL_PID'.
run_powershellRuns a PowerShell command. Risky commands require confirm='RUN_MUTATING_COMMAND'.
run_cmdRuns a cmd.exe command. Risky commands require confirm='RUN_MUTATING_COMMAND'.
python_versionReturns Python executable and version.
python_import_checkChecks whether a Python package imports.
pip_listLists installed pip packages.
environment_variablesReturns environment variables, redacting secrets.
ngrok_statusChecks ngrok-related local status.
desktop_operator_statusReturns availability of desktop automation support modules.
capture_screenCaptures the desktop and saves a PNG image. monitor=0 captures all monitors.
annotate_screenCaptures the screen and draws a red rectangle around a target area.
get_mouse_positionReturns the current mouse cursor position.
move_mouseMoves the mouse cursor. Requires confirm='CONTROL_DESKTOP'.
left_clickLeft-clicks at screen coordinates. Requires confirm='CONTROL_DESKTOP'.
right_clickRight-clicks at screen coordinates. Requires confirm='CONTROL_DESKTOP'.
double_clickDouble-clicks at screen coordinates. Requires confirm='CONTROL_DESKTOP'.
drag_mouseDrags the mouse from one point to another. Requires confirm='CONTROL_DESKTOP'.
press_keyPresses a keyboard key. Requires confirm='CONTROL_DESKTOP'.
hotkeyPresses a keyboard shortcut. Example keys_csv='ctrl,shift,s'. Requires confirm='CONTROL_DESKTOP'.
type_textTypes text into the active window. Requires confirm='CONTROL_DESKTOP'.
desktop_windowsLists desktop windows with position and size.
activate_windowBrings the first matching window to the foreground.
maximize_windowMaximizes the first matching window.
minimize_windowMinimizes the first matching window.
close_windowCloses the first matching window. Requires confirm='CONTROL_DESKTOP'.
capture_windowCaptures the screen area occupied by the first matching window.
list_ui_elementsLists visible UI Automation elements for a matching window. Best for buttons, menus, edit boxes, tabs.
click_ui_elementClicks a UI Automation element by name. Requires confirm='CONTROL_DESKTOP'.
ocr_screenRuns OCR on a screenshot and returns detected text blocks. Requires pytesseract installed and configured.
find_text_on_screenFinds text on screen using OCR and returns an approximate bounding box.
click_textFinds visible text with OCR and clicks it. Requires confirm='CONTROL_DESKTOP'.
find_image_on_screenFinds an image/template on screen. Requires pyautogui and usually OpenCV for confidence matching.
click_image_on_screenFinds an image/template on screen and clicks its center. Requires confirm='CONTROL_DESKTOP'.
wait_for_windowWaits until a window with matching title appears.
launch_programLaunches a program. Requires confirm='LAUNCH_PROGRAM'.
launch_start_appLaunches an installed Start Menu app by display name match. Requires confirm='LAUNCH_PROGRAM'.
computer_helpLists examples for using the desktop operator tools.
list_available_pathsLists filesystem roots visible to the Portal Windows account.
path_accessResolves a path and reports whether the Portal account can access it. This check does not create, change, or delete anything.
read_text_rangeReads a bounded line range from a text file on any accessible path. Use next_start_line to continue through files larger than one tool result.
hash_fileHashes a file on any accessible path without changing it.
start_jobStarts an independently monitored background job and returns immediately.
list_jobsLists persistent background jobs, newest first.
job_statusReturns live status and optional output tails for one background job.
job_outputReads bounded stdout and/or stderr tails from a background job.
stop_jobStops only the process tree recorded for one Portal job. Requires confirm='STOP_JOB'.
delete_jobDeletes the metadata and logs for a finished Portal job. Requires confirm='DELETE_JOB'. Running jobs cannot be deleted.
PORTAL_HOMErepository folder Default command working directoryPORTAL_BIND_HOST127.0.0.1 MCP listener addressPORTAL_PORT8000 MCP listener portPORTAL_PUBLIC_HOSTNAMEblank Optional hostname for an intentionally secured reverse proxyPORTAL_SCREENSHOT_DIRscreenshots Saved screenshotsPORTAL_JOB_DIRjobs Persistent job metadata and output logsTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
63/63 tools missing one or more hints — hello (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); portal_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); system_summary (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +60 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Destructive tools are labelled
1 tool perform destructive updates without destructiveHint — delete_job deletes at line 3405 (shutil.rmtree(folder))
Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.
Tool inputs are validated
54/63 tool handlers declare input schemas (86%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
54/63 tool handlers wrap calls in try/catch (86%)
Wrap each tool handler body in try/catch and return a structured error response.
Tests exist
No test files found
Add tests that exercise each declared tool.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/rdgenoyahoo/chatgpt-windows-portal)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check