Skip to main content
Glama
parthRana26

File Manager MCP

by parthRana26
README.md
# šŸ—‚ļø File Manager MCP

### Open-Source MCP Server for Local File Management

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Python](https://img.shields.io/badge/python-3.13%2B-blue.svg)](https://www.python.org/)
[![MCP](https://img.shields.io/badge/MCP-Compatible-brightgreen)](https://modelcontextprotocol.io/)
[![FastMCP](https://img.shields.io/badge/FastMCP-powered-purple.svg)](https://github.com/jlowin/fastmcp)
[![Transport](https://img.shields.io/badge/Transport-Streamable_HTTP-success)](#)
[![Tools](https://img.shields.io/badge/MCP_Tools-35-orange)](#)
[![Status](https://img.shields.io/badge/Status-Active-success)](#)
[![Open Source](https://img.shields.io/badge/Open_Source-Yes-blueviolet)](#)

File Manager MCP is an open-source Model Context Protocol (MCP) server that enables AI assistants such as ChatGPT, Cursor, VS Code, Windsurf, and other MCP-compatible clients to perform local filesystem operations through natural language.

Built with FastMCP and Streamable HTTP transport, the server exposes 35 filesystem tools covering file management, directory operations, search, ZIP handling, batch processing, and utility operations.

---

## šŸš€ Why File Manager MCP?

Instead of manually navigating files and folders, users can interact with their filesystem through AI.

### Example

User:

```text
Create a FastAPI project structure
```

AI:

```text
āœ“ Creates folders
āœ“ Creates README.md
āœ“ Creates requirements.txt
āœ“ Creates source files
```

User:

```text
Zip the project and move it to backups
```

AI:

```text
āœ“ Creates ZIP archive
āœ“ Moves archive
```

Everything runs locally on the user's machine.

---

## ✨ Features

### File Operations

* Create files
* Read files
* Update files
* Append content
* Delete files
* Move files
* Copy files
* Rename files

### Directory Operations

* Create directories
* Delete directories
* Analyze directories
* Generate directory trees

### Search Services

* Recursive file search
* Folder search
* Metadata inspection

### ZIP Operations

* Create ZIP archives
* Extract ZIP archives
* List ZIP contents

### Batch Operations

* Batch create files
* Batch delete files
* Batch move files
* Batch copy files
* Batch rename files
* Batch create directories
* Batch delete directories

### Utility Operations

* File hashing
* Duplicate detection
* File comparison
* Directory comparison
* Large file discovery
* Empty directory cleanup
* Temporary file cleanup

---

## šŸ“Š Project Statistics

| Metric          | Value           |
| --------------- | --------------- |
| MCP Tools       | 35              |
| Service Modules | 5               |
| Transport       | Streamable HTTP |
| Framework       | FastMCP         |
| Language        | Python          |
| License         | MIT             |

---

## šŸ—ļø Architecture

```text
User
 │
 ā–¼
MCP Client
(ChatGPT / Cursor / VS Code)
 │
 ā–¼
File Manager MCP
(FastMCP Server)
 │
 ā”œā”€ā”€ File Services
 ā”œā”€ā”€ Search Services
 ā”œā”€ā”€ Batch Services
 ā”œā”€ā”€ ZIP Services
 └── Utility Services
 │
 ā–¼
Local Filesystem
```

---

## šŸ› ļø Technology Stack

* Python
* FastMCP
* Model Context Protocol (MCP)
* Streamable HTTP Transport
* pathlib
* shutil
* zipfile
* hashlib
* logging

---

## šŸš€ Quick Start

### Clone Repository

```bash
git clone https://github.com/parthRana26/file-manager-mcp.git

cd file-manager-mcp
```

### Install uv

```bash
pip install uv
```

### Install Dependencies

```bash
uv sync
```

### Start Server

```bash
uv run main.py
```

Server Endpoint:

```text
http://localhost:8000/mcp
```

---

## šŸ” Testing with MCP Inspector

Start MCP Inspector:

```bash
npx @modelcontextprotocol/inspector
```

Connect using:

```text
Transport: Streamable HTTP

URL:
http://localhost:8000/mcp
```

Verify that all tools appear successfully.

---

## šŸ”Œ Connecting MCP Clients

Use the following endpoint:

```text
http://localhost:8000/mcp
```

Example configuration:

```json
{
  "mcpServers": {
    "file-manager-mcp": {
      "type": "http",
      "url": "http://localhost:8000/mcp"
    }
  }
}
```

Works with:

* ChatGPT
* Cursor
* VS Code
* Windsurf
* MCP Inspector
* Custom MCP Clients

---

## šŸ’¬ Example Prompts

```text
Create a README.md file
```

```text
Generate a FastAPI project structure
```

```text
Find duplicate files
```

```text
Create a ZIP archive of my project
```

```text
Compare two directories
```

```text
Find files larger than 500 MB
```

---

## šŸ“ Project Structure

```text
file-manager-mcp/

ā”œā”€ā”€ main.py
ā”œā”€ā”€ requirements.txt
ā”œā”€ā”€ config.py
ā”œā”€ā”€ README.md

ā”œā”€ā”€ services/
│   ā”œā”€ā”€ file_service.py
│   ā”œā”€ā”€ search_service.py
│   ā”œā”€ā”€ batch_service.py
│   ā”œā”€ā”€ zip_service.py
│   ā”œā”€ā”€ utility_service.py
│   └── security_service.py

└── workspace/
```

---

## šŸ”’ Security Notes

This MCP server performs real filesystem operations.

Recommended:

* Run locally
* Use trusted MCP clients
* Review destructive operations before approval
* Use project-specific directories

---

## šŸ‘Øā€šŸ’» Maintainer

Parth Rana

GitHub:
https://github.com/parthRana26

LinkedIn:
https://linkedin.com/in/parth-rana-profile

---

## šŸ¤ Contributing

Contributions, issues, and feature requests are welcome.

Feel free to fork the repository and submit pull requests.

---

## šŸ“„ License

Licensed under the MIT License.

See LICENSE for details.