README.mdโข4.54 kB
# Proton Drive MCP
A Model Context Protocol (MCP) server that enables AI assistants like Claude Desktop, Cursor, and other MCP-compatible clients to interact with your Proton Drive files.
## โจ Features
- ๐ **List files and folders** in your Proton Drive
- ๐ **Read file contents** directly
- โ๏ธ **Create and write files** to Proton Drive
- ๐๏ธ **Delete files and folders**
- ๐ **Create new folders**
- ๐ **Cross-platform support** (Windows, macOS, Linux)
- ๐ **Secure** - Works through local filesystem, no credentials needed
- ๐ **Easy to install** - Just npm install and configure
## ๐ Prerequisites
- Node.js 16 or higher
- Proton Drive desktop app installed and synced
- Claude Desktop, Cursor, or any MCP-compatible client
## ๐ Quick Start
### 1. Install from npm (Recommended)
```bash
npm install -g proton-drive-mcp
```
### 2. Or install from source
```bash
git clone https://github.com/anyrxo/proton-drive-mcp.git
cd proton-drive-mcp
npm install
npm run build
```
## โ๏ธ Configuration
### Finding your Proton Drive path
The MCP will try to auto-detect your Proton Drive location, but you can also set it manually:
- **macOS**: `~/Library/CloudStorage/ProtonDrive-[email]-folder`
- **Windows**: `C:\Users\[username]\Proton Drive`
- **Linux**: `~/ProtonDrive`
### Claude Desktop
Add to your Claude Desktop config:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"proton-drive": {
"command": "node",
"args": ["path/to/proton-drive-mcp/dist/index.js"]
}
}
}
```
### Cursor
Add to your Cursor settings:
```json
{
"mcp.servers": {
"proton-drive": {
"command": "node",
"args": ["path/to/proton-drive-mcp/dist/index.js"]
}
}
}
```
### Custom Proton Drive Path
If your Proton Drive is in a non-standard location:
```json
{
"mcpServers": {
"proton-drive": {
"command": "node",
"args": ["path/to/proton-drive-mcp/dist/index.js"],
"env": {
"PROTON_DRIVE_PATH": "/custom/path/to/ProtonDrive"
}
}
}
}
```
## ๐ฏ Usage Examples
Once configured, you can ask your AI assistant:
- "List all files in my Proton Drive"
- "Create a new file called notes.txt with some content"
- "Read the contents of Documents/report.pdf"
- "Create a new folder called Projects"
- "Delete the file old-notes.txt"
## ๐ ๏ธ Available Tools
The MCP provides these tools:
| Tool | Description |
|------|-------------|
| `check_mount` | Verify Proton Drive is accessible |
| `list_files` | List contents of a directory |
| `read_file` | Read file contents |
| `write_file` | Create or overwrite files |
| `delete_file` | Remove files or folders |
| `create_folder` | Create new directories |
## ๐งช Testing
Test if the MCP is working:
```bash
# Check if Proton Drive is detected
npm run test:connection
# Run all tests
npm test
```
## ๐ง Troubleshooting
### Proton Drive not found
1. Make sure Proton Drive desktop app is running
2. Check if your files are synced
3. Set `PROTON_DRIVE_PATH` environment variable manually
### Permission errors
- Ensure the MCP has read/write access to your Proton Drive folder
- On macOS, you may need to grant permissions in System Preferences
### Tool not showing in Claude/Cursor
1. Restart your AI client after configuration
2. Check the logs for any error messages
3. Verify the path to the MCP is correct
## ๐ Development
```bash
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run tests
npm test
```
## ๐ค Contributing
Contributions are welcome! Please:
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## ๐ License
MIT License - see [LICENSE](LICENSE) file
## ๐ Security
- All operations are performed locally on your filesystem
- No data is sent to external servers
- Proton's end-to-end encryption is preserved
- Path validation prevents directory traversal attacks
## ๐ Known Issues
- Large files (>10MB) may take time to read
- Binary files are not supported for reading (yet)
- Some special characters in filenames may cause issues
## ๐ฎ Support
- Issues: [GitHub Issues](https://github.com/anyrxo/proton-drive-mcp/issues)
- Discussions: [GitHub Discussions](https://github.com/anyrxo/proton-drive-mcp/discussions)
---
Made with โค๏ธ for the Proton Drive community