
savethepolarbears/google-photos-mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
savethepolarbears/google-photos-mcp는 https://github.com/savethepolarbears/google-photos-mcp.]에서 수입된 MCP 서버 후보입니다
개요
savethepolarbears/google-photos-mcp는 https://github.com/savethepolarbears/google-photos-mcp.]에서 수입된 MCP 서버 후보입니다
개요(AI 번역)
Google 사진 통합을위한 모델 콘텍스 프로토콜 (MCP) 서버, Claude, Gemini 및 기타 AI 조수가 ** 읽기, 쓰기 및 선택 ** Google 사진 라이브러리에서 사진.
✅ 피커 API 지원 (3 월 2025 +)
이 서버는 Google Photos Picker API를 구현하고, 특정 라이브러리 API 범위의 2025 deprecation 이후 전체 라이브러리 액세스를 제공합니다.
| 현황 | API | 인포메이션 | 전체 사진 라이브러리 | ✅ | Picker API | | 본문/날짜/카테고리 검색 | ✅ | 라이브러리 API | | 앨범 및 업로드 사진 만들기 | ✅ | 라이브러리 API | | 액세스 앱 제작 내용 | ✅ | 라이브러리 API |
Picker API가 어떻게 작동하나요?
create_picker_session] - 사용자가 브라우저에서 열 수 있도록 정통 세션 URL (pickerUri)을 반환합니다.- 사용자는 상호 작용적으로 그들의 전체 개인적인 구글 사진 도서관에서 사진 그리고 영상을 선정합니다.
poll_picker_session] - 세션 상태를 확인합니다.mediaItemsSet가 true일 때, 선택된 항목 ID, 파일명, MIME 유형, 치수 및 기본 URL이 반환됩니다.- 전화
download_picker_media- OAuth Bearer 토큰을 사용하여 정통 된 미디어 바이트 다운로드 :
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
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"
}
}
}
}