Google Photos MCP server

Connect Google Photos to Claude, ChatGPT, Cursor, Claude Code, Codex, Gemini, GitHub Copilot and any other MCP client, for your whole team. Metorial adds security, governance, and tracing, and gives everyone one Magic MCP URL to connect.

What you can do with the Google Photos MCP server

Ask your agent in plain language. Each of these maps to a real tool on the server.

  • Use the update media item tool in Google Photos
  • Use the upload media tool in Google Photos
  • Use the update album tool in Google Photos
  • Use the create album tool in Google Photos
  • Use the list albums tool in Google Photos
  • Use the search media items tool in Google Photos

How teams use Google Photos with agents

Google Photos holds the images and videos people take. The integration uploads media, organises albums and uses the Photos picker, which lets a person choose exactly which items the agent may read.

Pick photos to share

Open a picker session so the person chooses photos, then read only the items they picked.

Album building

Create an album for an event and add uploaded photos with text and location enrichments.

Upload media

Upload images generated or collected by the agent into an album.

Search app albums

Search and update media items and albums the integration created.

Tools to start with

  • Create Picker Session: Lets the person choose which photos to share.
  • Upload Media: Adds photos or videos to the library.
  • Add Album Enrichment: Text, location and map markers in an album.

Sign-in and permissions

Photos uses Google OAuth. Since 2025 Google limits the Library API to albums and media the app created itself; reading the rest of a person's library goes through the picker, where they choose the items.

Sign-in options on Metorial: Google OAuth.

Supported Tools

update_media_item

Update Media Item

Update the description of a media item created by your app.

upload_media

Upload Media

Create media items in the user's Google Photos library from previously obtained upload tokens. Each item requires an upload token (from the bytes upload step), a filename, and optionally a description. Items can be added to an album at creation time.

update_album

Update Album

Update the title or cover photo of an album created by your app. Provide the album ID and the fields you want to change.

create_album

Create Album

Create a new album in the user's Google Photos library. The album will be owned by your app and can be managed through the API.

list_albums

List Albums

List albums created by your app in the user's Google Photos library. Returns album details including title, item count, and cover photo URL. Supports pagination for large collections.

search_media_items

Search Media Items

Search and list media items created by your app. Filter by album, date range, content category, media type, or favorites. Can also list all app-created media items without filters.

delete_picker_session

Delete Picker Session

Delete a Google Photos Picker session. This revokes access to the session and any media items selected during the session.

get_media_item

Get Media Item

Retrieve detailed information about one or more media items by their IDs. Returns metadata including filename, MIME type, dimensions, camera info, and access URLs. Supports batch retrieval of up to 50 items.

manage_album_media

Manage Album Media

Add or remove media items from an album. Use this to organize media items into albums created by your app.

create_picker_session

Create Picker Session

Create a new Google Photos Picker session that generates a URI where the user can select photos and videos from their library. After the user makes selections, use **Get Picker Session** to check the status and **List Picked Media** to retrieve the selected items.

get_album

Get Album

Retrieve detailed information about a specific album by its ID, including title, media item count, cover photo, and writeability status.

get_picker_session

Get Picker Session

Retrieve the current status of a Google Photos Picker session. Use this to check whether the user has selected media items. When **mediaItemsSet** is true, use **List Picked Media** to get the selected items.

add_album_enrichment

Add Album Enrichment

Add a text, location, or map enrichment to an album. Enrichments provide context between media items in an album. Specify exactly one enrichment type per call.

list_picked_media

List Picked Media

Retrieve media items that the user selected during a Picker session. Returns access URLs, metadata, and file information for each picked item. The session must have **mediaItemsSet** set to true.

download_media_item

Download Media Item

Download one app-created Google Photos Library API media item as a downloadable file.

Connect Google Photos to your AI client

Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.

  1. Enable Google Photos in Metorial. In your Metorial portal, enable the Google Photos MCP server and sign in with the account that owns the data. Access stays governed by your team policies.
  2. Add a custom connector. Open Customize, then Connectors. Select Add, then Custom, then Web.
  3. Paste your Metorial MCP URL. Name it Metorial, paste your Magic MCP URL (<your-magic-mcp-url>) and continue.
  4. Sign in. Select Add and sign in to load Google Photos tools.

Run Google Photos through the Metorial gateway

One governed layer for every app your agents reach, not a separate connector per tool.

  • Give Google Photos and every other app to your whole team through one MCP gateway, behind your SSO.
  • Scope which teams and agents can use Google Photos tools with role-based access control, and trace every call.
  • Prefer to run it yourself? Metorial is open source and self-hostable.

More integrations teams use with Google Photos

Notion

Create, read, update, and archive pages and databases in a Notion workspace. Manage blocks (paragraphs, lists, headings, embeds, etc.) within pages. Query databases with filters and sorts across rich property types including text, numbers, dates, selects, relations, and formulas. Search across pages and databases by title. Add and read comments on pages and blocks. Upload files to pages. Manage workspace users and retrieve user profiles.

Google Sheets

Create, read, and update spreadsheets and their cell data. Read and write values to individual cells, ranges, or multiple ranges using A1 notation or named ranges. Apply cell formatting including text styles, backgrounds, borders, number formats, and conditional formatting. Manage sheets (tabs) within a spreadsheet—add, delete, copy, rename, and reorder them. Create and manage embedded charts, pivot tables, filter views, data validation rules, protected ranges, named ranges, and merged cells. Perform batch operations to apply multiple updates atomically.

GitHub

Manage repositories, issues, and pull requests. Create and configure branches, star repositories, review code, and merge changes. Automate CI/CD workflows with GitHub Actions, manage workflow runs, secrets, and artifacts. Track issues with labels, milestones, and assignees. Search across code, repositories, issues, and users. Manage organizations, teams, and memberships. Create and manage projects, gists, packages, deployments, and environments. Access security alerts including code scanning, secret scanning, and Dependabot alerts. Read and write file contents in repositories. Manage webhooks, notifications, and codespaces.

Salesforce

Manage CRM data including Accounts, Contacts, Leads, Opportunities, Cases, and custom objects. Create, read, update, and delete records. Query data using SOQL and search across objects using SOSL. Perform bulk data operations for large-scale imports, exports, and migrations. Execute composite requests to batch multiple operations in a single API call. Access analytics, reports, and dashboards. Manage files and attachments associated with records. Interact with Chatter feeds, posts, and groups for social collaboration. Manage org metadata including custom objects, fields, layouts, and workflows. Query data using GraphQL for precise data retrieval across related objects.

Sharepoint

Manage SharePoint sites, document libraries, lists, and files. Create, read, update, and delete lists and list items with custom columns. Resolve site users to numeric Person/Group LookupId values. Upload, download, move, copy, and version files in document libraries. Search across sites, files, folders, lists, and list items using Microsoft Search. Manage permissions at site, list, and item levels with granular access control. Define and manage content types and site columns. Retrieve site properties and search for sites across Microsoft 365.

Airtable

Create, read, update, and delete records in Airtable bases and tables. Manage base schemas including creating tables and fields. Filter records using formulas, sort by fields, and scope queries to specific views. Upsert records to find, create, or update in a single call. Upload attachments to records, read and write record comments, list accessible bases, and receive real-time base change events through webhooks.

Technical notes for Google Photos

Upload, manage, and organize photos and videos in users' Google Photos libraries. Create and manage albums, add enrichments (text, location, map markers), and change album titles and cover photos. Upload media items, edit descriptions, and search app-created content with filters including date ranges, content categories, and favorites. Create picker sessions that let users securely select photos and videos from their library to share with your application. Access media metadata including camera information, creation time, dimensions, and exposure details.

Frequently asked questions

Common questions about connecting Google Photos to AI agents with Metorial.

  1. How many tools does the Google Photos MCP server have?
    The Google Photos MCP server exposes 15 tools, including Update Media Item, Upload Media, Update Album. Each one is governed and traced through Metorial.
  2. Google Photos exposes tools your agents call on demand; it does not publish event triggers yet. Everything still runs through one governed MCP URL.
  3. Any MCP client, including VS Code, Windsurf, Zed, OpenCode and Grok. Each one reaches the Google Photos MCP server through the same Metorial URL.
  4. Use role-based access control to decide which teams, users, and agents can use Google Photos and which of its tools they can call.
  5. Yes. Metorial is open source, so you can run the Google Photos MCP server yourself or use the hosted gateway.

Connect Google Photos to production AI agents

See how Metorial gives your team governed access to Google Photos, with tracing and security controls built in.