enhanced-filesystem-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CACHE_SIZE | No | LRU cache entries | 100 |
| MODELS_DIR | No | Base path for download_tool auto-placement | D:\Models |
| ALLOWED_DIRS | Yes | Comma-separated allowed directories | |
| MAX_PARALLEL | No | Max parallel operations | 20 |
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 |
|---|---|
| efs_readA | Read file with caching and pagination. Supports any size, text/binary, offset/length. Excel: specify sheet/range. PDF: extracts as markdown. |
| efs_writeA | Write file of any size — no chunking required. Mode: 'rewrite' (default) or 'append'. Invalidates cache automatically. |
| efs_editA | Surgical find/replace in a file. oldText must be unique. count: default 1, use -1 for all occurrences. Set dryRun=true to preview the change without writing. Creates automatic backup. |
| efs_listA | List directory contents. Supports depth control, glob pattern filter, and sort by name/size/date. |
| efs_infoA | Get file/directory metadata: size, type, line count, created/modified timestamps. |
| efs_deleteA | Delete file or directory. Set recursive: true for directories. Creates automatic backup before deletion. |
| efs_moveA | Move or rename a file or directory. Works across directories. Creates automatic backup. |
| efs_searchA | Fast parallel search with indexing. Features:
Search Types:
Parameters:
Examples: efs_search({ path: "D:/Projects", pattern: ".py", searchType: "files" }) efs_search({ path: "D:/Projects", pattern: "function_name", searchType: "content" }) efs_search({ path: "D:/Projects", pattern: "bug", filePattern: ".js", maxResults: 50 }) |
| efs_batchA | Execute multiple file operations atomically. Features:
All operations complete in a single call with automatic error handling. Operations supported:
Parameters:
Operation format: { op: 'read' | 'write' | 'edit' | 'delete' | 'move' | 'list', path: string, // op-specific fields... } Examples:
|
| efs_gitB | Git operations: status, diff, log, blame, add, commit, branch, stash. repoPath required for all operations. |
| efs_execB | Execute a shell command and return stdout/stderr. Parameters: command (required), cwd (optional), timeout ms (default 30000). |
| efs_pythonA | Execute Python code. Supports persistent named sessions (variables kept between calls). Parameters: code (required), sessionId, cwd, timeout, restart. |
| process_toolA | Process and service manager with GPU monitoring. Operations: list (filter by name/port), gpu (NVIDIA stats), start (service or custom command), kill (by PID/name/port), status, restart, monitor, wait. Predefined services: ollama (11434), comfyui (8188), koboldcpp (5001). |
| ollama_toolA | Ollama LLM integration. Operations: list (installed models), show (model details), pull (download), delete, copy, create (from Modelfile), generate (single prompt), chat (multi-turn), embeddings, ps (loaded in memory). Config: optional host/timeout overrides. |
| http_toolA | HTTP client: GET/POST/PUT/DELETE/PATCH/HEAD. Supports JSON body, Bearer/Basic auth, custom headers, timeout, retry with backoff, file download via 'download' path param. |
| json_toolA | Deep JSON operations with JSONPath ($.key, $..key, $.arr[*], filter expressions). Operations: get, set, delete, merge (deep/shallow/replace), diff, flatten, unflatten, validate. |
| archive_toolA | Zip archive operations: list contents, create from files/dirs, extract to directory, add files to existing archive. |
| hash_toolA | File hashing and verification. Operations: hash (single file), verify (against expected), compare (two files), multiple (batch), string (hash text). Algorithms: md5, sha1, sha256, sha512. |
| clipboard_toolB | System clipboard operations: copy text, read/paste current content, check type, clear, copy file paths for Explorer, get file paths from clipboard. |
| download_toolA | Smart model downloads with resume, progress, SHA256 verification, and auto-placement. Sources: CivitAI (auto-detects type), HuggingFace, direct URLs. Operations: download, info (preview without downloading), list-paths (show all model folders). |
| model_toolA | Inspect AI model files (Safetensors/GGUF) without loading into memory. Operations: info (metadata, tensors, quantization), list (scan directory), compare (two models), search (by name/arch). |
| yaml_toolB | YAML/TOML/JSON config file operations. Supports get (dot-notation query), set, delete, validate, convert between formats, merge, diff, keys, format. Auto-detects format from extension. |
| diff_toolA | Compare files and directories. Operations: files (line-by-line diff), dirs (structural comparison), stat (size/date metadata), quick (fast identical check). Supports unified diff format. |
| windows_toolB | Windows UI automation. Keyboard: type, key (with modifiers: ctrl/alt/shift/win), hotkey (e.g. 'ctrl+c'). Mouse: click (left/right/middle, x/y coords), move, scroll. Windows: list, focus, minimize, maximize, close, active, window_info, move_window, screen_size. Other: screenshot (full or region), launch app. |
| analysis_toolA | Code analysis tool for TypeScript/JavaScript files. Extracts structure (classes, functions, imports) without reading the full file. Useful for understanding codebases quickly. Operations:
Examples:
|
| ssh_toolB | SSH client with persistent sessions. Operations: connect (host/username/password or privateKeyPath), exec (run command), upload/download (SFTP), list (remote dir), disconnect. sessionId required for all ops. |
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 26 tools
Most tools have clearly distinct purposes, but efs_batch duplicates operations in efs_read/write/edit/delete/move/list, creating ambiguity about when to use batch versus individual tools. JSON and YAML tools overlap on JSON handling, and efs_exec/process_tool have unclear boundaries for shell versus process management.
The efs_ prefix is used for filesystem operations but also for git, exec, and python tools, making the prefix meaningless. Other tools use a '_tool' suffix with varied noun names, mixing snake_case conventions and creating two completely different naming patterns.
26 tools is excessive for a filesystem-focused server, especially since many tools (ollama, http, windows automation, ssh) are unrelated to files. The broad scope makes the set feel like a grab-bag rather than a cohesive toolset.
Core filesystem operations like read, write, edit, delete, move, list, and search are covered, but there is no copy tool, no chmod or symlink support, and efs_git includes only a subset of git commands. The non-filesystem tools feel bolted on and do not fill these primary domain gaps.