home / mcp / systeminternals mcp server
Provides a minimal MCP server that exposes Sysinternals and NirSoft tools via safe subprocess calls and dynamic tool registration.
Configuration
View docs{
"mcpServers": {
"14ag-systeminternals-mcp": {
"command": "python",
"args": [
"server_mcp.py"
]
}
}
}You have a lightweight MCP server that exposes Sysinternals and NirSoft binaries through a safe, FastMCP-compatible interface. It demonstrates dynamic tool registration and safe subprocess handling, letting you run tools from a local binaries directory or via demos while blocking destructive operations by default.
You interact with the server through an MCP client that talks over stdio. Start a long‑running stdio server to enable integrated agent workflows, or use the per‑request demo mode for simple CLI usage.
To start the stdio MCP server locally, run the following command. It registers available tools and exposes an RPC surface your client can call.
python server_mcp.pyIf you want a single, per‑request demo that returns structured JSON, you can run a specific tool with the demo mode.
python server.py --demo procexp64You can run a tool via a separate Python script or a shell command and capture the JSON result from stdout. After the server prints the JSON, parse it in your language of choice.
import subprocess, json
proc = subprocess.run([
'python', 'server.py', '--demo', 'pslist64', '--',
# additional tool args go here as separate items
], capture_output=True, text=True)
if proc.returncode == 0 and proc.stdout:
result = json.loads(proc.stdout)
print(result)
else:
print('error', proc.stderr)The quick demo modes train you to call tools like pslist64 and procexp64. Some tools (destructive ones) are blocked by default and require explicit confirmation or safety settings to run.
Prerequisites: You need Python 3.11 or newer and a virtual environment. The server runs in a Python environment and does not require shell access to binaries.
powershell
python -m venv .venv
.\.venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txtUse a per‑tool demo for quick CLI calls, or start the stdio server for long‑running integration with agents.
# Per‑tool demo (CLI)
python server.py --demo pslist64
# Start the long‑running MCP stdio server (agent integration)
python server_mcp.pyYou can configure server behavior by editing a configuration file. The server scans a binaries directory to discover tools, and you can fine‑tune safety by enabling destruction confirmations or allowing destructive tools explicitly.
[server]
log_level = info
timeout = 30
allow_destructive = falsePlace your tool folders under a binaries directory so the server can discover them automatically. Examples include systeminternals and nirsoft. Destructive tools such as sdelete, psexec, and pskill are blocked by default; you can override this with a confirmation or by allowing destructive tools in the configuration.
Demo tool that lists processes; used in per‑tool demos and for scripting results.
Process Explorer demo tool; used to inspect running processes in demonstrations.
Destructive tool example that is blocked by default; requires explicit confirmation or permission to run.
Remote execution utility that is blocked by default; requires explicit confirmation or elevated permissions to run.
Process kill utility that is blocked by default; requires explicit confirmation to run.