MCP server for Google Photos integration with Claude
MCP server for Google Photos integration with Claude
A Model Context Protocol (MCP) server for Google Photos integration, enabling Claude, Gemini, and other AI assistants to read, write, and pick photos from your Google Photos library.
Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| search_photos | Text-based photo search |
| search_photos_by_location | Search by location name |
| search_media_by_filter | Filter by dates, categories, media type, favorites, archived |
| get_photo | Get photo details (optional base64) |
| list_albums | List all albums |
| get_album | Get album details |
| list_album_photos | List photos in an album |
| list_media_items | List app-created media items (use Picker API for full library) |
| describe_filter_capabilities | JSON reference of all filter options |
| create_album | Create a new album |
| upload_media | Upload a local file |
| add_media_to_album | Add existing items to an album (max 50) |
| create_album_with_media | Create album + upload files in one call (max 50) |
| add_album_enrichment | Add text or location enrichment |
| set_album_cover | Set album cover photo |
| create_picker_session | Start a Picker session for full library access |
| poll_picker_session | Check session status and retrieve selected photos |
| download_picker_media | Download media bytes via OAuth (original images via =d, transcoded MP4 for videos via =dv) |
| delete_picker_session | Delete and clean up a Picker session after all media items and bytes are downloaded |
| auth_status | Check authentication status |
| start_auth | Start OAuth flow via temporary local server |
{
"mcpServers": {
"google-photos": {
"command": "node",
"args": [
"/path/to/google-photos-mcp/dist/index.js",
"--stdio"
],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "YOUR_GOOGLE_CLIENT_SECRET",
"GOOGLE_REDIRECT_URI": "http://localhost:3000/auth/callback"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| GOOGLE_CLIENT_ID | Declared in the maintainer’s client configuration. | Check documentation |
| GOOGLE_CLIENT_SECRET | Declared in the maintainer’s client configuration. | Check documentation |
| GOOGLE_REDIRECT_URI | Declared in the maintainer’s client configuration. | Check documentation |
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.
AWS Labs' official server suite — current AWS docs, CDK guidance, cost analysis and service tools.
Cloud browsers for AI agents — automation sessions that run in Browserbase's fleet, not on your machine.
Workers, KV, R2 and D1 by conversation — Cloudflare's official remote servers for building and observability.
Dashboards, Prometheus and Loki queries, incidents and alerts — observability by conversation.
kubectl with a conversational interface — inspect pods, read logs, diagnose clusters and manage workloads.