npm photo-organizer-mcpstdioMITupdated 5mo ago
AI-powered organization for Google Photos and Google Drive.
What can you do with photo organizer?
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:
- Go to Google Cloud Console
- Create a new project
- Enable Google Photos Library API and Google Drive API
- Create OAuth 2.0 credentials
- 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
-
analyze_photos - Get photo library statistics
{ "findDuplicates": true } -
organize_photos_by_date - Create date-based albums
{ "grouping": "year", // or "month" "execute": false // true to actually create albums }
Drive Tools
-
analyze_drive - Get Drive statistics
-
organize_drive - Sort files into folders
{ "execute": false // true to actually organize } -
archive_old_files - Move old files to Archive
{ "days": 730, // Archive files older than this "execute": false } -
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: trueto 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
Install
Add photo organizer to your client. Pick the one you use.
claude mcp add photo-organizer-mcp -- npx -y photo-organizer-mcpcodex mcp add photo-organizer-mcp -- npx -y photo-organizer-mcpamp mcp add photo-organizer-mcp -- npx -y photo-organizer-mcp{
"mcpServers": {
"photo-organizer-mcp": {
"command": "npx",
"args": [
"-y",
"photo-organizer-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"photo-organizer-mcp": {
"command": "npx",
"args": [
"-y",
"photo-organizer-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"photo-organizer-mcp","command":"npx","args":["-y","photo-organizer-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"photo-organizer-mcp": {
"command": "npx",
"args": [
"-y",
"photo-organizer-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"photo-organizer-mcp": {
"command": "npx",
"args": [
"-y",
"photo-organizer-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"photo-organizer-mcp": {
"command": "npx",
"args": [
"-y",
"photo-organizer-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"photo-organizer-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"photo-organizer-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"photo-organizer-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"photo-organizer-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y photo-organizer-mcpRun `goose configure`, choose **Add Extension ā Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance13/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 164 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint ā no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Feb 3, 2026 |