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.

D
Caution
54/100

ChatGPT Windows Portal MCP Server

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

Code Verified⚡ Live Monitored: not connected

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

Is this your MCP?

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.

// key findings
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
// tools this server exposes63 tools

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.

hello

Returns a simple greeting.

portal_status

Returns status for the MCP portal and local server.

system_summary

Returns basic system information.

disk_summary

Returns disk usage information.

current_directory

Returns the server working directory.

list_directory

Lists files and folders in a directory.

file_info

Returns information about one file or folder.

read_text_file

Reads a text file.

tail_text_file

Returns the last lines of a text file.

write_text_file

Writes a text file. Requires confirm='WRITE_FILE'.

append_text_file

Appends text to a file. Requires confirm='APPEND_FILE'.

find_files

Finds files using a glob pattern.

search_text_in_files

Searches text inside files.

which

Finds an executable on PATH.

check_port

Checks whether a TCP host and port are reachable.

list_processes

Lists running processes.

kill_process

Kills a process by PID. Requires confirm='KILL_PID'.

run_powershell

Runs a PowerShell command. Risky commands require confirm='RUN_MUTATING_COMMAND'.

run_cmd

Runs a cmd.exe command. Risky commands require confirm='RUN_MUTATING_COMMAND'.

python_version

Returns Python executable and version.

python_import_check

Checks whether a Python package imports.

pip_list

Lists installed pip packages.

environment_variables

Returns environment variables, redacting secrets.

ngrok_status

Checks ngrok-related local status.

desktop_operator_status

Returns availability of desktop automation support modules.

capture_screen

Captures the desktop and saves a PNG image. monitor=0 captures all monitors.

annotate_screen

Captures the screen and draws a red rectangle around a target area.

get_mouse_position

Returns the current mouse cursor position.

move_mouse

Moves the mouse cursor. Requires confirm='CONTROL_DESKTOP'.

left_click

Left-clicks at screen coordinates. Requires confirm='CONTROL_DESKTOP'.

right_click

Right-clicks at screen coordinates. Requires confirm='CONTROL_DESKTOP'.

double_click

Double-clicks at screen coordinates. Requires confirm='CONTROL_DESKTOP'.

drag_mouse

Drags the mouse from one point to another. Requires confirm='CONTROL_DESKTOP'.

press_key

Presses a keyboard key. Requires confirm='CONTROL_DESKTOP'.

hotkey

Presses a keyboard shortcut. Example keys_csv='ctrl,shift,s'. Requires confirm='CONTROL_DESKTOP'.

type_text

Types text into the active window. Requires confirm='CONTROL_DESKTOP'.

desktop_windows

Lists desktop windows with position and size.

activate_window

Brings the first matching window to the foreground.

maximize_window

Maximizes the first matching window.

minimize_window

Minimizes the first matching window.

close_window

Closes the first matching window. Requires confirm='CONTROL_DESKTOP'.

capture_window

Captures the screen area occupied by the first matching window.

list_ui_elements

Lists visible UI Automation elements for a matching window. Best for buttons, menus, edit boxes, tabs.

click_ui_element

Clicks a UI Automation element by name. Requires confirm='CONTROL_DESKTOP'.

ocr_screen

Runs OCR on a screenshot and returns detected text blocks. Requires pytesseract installed and configured.

find_text_on_screen

Finds text on screen using OCR and returns an approximate bounding box.

click_text

Finds visible text with OCR and clicks it. Requires confirm='CONTROL_DESKTOP'.

find_image_on_screen

Finds an image/template on screen. Requires pyautogui and usually OpenCV for confidence matching.

click_image_on_screen

Finds an image/template on screen and clicks its center. Requires confirm='CONTROL_DESKTOP'.

wait_for_window

Waits until a window with matching title appears.

launch_program

Launches a program. Requires confirm='LAUNCH_PROGRAM'.

launch_start_app

Launches an installed Start Menu app by display name match. Requires confirm='LAUNCH_PROGRAM'.

computer_help

Lists examples for using the desktop operator tools.

list_available_paths

Lists filesystem roots visible to the Portal Windows account.

path_access

Resolves a path and reports whether the Portal account can access it. This check does not create, change, or delete anything.

read_text_range

Reads 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_file

Hashes a file on any accessible path without changing it.

start_job

Starts an independently monitored background job and returns immediately.

list_jobs

Lists persistent background jobs, newest first.

job_status

Returns live status and optional output tails for one background job.

job_output

Reads bounded stdout and/or stderr tails from a background job.

stop_job

Stops only the process tree recorded for one Portal job. Requires confirm='STOP_JOB'.

delete_job

Deletes the metadata and logs for a finished Portal job. Requires confirm='DELETE_JOB'. Running jobs cannot be deleted.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configPORTAL_HOMErepository folder Default command working directory
configPORTAL_BIND_HOST127.0.0.1 MCP listener address
configPORTAL_PORT8000 MCP listener port
configPORTAL_PUBLIC_HOSTNAMEblank Optional hostname for an intentionally secured reverse proxy
configPORTAL_SCREENSHOT_DIRscreenshots Saved screenshots
configPORTAL_JOB_DIRjobs Persistent job metadata and output logs
// quality suggestions

Tool 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.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/rdgenoyahoo/chatgpt-windows-portal?variant=verified)](https://m8ven.ai/mcp/rdgenoyahoo/chatgpt-windows-portal)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 2bc3a6f9b9a8852b60bda1e1f109b1bfa797ad41
code hash: c36ee150cc6f078c208416cbdda83c0ba92da7d4e3d051c56054f85c9b6d9d8f
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

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
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client