universal-mcp-fs
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_fileA | Read the full contents of a file. Text files are returned as UTF-8 text; binary files are detected automatically and returned as base64. Args:
Returns: file contents as text, or a note that the file is binary with base64 content. Error Handling:
|
| read_file_linesA | Read a specific line range from a file. Useful for large files where reading the whole thing would exceed limits. Args:
Returns: the requested lines, each prefixed with its line number. |
| write_fileA | Create a new file or overwrite an existing one. Parent directories are created automatically. Overwriting an EXISTING file requires interactive user approval (elicitation) — the server will pause and ask the connected client to confirm before proceeding. Args:
Error Handling:
|
| create_directoryA | Create a directory, including any missing parent directories (like mkdir -p). Args:
Returns: confirmation of the created path. No error if the directory already exists. |
| list_directoryA | List the contents of a directory with metadata (type, size, modified date). Args:
Returns: a listing with one entry per line: type, size, modified date, name. |
| move_fileA | Move or rename a file or directory. ALWAYS requires interactive user approval before proceeding. Args:
Error Handling:
|
| copy_fileA | Copy a file or directory (recursively for directories). Does not modify the source, so no approval is required. Args:
|
| delete_fileA | Permanently delete a single file. ALWAYS requires interactive user approval before proceeding — this cannot be undone. Args:
|
| delete_directoryA | Permanently delete a directory and all its contents, recursively. ALWAYS requires interactive user approval before proceeding — this cannot be undone. Args:
|
| search_filesA | Find files matching a glob pattern within a directory (e.g. "**/.ts", ".log"). Args:
Returns: a list of matching file paths, relative to the search directory. |
| search_contentA | Grep-like search: find a text query across files in a directory, returning matching lines with 2 lines of context before/after. Args:
Returns: matching lines with file path, line number, and surrounding context. |
| run_commandA | Execute a shell command and return its stdout/stderr. ALWAYS requires interactive user approval before running. Args:
Returns: stdout, stderr, and exit code. Error Handling:
|
| run_command_backgroundA | Start a long-running command in the background and return immediately with its process ID. ALWAYS requires interactive user approval before running. Args:
Returns: the process ID (pid), which can be used with list_processes and kill_process. Note: background processes have no timeout, but they are tracked and can be killed with kill_process. They do not survive this server process restarting (e.g. Claude Desktop being closed and reopened). |
| list_processesA | List background processes started via run_command_background during this session, with their status. Returns: a list of tracked processes with PID, command, status, and start time. |
| kill_processA | Terminate a background process previously started with run_command_background. Requires interactive user approval before proceeding. Args:
|
| file_infoA | Get metadata about a file or directory: size, created/modified dates, permissions, and type. Args:
Returns: size in bytes, created/modified timestamps, POSIX permission bits, and whether it's a directory or symlink. |
| system_infoA | Get information about the machine this server is running on: OS, hostname, home directory, Node version, CPU count, and total memory. Returns: a JSON object with platform details. |
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 17 tools
Each tool has a clearly distinct purpose: read_file vs read_file_lines differ by scope; write_file, move_file, copy_file, delete_file, delete_directory are all unique operations; search_files vs search_content are different search types; run_command vs run_command_background vs process management tools are separate; system_info and file_info are metadata distinct from content tools. No overlap.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., read_file, list_directory, search_content, kill_process). No mixing of camelCase or other conventions, making the namespace predictable.
17 tools is slightly above the typical 3-15 range, but each tool covers a distinct operation (file read/write, directory ops, searching, command execution, process management, system info) and the scope justifies the count. It feels well-scoped for a file system server.
The tool set covers all essential file system operations: create, read, update (overwrite), delete for files; directory creation and deletion; move/copy; file and content search; metadata retrieval; and even command execution with process management. No obvious gaps for common tasks.