File Manager MCP 📂
A powerful and user-friendly File Manager application that provides a modern interface for managing FTP file operations.
🤖 AI-Powered Development: This project is a result of vibe coding through AI prompt engineering. The entire codebase was developed by collaborating with AI, showcasing the potential of modern AI-assisted development practices.
🚀 Features
- 📁 Browse and manage remote FTP directories
- ⬆️ Upload files and directories
- ⬇️ Download files and directories
- 🗑️ Delete files and directories
- 📝 Create new directories
- 🔄 Recursive file operations support
- 💻 Clean and intuitive user interface
🚀 Usage
Using Smithery Hosted Service (Recommended)
Visit File Manager on smithery
Create an account or sign in
Connect using your preferred development environment:
- Visual Studio Code
- Cursor
- Any IDE or tool with MCP integration
Alternative: Local Installation
If you prefer running the application locally, follow these steps:
- Make sure you have the .NET 9.0 SDK installed
- Follow the installation steps below to build and run the application
🛠️ Build and Run Locally
Clone the repository:
HTTPS:
git clone https://github.com/taha-ghadirian/FileManagerMcp.gitSSH:
git clone git@github.com:taha-ghadirian/FileManagerMcp.gitThen navigate to the project directory:
cd FileManagerMcpInstall dependencies:
dotnet restore
- Build the project:
dotnet build
- Run the application in inspector:
npx @modelcontextprotocol/inspector dotnet run
🔧 Configuration
The application uses environment variables for configuration. Here are the required environment variables:
| Option | Description | Required | Default |
|---|---|---|---|
ftpHost | FTP server hostname or IP address | Yes | - |
ftpUsername | FTP account username | Yes | - |
ftpPassword | FTP account password | Yes | - |
ftpPort | FTP server port | No | 21 |
You can set these environment variables in several ways:
- Setting them inline when running the application:
ftpHost=ftp.example.com ftpUsername=myuser ftpPassword=mypassword npx @modelcontextprotocol/inspector dotnet run
⚠️ Security Note: Never commit sensitive information like passwords to version control. Always use environment variables or secure secrets management for production deployments.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📝 License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details. This means:
- You can freely use, modify, and distribute this software
- If you modify and distribute this software, you must:
- Make your source code available
- License your modifications under GPL v3.0
- Document your changes
- Preserve the original copyright notices
📞 Support
If you have any questions or need support, please open an issue in the GitHub repository.
✨ Acknowledgments
- Thanks to all contributors who have helped shape this project
- Built with .NET and modern best practices
Made with ❤️ by Taha Ghadirian
File Manager
Project Details
- taha-ghadirian/FileManagerMcp
- GNU General Public License v3.0
- Last Updated: 4/16/2025
Recomended MCP Servers
An MCP server that integrates with the MCP protocol. https://modelcontextprotocol.io/introduction
This MCP server provides browser automation capabilities through Puppeteer, allowing interaction with both new browser instances and existing...
Web search using free google search (NO API KEYS REQUIRED)
Config files for my GitHub profile.
🔎 A Model Context Protocol (MCP) server for integrating Perplexity's AI API with LLMs.
MCP Server for Databricks





