PC Controller MCP Server (rayss868/pc-controller-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 69 out of 100, grade C. It declares 41 tools. The publisher has confirmed an email address for this listing, which proves an inbox rather than ownership (Claimed).

C
Caution
69/100

PC Controller MCP Server

Enables AI assistants to control Windows PCs by executing shell commands, managing files, capturing screenshots, and monitoring system information through a comprehensive set of MCP tools.

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

Sandbox 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

rayss868 · Claimed

Source: Glama

⚡ Upgrade to Live Monitored

Connect your repo and M8ven re-verifies it on the push itself. Without it we re-check verified listings about once a day, so a fix can sit unseen. Read-only, one click, 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.
Are you the publisher? Confirm or correct these findings.
// tools this server exposes41 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.

config_get

Retrieve the complete runtime configuration of the PC Controller MCP server. Returns the current values for all configurable settings: blockedCommands (list of dangerous commands that are tracked), defaultShell (which shell is used for run_command: powershell, gitbash, or wsl), fileReadLineLim

config_set

Update a server configuration value at runtime. Changes take effect immediately for all subsequent tool calls — no restart required. Use config_get first to see the current settings before modifying them. Supported keys: "defaultShell" (change between powershell/gitbash/wsl), "blockedCommands"

get_usage_stats

Retrieve usage statistics for the current server session. Shows per-tool call counts, error counts, and last-used timestamps, sorted by total calls descending. Use this to audit which tools have been called during the session, identify tools with high error rates that may need investigation, o

get_recent_tool_calls

Retrieve the most recent tool calls with full details: tool name, serialized arguments, success/failure status, and execution duration in milliseconds. Returns results in reverse chronological order (newest first). Use this to debug failed tool calls (see what arguments caused the error), reco

read_url

Fetch content from a URL and return it as plain text. Supports HTTP and HTTPS URLs. Content is truncated at 50KB to keep responses manageable. Use this tool to read online documentation, fetch JSON API responses, download raw file contents (e.g., from GitHub raw URLs), inspect HTML pages, or a

read_skill_docs

Read the PC Controller skill documentation files. This tool provides access to the complete AI skill reference — a structured guide describing all 39 available tools, their parameters, usage examples, workflows, and safety rules. Use this tool when you need to understand what capabilities the PC Con

file_read

Read and return the text contents of a file on this Windows PC. Supports all text-based files: .txt, .json, .js, .ts, .py, .md, .csv, .xml, .yaml, .html, .css, .log, .env, .ini, .bat, .ps1, .toml, and other text files. Supports optional line ranges (offset/limit) and negative offsets (read fro

file_write

Write text content to a file on this Windows PC. If the file does not exist, it will be created automatically along with any missing parent directories (auto-create directory). If the file already exists, its entire content will be overwritten (full replacement). Use this to create new configu

dir_list

List the contents of a folder/directory on this Windows PC. Shows file/folder names, type (folder or file), file size, and last modified date. Supports recursive mode with configurable depth limit. Use this to explore folder structures, locate files, check file sizes, or inspect directory co

file_search

Search for files on this Windows PC by name pattern (glob/wildcard). Search is performed recursively through all sub-folders. Supports wildcards like *.txt, *.jpg, *.json, config*, report_*.xlsx, and other patterns. Use this to find misplaced files, locate all files with a specific extension,

file_edit

Surgically edit a file by searching for exact text and replacing it. Unlike file_write (which overwrites the whole file), this only touches the matched parts. Built for agent-style editing: - Returns a compact git-style unified diff of the change (with a little context), so you can verify

file_move

Move or rename a file or directory on this Windows PC. If source and destination are on the same drive, the item is moved. If across drives, it is copied then deleted. Destination parent directories are created automatically. Use this to reorganize files, rename items, or move folders between

file_info

Get detailed metadata about a file or directory: size, created date, modified date, accessed date, whether it's a file or directory, and read-only status. Use this to check if a file exists before reading, check file sizes, or verify modification times.

file_tail

Read the last N lines or last N bytes of a file. Equivalent to Unix 'tail' command. Use this to check the end of log files, view recent entries in data files, or inspect the tail of large files without reading the entire content.

content_search

Search for text inside files using pattern matching (like Unix grep). Search is recursive through all sub-folders. Returns matching lines with file paths and line numbers. Use this to find where a variable is used, locate error messages in logs, find configuration keys, or trace code reference

read_multiple_files

Read contents of multiple files simultaneously. Returns each file's content labeled with its path. Useful for comparing files, loading configs, or reading related source files at once. Failed reads are reported but don't stop other files.

create_directory

Create a new directory on this Windows PC, including any necessary parent directories (equivalent to Unix 'mkdir -p'). Does nothing if the directory already exists. Use this to set up project folder structures, ensure output directories exist before writing files, or organize files into new fo

copy_file

Copy a file or directory to a new location on this Windows PC. Parent directories at the destination are created automatically if they don't exist. For directories, the copy is performed recursively (all contents included). Use this to duplicate files, create backups before editing, copy proje

delete_file

Permanently delete a file or directory from this Windows PC. WARNING: Deleted files bypass the Recycle Bin and cannot be recovered — there is no undo. For directories, use the recursive flag to delete non-empty folders and all their contents. Use this to remove temporary files, clean up build

preview_file

Preview file contents with rich formatting. Images (PNG, JPG, GIF, BMP, ICO, SVG, WEBP) are returned as base64 for inline display by the AI. Markdown files show word/line counts and headings. Code files display with syntax metadata. Other files show raw content with size info.

file_edit_batch

Apply multiple surgical edits to a single file in one round-trip, in order. Each edit searches for exact old_text and replaces it with new_text. This is the agent-friendly way to make several small changes to a code/config file without issuing one file_edit call per change and without re-readi

list_sessions

List all active terminal sessions managed by this server. Each session is a persistent shell (created by run_command with a session_id) or a long-running process that is still alive. Shows session ID, shell type, working directory, creation time, output line count, and alive status. Use this t

terminal_open

Open a VISIBLE persistent streaming terminal session (step 1 of the streaming flow). Step 1: call this tool to open a visible terminal window — it returns a confirmation that the session is ready. Step 2: send commands into it with run_command(session_id=...). The shell stays alive between cal

read_process_output

Read buffered output from a long-running terminal session with pagination. Supports offset and length parameters to read specific ranges of output lines. Use this to inspect build logs, check command output, or monitor process status without flooding the context window with too much data. Firs

interact_with_process

Send input/commands to a running interactive terminal session. Use this to interact with SSH sessions (send commands to remote servers), database CLIs (run SQL queries in PostgreSQL, MySQL, etc.), development servers (send test requests), or any process that reads from stdin. First call list_s

terminal_stop

Stop a persistent terminal session and kill its process tree (including child processes like a running dev server). The session is removed and can no longer be used; a later run_command with the same session_id opens a fresh session. Use list_sessions to see which sessions are active.

run_command

Execute a shell command on this Windows PC and return its output. This is the UNIVERSAL tool of this server: anything PowerShell, Git Bash, or WSL can do can be done here — document parsing (Word/Excel COM automation, pdftotext), registry queries, Windows services, network diagnostics, environ

run_command_long

Execute a long-running shell command on this Windows PC and return all output after completion. Unlike run_command, this tool has a default timeout of 2 minutes (120 seconds) and is designed for commands that take a long time: npm install, pip install, compiling large projects, downloading big

execute_code

Execute code in-memory using Python, Node.js, or R without saving files. The code runs as a one-shot script and returns stdout/stderr. Use this for data analysis, quick calculations, prototyping, or testing snippets. Python and R must be installed on the system.

screen_capture

Capture a screenshot (screen grab) of the primary monitor on this Windows PC. Returns the screenshot image in PNG format as base64 data that the AI can directly view and analyze. Use cases: see what's currently displayed on screen, debug UI issues in applications, verify visual changes, create

sys_info

Retrieve detailed and comprehensive system information about this Windows PC. Includes: hostname/computer name, OS version and architecture, uptime (how long the PC has been running), CPU model and core count, CPU clock speed, total RAM and free/used RAM (in human-readable format), disk/storag

process_list

Display a list of processes/applications currently running on this Windows PC. Shows process name, Process ID (PID), memory usage (in MB), and CPU time (in seconds). Can be filtered by process name (partial match) to find specific processes. Can be sorted by name, memory usage (find RAM hogs),

process_kill

Force-terminate a running process on this Windows PC. Can target by process name (kills ALL instances with that name) or by Process ID/PID (kills a specific process). The process is force-killed without confirmation. Use this to stop hung/frozen applications, close unwanted programs, or free u

open_path

Open a file, folder, or URL using the default application on this Windows PC. For files: opens with the registered application (e.g., .pdf in PDF reader, .jpg in image viewer, .docx in Word). For folders: opens in Windows Explorer. For URLs: opens in the default web browser. Use this to open d

clipboard_get

Read the current text content of the Windows system clipboard (the last copied item). The clipboard is the temporary storage area for copy/paste operations. With this tool, the AI can read what's currently in the clipboard — useful to grab data copied from other applications or verify what was

clipboard_set

Copy text to the Windows system clipboard so the user can immediately paste it (Ctrl+V) in any application. The clipboard is the temporary storage area for copy/paste operations. Use cases: copy command output to the clipboard, transfer text between applications, or automate copy-paste workflo

zip_create

Create a ZIP archive from files or folders using PowerShell Compress-Archive. Use this tool to compress files/folders into a .zip file for backup, sharing, or archiving. Supports wildcards in source (e.g. "D:\logs\*.log"). The destination path should end in .zip.

zip_extract

Extract a ZIP archive to a destination folder using PowerShell Expand-Archive. Use this tool to unzip archives. The destination folder is created automatically if it doesn't exist. Existing files in the destination will be overwritten.

window_focus

Bring a window to the foreground by matching its title or process name (case-insensitive). Use this tool to switch focus to a specific application window before sending keys or interacting with it. Example: "Notepad", "Visual Studio Code", "chrome" — matches any open window whose title contain

key_type

Type text or send keystrokes to the currently focused window using PowerShell SendKeys. Call window_focus first to make sure the target window is active. For literal text, pass 'text' (special characters are escaped automatically). For shortcuts and special keys, pass 'keys' as a raw SendKeys

notify

Show a Windows notification balloon with the given title and message. Use this tool to notify the user when a long task finishes, when something needs their attention, or to display information without opening a window. The notification stays visible for ~6 seconds.

// 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.
configPC_CONTROLLER_IDLE_KILL_MS
// 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

41/41 tools missing one or more hints — config_get (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); config_set (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_usage_stats (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +38 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_file deletes at line 781 (fs.rm(targetPath, { recursive: recursive || false, force: recursive || false }))

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

Only 5/41 tool handlers declare input schemas (12%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool description accuracy

file_edit: description implies read-only but handler writes/deletes/executes

Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.

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 5 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/rayss868/pc-controller-mcp-server?variant=verified)](https://m8ven.ai/mcp/rayss868/pc-controller-mcp-server)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 0bf8839caaee0096fa776d521604ac632d5ac628
code hash: 50cd0c8898e108162bbf8b7f60f995376f4caeb117214528b893bc4729140c59
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