MCP File System
# MCP File System
A Model Context Protocol (MCP) server that provides filesystem operations through a standardized interface.
## Features
- File operations (read/write)
- Directory management (create/list/delete)
- File movement and renaming
- File metadata retrieval
- File search capabilities
- Access control through allowed directories
## Getting Started
1. Install dependencies:
```bash
npm install
```
2. Build the project:
```bash
npm run build
```
3. Run the server with allowed directories:
```bash
npm start /path/to/allowed/directory [/path/to/another/directory ...]
```
## Documentation
- [Server Implementation Details](docs/server-implementation-fix.md) - Learn about the server implementation and recent fixes
- See the [MCP SDK Documentation](https://modelcontextprotocol.org/docs) for more details about the protocol
## Development
The server is built using:
- TypeScript
- MCP SDK (high-level API)
- Node.js filesystem APIs
## Security
The server implements path validation to ensure operations only occur within allowed directories specified at startup.
## License
ISC
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose with no ambiguity. Tools like create_directory, list_directory, read_file, write_file, move_file, and search_files all target specific file system operations without overlap. Even read_file and read_multiple_files are clearly differentiated by single vs. batch operations.
All tools follow a consistent verb_noun pattern using snake_case throughout. Examples include create_directory, list_directory, read_file, write_file, move_file, search_files - this predictable naming makes the toolset easy to navigate and understand.
With 9 tools, this is well-scoped for a file system server. Each tool earns its place by covering essential operations: directory management, file reading/writing, file operations, and searching. The count is neither too sparse nor overwhelming for the domain.
The toolset provides excellent coverage of core file system operations including CRUD-like functionality (create, read, write, move) and directory operations. The only minor gap is the absence of delete operations (delete_file, delete_directory), but agents can work around this limitation for most workflows.