Skip to main content
Glama
wsl-files
by duplonicus

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WSL_FILES_ROOTSNoAllowed folders, separated by `:`; the first one is where relative paths start~/dev
WSL_FILES_STATENoWhere `changes.log` goes~/.local/state/wsl-files
WSL_FILES_WSL_DRIVENoWindows drive letter mapped to the WSL rootW
WSL_FILES_WINDOWS_USERNoUser in `C:\Users\<user>\dev`$USER

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_rootsA

The folders this server may read and write. Every other path is refused.

read_fileA

Read a text file. Each line comes back as ''.

path: the file (~/dev/..., an absolute WSL path, a Windows spelling of one, or relative to the first root). offset: first line to return, counting from 1. limit: how many lines to return.

write_fileA

Create a file or replace it whole. Missing parent folders are created.

path: the file to write. content: the complete new contents.

edit_fileA

Replace exact text in a file. old_string must appear exactly once unless replace_all is true.

path: the file to change. old_string: the exact text to find (copied from read_file output, without line numbers). new_string: the text to put in its place. replace_all: replace every occurrence instead of requiring a single one.

list_dirA

List a folder: subfolders first (ending in /), then files with their sizes.

path: the folder; empty means the first root (~/dev). depth: how many levels to show (1-5). .git, node_modules, .venv and caches are not entered.

find_filesA

Find files by name with a glob such as '.md', 'NOW.md' or 'docs/**/.py'.

pattern: the glob, matched against the path relative to path (a pattern without / also matches bare file names). path: the folder to look in; empty means the first root. max_results: stop after this many.

searchA

Search file contents with a regular expression. Returns 'file:line: text' for each match.

pattern: a Python regular expression. path: a folder or a single file; empty means the first root. Narrow it: ~/dev is large. glob: only search files whose relative path matches this glob, e.g. '*.md'. ignore_case: match regardless of case. max_results: stop after this many matching lines.

copy_to_windowsA

Copy any file (binary too: docx, pdf, png, .skill) from WSL into the Windows staging folder, where your own file tools can open it. Off unless the server has a staging folder set.

path: the file in WSL. name: file name (or sub/path) inside the staging folder; empty keeps the file's own name.

copy_from_windowsA

Copy a file you made in the Windows staging folder (binary too) to a path in WSL.

name: the file inside the staging folder (a name, a sub/path, or its full Windows path). path: where it goes in WSL (same rules as write_file).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 9 tools

Disambiguation5/5

Tools are clearly separated by action and resource: reading, writing, editing, listing, finding, searching, and Windows staging copies each have a distinct purpose. No two tools overlap ambiguously.

Naming Consistency4/5

Most names follow a verb_noun pattern (read_file, write_file, list_dir, find_files) or verb_prep_noun (copy_to_windows). The lone 'search' is just a verb, a minor deviation from the otherwise consistent convention.

Tool Count5/5

9 tools is well within the ideal 3–15 range for a file-access server. Each tool covers a distinct capability without redundancy.

Completeness4/5

Core read, write, edit, list, find, search, and cross-boundary copy operations are present. Delete and move/rename are missing, limiting full lifecycle coverage, but the main file workflows are supported.