@modelcontextprotocol/server-wsl
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_distrosA | List all installed WSL distributions and their current state. Shows each distribution's name, whether it is Running or Stopped, its WSL version (1 or 2), and which one is the default. Use this to discover available distributions before running commands. |
| run_commandA | Execute a shell command inside a WSL distribution as the default (unprivileged) user. Returns stdout, stderr, and the exit code. Do NOT include 'sudo' in the command — it will hang waiting for a password that cannot be supplied. For operations that require root access use run_privileged_command instead. |
| run_privileged_commandA | ⚠️ ELEVATED — runs as root (via |
| read_fileA | Read the contents of a file from the WSL filesystem. Returns the file content as a UTF-8 string. Supports any text file accessible to the default WSL user. For binary files, consider piping through |
| write_fileA | Write or overwrite a file in the WSL filesystem with the provided content. Creates the file if it does not exist; overwrites it if it does. The parent directory must already exist. Use run_command with |
| list_directoryA | List the contents of a directory in the WSL filesystem. Returns each entry with its name, type (file, directory, symlink), Unix permissions, size in bytes, and last-modified timestamp. Equivalent to running |
| get_distro_infoA | Get detailed information about a specific WSL distribution. Returns the WSL version, running state, current user identity, Linux kernel version, and OS release details (distro name, version, etc.). Useful for understanding the environment before running commands. |
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 7 tools
Each tool has a clear, distinct purpose. File operations, command execution, and distro management tools are clearly separated with no overlap.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., read_file, list_distros, run_privileged_command). No mixing of conventions.
7 tools is a well-scoped set for managing WSL: file operations, command execution (normal and privileged), and distro discovery/inspection. Not too few or too many.
Covers essential WSL operations (file management, command execution, distro info). Minor missing operations like starting/stopping distros or managing defaults, but these are less critical for typical workflows.