Back to Directory/Developer Tools

io.github.ExpertVagabond/photo-organizer

AI-powered organization for Google Photos and Drive - auto-organize, find duplicates, create albums

Developer ToolsRustv1.0.0

Photo Organizer MCP Server

AI-powered organization for Google Photos and Google Drive.

This MCP server enables AI agents like Claude to automatically organize your Google Photos and Drive files. Perfect for decluttering cloud storage, finding duplicates, and maintaining organized photo albums.

Features

Google Photos

  • πŸ“Š Analyze Library: Get statistics and insights about your photo collection
  • πŸ” Find Duplicates: Identify potential duplicate photos
  • πŸ“… Auto-Organize: Create albums by year or month
  • πŸ“ˆ Reports: Generate detailed organization reports

Google Drive

  • πŸ“‚ Auto-Organize: Sort files into folders by type (Documents, Images, Videos, etc.)
  • πŸ—„οΈ Archive Old Files: Move old files to Archive folder
  • πŸ”„ Deduplicate: Find and remove exact duplicate files
  • πŸ“Š Analytics: Get file statistics and storage insights

Installation

# Install from NPM
npm install -g photo-organizer-mcp

# Or clone and build
git clone https://github.com/ExpertVagabond/photo-organizer-mcp
cd photo-organizer-mcp
npm install
npm run build

Setup

1. Google Cloud Credentials

You need Google Cloud credentials to access Photos and Drive APIs:

  1. Go to Google Cloud Console
  2. Create a new project
  3. Enable Google Photos Library API and Google Drive API
  4. Create OAuth 2.0 credentials
  5. Download credentials.json

2. Python Scripts

This MCP server wraps existing Python organizer scripts. Set the path:

export PHOTO_SCRIPTS_PATH="/path/to/drive-photos-organizer"

Or add to .env:

PHOTO_SCRIPTS_PATH=/Users/yourname/drive-photos-organizer

3. Configure Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "photo-organizer": {
      "command": "photo-organizer-mcp",
      "env": {
        "PHOTO_SCRIPTS_PATH": "/path/to/drive-photos-organizer"
      }
    }
  }
}

Usage Examples

With Claude

"Analyze my Google Photos and find duplicates"

Claude will use the analyze_photos tool to scan your library

"Organize my photos into albums by year"

Claude will create year-based albums (dry run first, then execute)

"Clean up my Google Drive by organizing files into folders"

Claude will sort files by type into organized folders

"Archive all Drive files older than 2 years"

Claude will move old files to an Archive folder

"Find and remove duplicate files from my Drive"

Claude will identify and remove exact duplicates

Available Tools

Photo Tools

  1. analyze_photos - Get photo library statistics

    {
      "findDuplicates": true
    }
    
  2. organize_photos_by_date - Create date-based albums

    {
      "grouping": "year",  // or "month"
      "execute": false     // true to actually create albums
    }
    

Drive Tools

  1. analyze_drive - Get Drive statistics

  2. organize_drive - Sort files into folders

    {
      "execute": false  // true to actually organize
    }
    
  3. archive_old_files - Move old files to Archive

    {
      "days": 730,      // Archive files older than this
      "execute": false
    }
    
  4. deduplicate_drive - Remove duplicate files

    {
      "execute": false  // true to actually delete
    }
    

Safety Features

  • Dry Run by Default: All operations default to dry run mode
  • Explicit Execution: Must set execute: true to make changes
  • Detailed Reports: See exactly what will happen before executing
  • Non-Destructive: Organizes and archives, doesn't delete (except deduplication)

Monetization (Pro Version)

Upgrade for advanced features:

Free Tier

  • 50 operations per month
  • Basic organization
  • Manual execution required

Pro ($10/month)

  • Unlimited operations
  • Scheduled auto-organization
  • Advanced duplicate detection
  • Priority support

Enterprise ($50/month)

  • White-label branding
  • Team management
  • Custom rules engine
  • API access

Technical Details

  • Built with TypeScript and Model Context Protocol SDK
  • Wraps Python scripts for Google API integration
  • Async operation with progress reporting
  • Handles large libraries (10,000+ photos)

Contributing

Contributions welcome! Please open issues or PRs on GitHub.

License

MIT License - see LICENSE file

Author

ExpertVagabond - https://github.com/ExpertVagabond


Need help? Contact: hello@expertvagabond.com

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y photo-organizer-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-expertvagabond-photo-organizer": {
      "command": "npx",
      "args": [
        "-y",
        "photo-organizer-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

photo-organizer-mcpnpm

Compatible MCP Clients

io.github.ExpertVagabond/photo-organizer works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More