winrm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WINRM_MCP_SSL | No | Enable SSL (true/false) to use HTTPS (port 5986) instead of HTTP. | |
| WINRM_MCP_AUTH | No | Authentication mechanism (e.g., ntlm). | |
| WINRM_MCP_HOST | No | The Windows host to connect to. | |
| WINRM_MCP_PATH | No | Custom WinRM path. | |
| WINRM_MCP_PORT | No | The WinRM port (default 5985 for HTTP, 5986 for HTTPS). | |
| WINRM_MCP_PASSWORD | No | The password to authenticate with. Prefer WINRM_MCP_PASSWORD_ENV for security. | |
| WINRM_MCP_USERNAME | No | The username to authenticate with. | |
| WINRM_MCP_TRANSPORT | No | Transport type (e.g., stdio). | |
| WINRM_MCP_ENCRYPTION | No | WinRM encryption setting. | |
| WINRM_MCP_PROJECT_DIR | No | Project directory used for project-scoped inventory. | |
| WINRM_MCP_SERVER_HOST | No | Server host for non-stdio transports. | |
| WINRM_MCP_SERVER_PORT | No | Server port for non-stdio transports. | |
| WINRM_MCP_PASSWORD_ENV | No | Name of the environment variable containing the password. | |
| WINRM_MCP_READ_TIMEOUT | No | Read timeout in seconds. | |
| WINRM_MCP_INVENTORY_FILE | No | Path to a custom inventory file. Used when no explicit scope is provided. | |
| WINRM_MCP_CERT_VALIDATION | No | Enable certificate validation (true/false). Set to false for self-signed certificates. | |
| WINRM_MCP_CONNECT_TIMEOUT | No | Connection timeout in seconds. | |
| WINRM_MCP_INVENTORY_SCOPE | No | Inventory scope: 'user' (default) or 'project'. | user |
| WINRM_MCP_OPERATION_TIMEOUT | No | Operation timeout in seconds. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| winrm_inventory_statusA | Show the project or user inventory path, existence, and saved host count. |
| winrm_inventory_initC | Create an empty project or user inventory without replacing existing data by default. |
| winrm_inventory_validateC | Validate an inventory file and every saved WinRM host. |
| winrm_host_listC | List saved WinRM hosts with passwords redacted. |
| winrm_host_getA | Get one saved WinRM host with its password redacted. |
| winrm_host_saveC | Save a WinRM host in the project or user inventory. Prefer password_env over password. |
| winrm_host_updateC | Update selected settings on a saved host; remove optional values with remove_fields. |
| winrm_host_deleteB | Delete a saved WinRM host. |
| winrm_testB | Test a WinRM connection with a harmless PowerShell marker command. |
| winrm_execute_powershellC | Execute a PowerShell command over WinRM and return stdout, stderr, and exit code. |
| winrm_execute_cmdB | Execute a CMD command over WinRM and return stdout, stderr, and exit code. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool maps to a distinct concern: inventory management, host CRUD, connection testing, and command execution. Even the two execute tools are cleanly separated by PowerShell vs CMD, and winrm_test is clearly scoped to harmless connectivity verification.
All tools use a consistent snake_case convention with the winrm_ prefix and follow a clear subdomain grouping: inventory_*, host_*, execute_*, and test. The naming pattern is predictable and makes the tool's purpose immediately understandable.
With 11 tools, the server is well-scoped for WinRM host inventory management and remote command execution. Each tool covers a distinct operation without unnecessary overlap or bloat.
The toolset covers the full lifecycle: inventory setup and validation, host CRUD operations, connection testing, and both PowerShell and CMD execution. There are no obvious dead ends or missing operations for the stated domain.