Production-ready Model Context Protocol (MCP) server providing Claude with complete file system integration including directory management, file operations, Office document creation/editing, and advanced file tree visualization. Pre-built executables available for macOS, Windows, and Linux for easy end-user installation without Node.js dependencies.
Download from https://claude.ai/download
macOS: π¦ Download macOS Executable
Windows: π¦ Download Windows Executable
- For macOS/Linux users:
chmod +x file-system ./file-system
- For Windows users:
Double-click the file, or run via terminal:
.\file-system.exe
Note:
- No need to run the executable repeatedly
- Do NOT delete the executable after running
- If you rename, move, or modify the executable, you must run it again (Step 3) to restart it properly
Visit the homepage to browse all available tools:
- Homepage: http://localhost:20252/
- See all 20 File System tools with user-friendly descriptions
- Great for understanding what the server can do
IMPORTANT: Access the permissions manager at http://localhost:20252 to configure file system access:
- Claude Desktop open (recommended for most users), OR
- The terminal/command window open where you ran the program (for advanced users)
If you close both Claude Desktop AND the terminal window, the file system server will stop working.
- Navigate to http://localhost:20252 in your browser
- Add paths manually using the input field (no file picker available - you need to enter paths manually)
- Select appropriate permissions (Read Only or Read & Write)
- Save your configuration
You can stop the server if needed (launching Claude will automatically stop the currently running instance/port)
Start Claude Desktop application
Claude will now have access to file system operations based on your configured permissions
Important: When prompting Claude, include "use file system tools" in your prompts to ensure the LLM utilizes the file system MCP tools
git clone https://github.com/chayan-1906/FS-MCP.git
cd FS-MCPnpm installnpm run devOr compile and run:
npm run build
npm run bundle
npm run packageVisit http://localhost:20252 to access the permissions manager and configure file system access.
The File System MCP includes a built-in permissions manager accessible at http://localhost:20252.
- Manual Path Entry: Enter file and folder paths manually in the input field
- Permission Levels: Choose between Read Only and Read & Write access
- Real-time Updates: See changes immediately with pending indicators
- Undo Functionality: Easily undo removed permissions
- Server Status: Real-time connection status monitoring
macOS/Linux:
~/Library/Application Support/Claude/file_system_config.json
Windows:
%APPDATA%\Claude\file_system_config.json
[
{
"path": "/path/to/file/or/folder",
"operation": "read"
},
{
"path": "/another/path",
"operation": "write"
}
]Detailed documentation: FileSystem MCP User Guide
| Tool Name | Category | Description |
|---|---|---|
get-directory-content |
Directory | Lists files and folders within the specified directory |
create-directory |
Directory | Creates a new directory at the specified path |
delete-directory |
Directory | Deletes a directory |
list-allowed-directories |
Directory | Returns the list of allowed directories and their permissions from the configuration |
directory-tree |
Directory | Generates a hierarchical tree view of directory structure with customizable depth and filtering options |
read-file |
File | Reads file content with line numbers. Supports reading specific line ranges |
create-file |
File | Creates a new empty file at the specified path |
modify-file |
File | Modifies specific lines in a file using insert, replace, or delete operations |
copy-file |
File | Copies a file from the source path to the destination path |
delete-file |
File | Deletes a file at the specified path |
get-file-directory-info |
File | Retrieves metadata about a file or directory |
search-file-directory |
File | Searches for files or directories by name within allowed directories |
move-rename-file-directory |
File | Moves or renames a file or directory from the source path to the destination path |
create-excel |
Office | Creates an Excel sheet (.xlsx) with specified data and advanced styling |
read-excel |
Office | Reads Excel (.xlsx) files and returns data from all sheets |
create-presentation |
Office | Creates a PowerPoint presentation (.pptx) with specified slides and content |
read-presentation |
Office | Reads PowerPoint (.pptx) files and extracts text content |
create-document |
Office | Creates a Word document (.docx) with specified content and formatting |
read-document |
Office | Reads Word (.docx) files and extracts text content |
run-shell-command |
System | Executes a shell command on the server |
- Interactive Homepage: Complete tool browser at
http://localhost:20252/showcasing all 20 file system MCP tools - Advanced Search & Filtering: Real-time search across tool names and descriptions with category-based filtering
- Tool Documentation Modals: Click-to-view detailed information for each tool including parameters, examples, and descriptions
- Responsive Design: Modern glassmorphism UI with mobile-responsive layout and smooth animations
- Tool Architecture: Enhanced all tool registrations with structured metadata integration using
mcp-utilspackage - Route Updates: Renamed
/inputto/manage-permissionsfor better semantic clarity and user understanding - Parameter Descriptions: Migrated from hardcoded descriptions to dynamic parameter descriptions from tool configurations
- Type Safety: Added comprehensive TypeScript interfaces for Excel, Document, and Presentation data structures
- Homepage Generation: Created new
src/templates/homepageHTML.tswith interactive HTML, CSS, and JavaScript - Type Definitions: Added
src/types/index.tswith interfaces forTreeNode,TreeResult,ExcelData,PresentationData, andDocumentData - Build Process: Unified build script execution across macOS and Windows platforms in
package-script.ts - Error Handling: Improved error reporting consistency across all tool implementations
- @modelcontextprotocol/sdk: Updated from
^1.17.4to^1.18.0for latest MCP protocol support - mcp-utils: Integrated for enhanced tool categorization and parameter management
- Interface Consolidation: Moved type definitions from individual tool files to centralized
src/types/ - Configuration Management: Unified tool constants with comprehensive metadata including categories and descriptions
- Package Management: Removed package-lock.json for better cross-platform compatibility
- Total Tools: 20 comprehensive file system operations organized across 3 categories
- New Routes: Homepage (
/) with searchable tool browser and permissions management (/manage-permissions) - UI Components: Interactive modals, search functionality, category filters, and responsive design elements
- π Complete File Operations: Read, write, create, delete, copy, move, and rename files
- ποΈ Directory Management: Create, delete, list, and navigate directory structures
- π Office Document Support: Create and read Excel, PowerPoint, and Word documents
- π³ Advanced Tree Visualization: Hierarchical directory tree with customizable depth and filtering
- π Security-First Design: Granular permissions system with read/write access control
- π₯οΈ Web-Based Permissions Manager: User-friendly interface for managing file system access
- β‘ Real-time Updates: Live synchronization and status monitoring
- π Smart Search: Find files and directories by name with flexible matching
- π Line-by-Line Editing: Precise file modifications without full rewrites
- π Shell Integration: Execute system commands with proper security measures
The server is structured with:
- Tools: Individual file system operation handlers
- Controllers: Business logic for file operations and web interface
- Routes: API endpoints and web routes
- Utils: Helper functions, security checks, and path resolution
- Config: Environment and configuration management
- Public: Web-based permissions manager interface
This MCP server provides comprehensive file system operations including:
- File and directory CRUD operations
- Advanced tree visualization and navigation
- Office document creation and manipulation
- Metadata extraction and file information
- Search and filtering capabilities
- Shell command execution
- Permissions management and security
- π¦ TypeScript β Type-safe application development
- π File System APIs β Native file system integration
- π§ MCP SDK β Model Context Protocol server framework
- β Zod β Schema-based input validation
- π ExcelJS β Excel file manipulation
- π Docx β Word document creation
- π₯ PptxGenJS β PowerPoint presentation generation
- π Express.js β Web server framework for permissions manager
- π¨ CORS β Cross-origin resource sharing
- Path Validation: Prevents directory traversal attacks
- Permission Boundaries: Restricts access to explicitly allowed paths
- Operation Validation: Validates read/write permissions for each operation
- Safe Path Resolution: Resolves and validates all file paths
- Error Isolation: Prevents sensitive information leakage through errors
- Configuration Protection: Secures permissions configuration file
- Efficient Tree Generation: Optimized directory traversal algorithms
- Memory Management: Streaming for large file operations
- Caching: Smart caching for frequently accessed directory structures
- Async Operations: Non-blocking file system operations
- Error Recovery: Graceful handling of file system errors
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/add-pdf-supportorgit checkout -b fix/permission-validation) - Commit your changes (
git commit -m 'Add PDF file support'orgit commit -m 'Fix permission validation for nested paths') - Push to the branch (
git push origin feature/add-pdf-support) - Open a Pull Request
Padmanabha Das
- GitHub: @chayan-1906
- LinkedIn: Padmanabha Das
- Email: [email protected]
If this project helped you, please give it a βοΈ!
If you need additional file system tools or features that aren't currently available, please let me know! I'm happy to extend the functionality based on your requirements.
ISC
Made with β€οΈ by Padmanabha Das
β Star this repo if you found it helpful!
Note: This server requires proper file system permissions configuration. Please ensure you have configured allowed paths before running file operations.
