Windows MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Windows MCP Server show me the top 5 processes using the most CPU"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Windows MCP Server
This project provides a Windows MCP (Model Context Protocol) server exposing useful system information and control tools for Windows environments on your AI applications.
What’s new
More robust drive and uptime implementations (no brittle PowerShell parsing).
Structured results for top processes (list of objects with pid, name, cpu_percent, memoryMB).
Structured results for memory and network information.
Safer PowerShell usage with JSON parsing for GPU info.
Related MCP server: System Info MCP Server
Features
System info (OS, release, version, architecture, hostname)
Uptime and last boot time
Drives listing and per-drive space usage
Memory, CPU, GPU, and Network information
Top processes by memory and CPU (accurate sampling)
Available Tools
Tool Name | Description | Parameters | Returns |
Windows-system-info | Get OS, release, version, architecture, and hostname | None | object: name, system, release, version, architecture, hostname |
Windows-last-boot-time | Get the last boot time of the system | None | string (timestamp) |
Windows-uptime | Get system uptime since last boot | None | string: "Uptime: seconds" |
Windows-drives | Get list of all available drives | None | string[] (e.g., ["C", "D"]) |
Windows-drive-status | Get used and free space for a specific drive | drive: string | DriveInfo { name, used_spaceGB: number, free_spaceGB: number } |
Windows-drives-status-simple | Get status using comma-separated drive letters | drives_string: string | DriveInfo[] |
Windows-memory-info | Get RAM usage information | None | object: total_memory, available_memory, used_memory (strings with GB) |
Windows-network-info | Get network IPv4 addresses per interface | None | object: interface -> IPv4 (or { error }) |
Windows-cpu-info | Get CPU model, logical count and frequency | None | string |
Windows-gpu-info | Get GPU name(s) and driver versions | None | string (one line per GPU) |
Windows-top-processes-by-memory | Get the top X processes by memory usage | amount: int = 5 | ProcessInfo[] { pid, name, memoryMB, cpu_percent? } |
Windows-top-processes-by-cpu | Get the top X processes by CPU usage (sampled for accuracy) | amount: int = 5 | ProcessInfo[] { pid, name, cpu_percent, memoryMB } |
Note: Previously documented tools Windows-name-version, Windows-drives-status, and Windows-all-drives-status are not currently implemented to avoid duplication. If needed, they can be added easily.
Requirements
Python 3.13+
uv (for fast startup and dependency management)
# On Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Installation
Clone this repository:
git clone https://github.com/carlosedp/windows-mcp-server.git
cd windows-mcp-serverRunning the development Server
uv run mcp dev main.pyuv handles the installation of dependencies and runs the server with the MCP protocol enabled.
Then in the MCP Inspector browser window:
Click "Connect" to connect the MCP client.
Go to the "Tools" tab to see available tools.
Click "List Tools" to see the available tools.
Select a tool and click "Run tool" to execute it.
Examples
Windows-system-info
{
"name": "MY-PC",
"system": "Windows",
"release": "10",
"version": "10.0.19045",
"architecture": "64bit",
"hostname": "MY-PC"
}Windows-drive-status (input: "C")
{
"name": "C",
"used_spaceGB": 120.53,
"free_spaceGB": 380.12
}Windows-memory-info
{
"total_memory": "32.00 GB",
"available_memory": "18.25 GB",
"used_memory": "13.75 GB"
}Windows-network-info
{
"Ethernet": "192.168.1.50",
"Wi-Fi": "10.0.0.15"
}Windows-top-processes-by-cpu (amount: 3)
[
{ "pid": 1234, "name": "chrome.exe", "cpu_percent": 24.7, "memoryMB": 512.3 },
{ "pid": 4321, "name": "code.exe", "cpu_percent": 12.1, "memoryMB": 650.8 },
{ "pid": 9876, "name": "System", "cpu_percent": 8.4, "memoryMB": 45.0 }
]MCP Client Configuration Example
LM Studio using Llama 3.2 3B getting system information using the MCP server:

Some more examples of tools you can run:

To connect your MCP client to this server (like Claude Desktop, VSCode, LM Studio, etc), add the following to your client configuration:
{
"mcpServers": {
"windows-mcp": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\Carlos Eduardo\\repos\\windows-mcp-server",
"run",
"mcp",
"run",
"main.py"
]
}
}
}Adjust the paths above to where the project file is located.
Packaging and Distribution
To publish as a Python package:
Edit
pyproject.tomlwith your metadata.Build and upload to PyPI:
python -m build
python -m twine upload dist/*License
MIT
Available Tools
12 toolsWindows-cpu-infoB
Get CPU information of the Windows system.
Inputs: no named parameters. Returns: result
Windows-drivesA
Get a list of all drives in the Windows system
Inputs: no named parameters. Returns: result
Windows-drives-status-simpleA
Get status for specific drives using a comma-separated drive letters as string (e.g., 'C,D,F')
Inputs: drives_string (required). Returns: result
Windows-drive-statusC
Get status information about the used and free space in a Windows drive
Inputs: drive (required). Returns: Model for drive information.
Windows-gpu-infoA
Get GPU information of the Windows system.
Inputs: no named parameters. Returns: result
Windows-last-boot-timeA
Get the last boot time of the Windows system
Inputs: no named parameters. Returns: result
Windows-memory-infoA
Get memory information of the Windows system.
Inputs: no named parameters. Returns: object
Windows-network-infoA
Get network information of the Windows system.
Inputs: no named parameters. Returns: object
Windows-system-infoA
Get Windows system information including OS version, release, architecture, and hostname
Inputs: no named parameters. Returns: object
Windows-top-processes-by-cpuC
Get the top X processes by CPU usage.
Inputs: amount. Returns: result
Windows-top-processes-by-memoryB
Get the top X processes by memory usage.
Inputs: amount. Returns: result
Windows-uptimeA
Get the uptime of the Windows system
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Most tools are clearly distinct, but 'Windows-drives-status-simple' and 'Windows-drive-status' could cause confusion as both relate to drive status; descriptions help differentiate.
Consistent 'Windows-' prefix, but mix of 'info' and 'status' suffixes and singular vs plural ('drives' vs 'drive') creates minor inconsistency.
12 tools for system information retrieval is well-scoped, covering key areas like CPU, memory, drives, and network without being excessive.
Covers major system info components, but lacks common queries like process listing, disk I/O, or services; overall good for basic monitoring.
Related MCP Connectors
Connect ChatGPT, Claude, Cursor or VS Code to your Windows PC: files, terminal, browser, apps.
Control your authorized Windows computers via OAuth: files, shell, apps, and task status.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
- DNS-DATA RemoteDeprecatedcom.dns-data
Connect AI assistants to authorized Windows and macOS devices for files, commands, and management.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides Windows system diagnostic capabilities to AI agents, allowing them to access event logs, crash information, system uptime, and perform stability analysis.113MIT
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive system monitoring and diagnostics through 18 tools that provide detailed information about CPU, memory, disk usage, network interfaces, running processes, battery status, hardware details, and temperature monitoring. Allows users to query system information and performance metrics through natural language interactions.10 npmISC
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to monitor system resources and control media, brightness, volume, and other Windows PC functions through natural language commands.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to retrieve structured information about the local Windows machine, including system specifications, resource health, developer tools, and AI environment, all through a secure, read-only interface.MIT