enhanced-filesystem-mcp
# Enhanced Filesystem MCP Server
[](https://github.com/AesirKode/enhanced-filesystem-mcp/actions/workflows/ci.yml)
[](https://nodejs.org)
[](#)
[](LICENSE)
High-performance [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server giving AI agents advanced filesystem and automation capabilities on Windows.
**26 tools** across file I/O, search, Git, process management, Ollama, HTTP, SSH, Windows UI automation, and more — all from a single server.
---
## Install
**Requirements:** Node.js >= 22 · Windows (for `windows_tool`; other tools are cross-platform)
```bash
git clone https://github.com/AesirKode/enhanced-filesystem-mcp
cd enhanced-filesystem-mcp
npm install
npm run build
```
### Connect to Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"enhanced-filesystem": {
"command": "node",
"args": ["C:/path/to/enhanced-filesystem-mcp/dist/index.js"],
"env": {
"ALLOWED_DIRS": "C:/Users/you/Projects",
"MAX_PARALLEL": "20"
}
}
}
}
```
---
## The Toolkit (26 Tools)
### File Operations
| Tool | Purpose |
| :--- | :--- |
| `efs_read` | Read any file with caching and pagination |
| `efs_write` | Write files of any size — no chunking |
| `efs_edit` | Surgical find/replace |
| `efs_list` | Directory listing with depth and pattern filters |
| `efs_info` | File metadata: size, type, timestamps |
| `efs_delete` | Delete files or directories |
| `efs_move` | Move or rename |
| `efs_search` | Parallel file/content search |
| `efs_batch` | Atomic multi-operation execution with rollback |
| `efs_git` | Git: status, diff, log, blame, commit |
### Execution & Process
| Tool | Purpose |
| :--- | :--- |
| `efs_exec` | Shell command execution |
| `efs_python` | Python with persistent sessions |
| `process_tool` | Service/GPU management + NVIDIA stats |
### AI & Integration
| Tool | Purpose |
| :--- | :--- |
| `ollama_tool` | Ollama LLM: generate, chat, pull, manage models |
| `http_tool` | HTTP client with auth, retry, file download |
| `json_tool` | Deep JSON with JSONPath queries |
### Utilities
| Tool | Purpose |
| :--- | :--- |
| `archive_tool` | Zip: create, extract, list, add |
| `hash_tool` | MD5 / SHA1 / SHA256 / SHA512 |
| `clipboard_tool` | System clipboard read/write |
| `download_tool` | Smart downloads from CivitAI, HuggingFace, URLs |
| `model_tool` | GGUF/Safetensors inspection without loading |
| `yaml_tool` | YAML/TOML config management |
| `diff_tool` | File and directory comparison |
| `windows_tool` | Windows UI automation: keyboard, mouse, screenshots |
| `analysis_tool` | TypeScript/JS code structure analysis |
| `ssh_tool` | SSH client with SFTP |
---
## Configuration
All settings via environment variables:
| Variable | Default | Description |
| :--- | :--- | :--- |
| `ALLOWED_DIRS` | *(none)* | Comma-separated allowed directories |
| `CACHE_SIZE` | `100` | LRU cache entries |
| `MAX_PARALLEL` | `20` | Max parallel operations |
| `MODELS_DIR` | `D:\Models` | Base path for `download_tool` auto-placement |
---
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md). Bug reports and feature requests welcome via [GitHub Issues](../../issues).
## License
MIT — [Aesir / David R.](LICENSE)
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.