Filemanagermcp
Manage remote FTP files and directories through an intuitive interface, allowing users to upload, download, delete, and organize files recursively.
Author

taha-ghadirian
Quick Info
Actions
Tags
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.git
SSH:
git clone git@github.com:taha-ghadirian/FileManagerMcp.git
Then navigate to the project directory:
cd FileManagerMcp
Install 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