Google照片MCP服务器

一个与Google Photos API集成的模型上下文协议服务器,专注于上传新照片、创建和管理相册以及搜索应用创建的内容。

  • by benlen10
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 benlen10/google-photos-mcp-v2

使用说明

谷歌照片MCP服务器

模型上下文协议(MCP)服务器,提供与谷歌照片API的集成,符合2025 API的限制和更改。

⚠️ API的重要限制(2025年更新)

截至2025年3月31日,谷歌照片API存在重大限制:

  • 无法访问现有照片:API只能访问您的特定应用程序上传的照片
  • 不浏览图书馆:无法浏览或搜索现有的Google照片库
  • 只读作用域已删除: photoslibrary.readonly 类似的作用域已被弃用
  • 仅限应用程序创建的内容:只能访问通过此MCP服务器创建的相册和照片

此MCP服务器旨在在这些约束下工作,重点是:

  • 将新照片上传到 Google 照片
  • 为应用程序上传的内容创建和管理相册
  • 在应用程序创建的照片和相册中搜索

特性

  • 照片上传:将本地照片上传到谷歌照片,并附上可选描述
  • 相册管理:创建相册并组织上传的照片
  • 内容搜索:搜索应用程序创建的照片和相册
  • 元数据访问:获取上传照片的详细信息
  • 连接测试:验证API连接和身份验证

先决条件

  1. 谷歌云项目 已启用照片库API
  2. 服务帐户 或 OAuth 2.0凭据
  3. Node.js 18+ 和 npm

安装说明

1.谷歌云控制台设置

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用 照片库API:
    • 转到“API和服务”>“库”
    • 搜索“照片库API”
    • 点击“启用”

2.身份验证设置

选项A:服务帐户(推荐)

  1. 转到“API和服务”>“凭据”
  2. 点击“创建凭据”>“服务帐户”
  3. 填写详细信息并创建
  4. 下载JSON密钥文件
  5. 设置环境变量: export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/keyfile.json

选项B:Auth2.0(供个人使用)

  1. 创建OAuth 2.0客户端凭据
  2. 下载凭据JSON文件
  3. 集 GOOGLE_APPLICATION_CREDENTIALS 指向此文件

3.安装

# Clone or download the project
cd google-photos-mcp-v2

# Install dependencies
npm install

# Build the project
npm run build

4.克劳德桌面配置

添加到您的Claude桌面 claude_desktop_config.json:

{
  "mcpServers": {
    "google-photos": {
      "command": "node",
      "args": ["/path/to/google-photos-mcp-v2/build/index.js"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/credentials.json"
      }
    }
  }
}

可用工具

upload_photo

将照片从本地文件系统上传到Google Photos。

参数:

  • filePath (必填):照片文件的本地路径
  • description (可选):照片描述
  • albumId (可选):用于添加照片的相册ID

create_album

在谷歌照片中创建新相册。

参数:

  • title (必填):专辑标题
  • description (可选):相册描述

list_albums

列出此应用程序创建的相册。

参数:

  • pageSize (可选):要返回的相册数量(最多50个)
  • pageToken (可选):分页标记

search_photos

搜索此应用程序上传的照片。

参数:

  • albumId (可选):在特定相册内搜索
  • pageSize (可选):要返回的照片数量(最多100张)
  • pageToken (可选):分页标记

get_photo_info

获取特定照片的详细信息。

参数:

  • mediaItemId (必填):媒体项目的ID

test_connection

测试与Google照片API的连接。

参数: 无

使用示例

上传一张照片

Can you upload the photo at /Users/me/vacation.jpg to Google Photos with the description "Beach sunset"?

创建相册并添加照片

Create a new album called "Vacation 2024" and upload all photos from my /Users/me/vacation_photos/ folder to it.

搜索照片

Show me all the photos I've uploaded through this app.

故障排除

身份验证问题

  • 验证 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置正确
  • 确保凭据文件具有适当的权限
  • 检查照片库API是否已在Google云控制台中启用

上传失败

  • 验证文件路径是否正确且可访问
  • 检查Google Photos是否支持文件格式
  • 确保Google Photos中有足够的存储配额

空结果

  • 记住:此应用程序只能看到它上传的内容
  • 无法访问Google照片库中的现有照片
  • 使用Google照片选取器API选择现有照片(需要web界面)

API限制和替代方案

由于2025 API更改,此MCP服务器无法:

  • 浏览您现有的谷歌照片库
  • 搜索您未通过此应用上传的照片
  • 访问其他应用程序上传的照片

用于访问现有照片,谷歌建议使用新 照片选取器API,这需要一个用于用户交互的web界面。

发展

# Install dependencies
npm install

# Build
npm run build

# Run in development
npm run dev

# Clean build
npm run clean

安全说明

  • 确保您的凭据文件安全,永远不要将其提交给版本控制
  • 将服务帐户用于生产部署
  • 定期轮换API密钥和证书
  • 查看Google的照片API用户数据和开发者政策

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持

有关此MCP服务器的问题,请检查:

  1. Google照片API文档
  2. MCP规范 模型上下文协议.io
  3. Google Cloud控制台中的身份验证设置指南