
savethepolarbears/google-photos-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
savethepolarbears / Google-photos-mcp - кандидат на сервер MCP, импортированный из https://github.com/savethepolarbears/google-photos-mcp.
Обзор
savethepolarbears / Google-photos-mcp - кандидат на сервер MCP, импортированный из https://github.com/savethepolarbears/google-photos-mcp.
Обзор (машинный перевод)
Сервер Model Context Protocol (MCP) для интеграции Google Photos, позволяющий Клоду, Близнецам и другим помощникам ИИ ** читать, писать и выбирать ** фотографии из вашей библиотеки Google Photos.
Поддержка API Picker (март 2025+)
Этот сервер реализует API Picker, обеспечивающий полный доступ к библиотеке даже после амортизации некоторых областей API библиотеки 31 марта 2025 года.
Обсуждение Capability | Status | API [править править код] Просмотр полной библиотеки фотографий | | Picker API | Поиск фотографий по тексту/дате/категории | | Библиотека API | Создавайте альбомы и загружайте фотографии | | Библиотека API | | Созданный приложением контент | - | Библиотека API |
Как работает Picker API
- Call
create_picker_session— возвращает аутентифицированный URL сеансаpickerUri, который пользователь открывает в своем браузере. 2.Пользователь интерактивно выбирает фотографии и видео из своей личной библиотеки Google Photos. 3.Звонокpoll_picker_session— проверяет статус сеанса. Когда [[Т3]] истинно, выбранные элементы Идентификаторы, имена файлов, типы MIME, размеры и базовые URL возвращаются. - Call
download_picker_media— загрузка аутентифицированных медиа байтов с использованием токенов-носителей OAuth:
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
Google Photos MCP Server
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.
✅ Picker API Support (March 2025+)
This server implements the Google Photos Picker API, providing full library access even after the March 31, 2025 deprecation of certain Library API scopes.
| Capability | Status | API |
|---|---|---|
| Browse full photo library | ✅ | Picker API |
| Search photos by text/date/category | ✅ | Library API |
| Create albums & upload photos | ✅ | Library API |
| Access app-created content | ✅ | Library API |
How the Picker API works
- Call
create_picker_session— returns an authenticated session URL (pickerUri) that the user opens in their browser. - The user interactively selects photos and videos from their entire personal Google Photos library.
- Call
poll_picker_session— checks session status. WhenmediaItemsSetis true, the selected items’ IDs, filenames, MIME types, dimensions, and base URLs are returned. - Call
download_picker_media— downloads authenticated media bytes using OAuth bearer tokens:- Image downloads: Downloads original full-resolution files (
=d) by default. Supports custom bounding boxes viawidthandheightparameters (=w{width}-h{height}, range: 1–16,383 pixels). WhendownloadOriginal: falseis supplied without explicit dimensions, defaults to=w2048-h2048preview. - Video downloads: Google Photos base URLs exclusively provide high-quality transcoded MP4 streams (
=dv). Unmodified original video files are not exposed via base URLs per Google API design; responses includeisTranscoded: true. Video bytes can only be requested once videoprocessingStatusis explicitlyREADY. - Session & identity validation: When specifying
baseUrlalongsidesessionId, the server verifies the item exists in the session. IfmediaItemIdis also provided, both must identify the same selected item. - Storage & memory safety: Media bytes can be streamed directly to disk via
savePathwith O(1) heap overhead (strongly recommended for large files and videos). In-memory base64 responses (includeBase64: true) are capped at 10MB to avoid process heap exhaustion (raw binary payloads exceeding ~7.5MB, which expand to >10MB in base64, are rejected with guidance to usesavePath). WhenincludeBase64: falseis specified,savePathis required. - Origin allowlist: Enforces HTTPS and strictly restricts base URLs to official Google Photos media domains (
*.googleusercontent.com,*.photos.google.com,photoslibrary.googleapis.com) to prevent SSRF and token exfiltration.
- Image downloads: Downloads original full-resolution files (
- Call
delete_picker_session— cleans up the session after all desired media items and bytes have been retrieved.
🛡️ Security Notice: CORS Removed
CORS middleware has been removed for security (prevents drive-by attacks on localhost).
Установка
npx -y @smithery/cli install google-photos-mcp --client claudeКонфигурация
{
"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_client_secret",
"GOOGLE_REDIRECT_URI": "http://localhost:3000/auth/callback"
}
}
}
}