Skip to main content
Glama
powershell-mcp
by IMRRD

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PWSH_MCP_EXENoOverride the PowerShell executable path. Default is to prefer pwsh (PowerShell 7+) and fall back to powershell.exe.
POWERSHELL_MCP_NO_TELEMETRYNoSet to '1' to disable anonymous telemetry.
POWERSHELL_MCP_TELEMETRY_URLNoOverride the telemetry endpoint URL.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
run_powershellA

Run a PowerShell script/command on this Windows host in a hidden process (no console window appears). Returns stdout, stderr and exit code. Use for any Windows command, file, or system task.

list_servicesA

List Windows services, optionally filtered by a name pattern. Returns Name, DisplayName, Status.

get_serviceA

Get detailed status of one Windows service by name.

control_serviceB

Start, stop, or restart a Windows service (requires the MCP host process to have sufficient privileges).

system_infoA

Return OS, CPU, memory and disk summary for this Windows host.

ssh_execA

Run a command on a remote host over SSH, fully in-process (no ssh.exe, no WSL — works headless). Use for Linux hosts or any OpenSSH target. Auth via privateKeyPath or password. Returns stdout, stderr, exit code.

winrm_execA

Run a command on a remote Windows host via PowerShell Remoting (WinRM / Invoke-Command). Native to Windows Server — no SSH server or agent needed on the target, only WinRM enabled. Output captured in-process (no console window).

sftp_uploadA

Upload a local file to a remote host over SFTP, in-process (ssh2 — no scp.exe, no WSL, headless). Use to deploy scripts/configs to Linux hosts.

sftp_downloadC

Download a file from a remote host to this Windows host over SFTP, in-process (ssh2 — no scp.exe, no WSL, headless).

run_programA

Run a native executable DIRECTLY (no shell) in a hidden process and capture clean stdout/stderr + exit code. Use this for console programs like gh, git, docker, node, python, etc. -- direct execution captures their stdout/stderr without PowerShell pipeline semantics. Historical hidden-shell native stdout loss is executable/environment-specific; it is not universal. Provide the program and an args array (no shell quoting needed).

start_remote_batchA

Opt-in process-local SSH/WinRM batch; 1–32 explicit targets, up to 8 concurrent, per-target deadline. No discovery or retry. SSH supports at most four explicit jumps. Unknown after server restart.

remote_batch_statusB

Read ordered per-target batch records; unavailable after process restart.

cancel_remote_batchB

Stop dispatch of queued targets; active targets become unknown, not confirmed terminated.

runtime_capabilitiesA

Read-only runtime package, protocol, supported and available engines, transports and limits; no identity, environment or secrets.

start_executionB

Start a local executable directly with durable idempotency and bounded output. No shell; remote targets unsupported.

execution_statusB

Read a local execution state. Unknown after restart means no automatic replay or verified ownership.

read_execution_outputB

Read a bounded base64 output page, including while running.

cancel_executionC

Request local cancellation. Windows confirms Job Object tree termination asynchronously; failures remain unknown.

read_output_logB

Read a bounded raw byte page from an opt-in session log; base64 encoded. Handles are process-local and expire after one hour.

delete_output_logC

Delete a session log by opaque handle.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 20 tools

Disambiguation3/5

Several tools overlap around execution: run_powershell, run_program, and start_execution all run local code/executables; ssh_exec/winrm_exec overlap with start_remote_batch for remote commands; read_execution_output and read_output_log both page output. Descriptions do distinguish shell vs direct, durable vs one-shot, and single vs batch, but an agent must carefully choose and misselection is plausible.

Naming Consistency3/5

All names are snake_case, but the pattern is mixed: verb_noun (run_powershell, list_services, start_execution), noun_verb (ssh_exec, sftp_upload), noun-only (system_info, runtime_capabilities), and status suffixes (remote_batch_status, execution_status). Still readable, but not a predictable convention throughout.

Tool Count3/5

20 tools sits in the heavy 16-25 band for a server whose core purpose could be served by fewer primitives. The remote batch, local execution lifecycle, and output-log management families each add surface area, and while most tools earn a role, the set feels over-expanded for the apparent scope.

Completeness4/5

Coverage is broad: local shell/direct execution, service inspection/control, system info, SSH/WinRM/SFTP remote operations, batch lifecycle, local execution lifecycle, and output log read/delete. Minor gaps such as remote file listing or richer service configuration exist but are workaroundable via run_powershell or ssh_exec.

Maintenance

ActivityMaintained
ResponsivenessLimited data