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.
- 📁 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
-
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
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
-
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 runThe 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
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
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
If you have any questions or need support, please open an issue in the GitHub repository.
- Thanks to all contributors who have helped shape this project
- Built with .NET and modern best practices
Made with ❤️ by Taha Ghadirian