项目简介
本项目是一个基于Model Context Protocol (MCP) 实现的服务器端应用,旨在为大型语言模型 (LLM) 客户端(如Claude Desktop、Cursor IDE等)提供访问和操作用户Google Photos照片库的能力。它通过标准化的MCP工具接口,将复杂的Google Photos API操作封装起来,使AI能够理解和利用您的个人照片数据,用于搜索、组织和理解图像内容。
主要功能点
- 照片搜索: 根据文字描述、日期、位置等信息搜索您的照片库。
- 照片详情获取: 根据照片ID获取特定照片的详细信息,包括描述、日期、尺寸、URL,并可选择获取Base64编码的图像数据。
- 位置信息: 尝试从照片描述中提取并提供照片的大致位置信息。
- 相册管理: 列出您的所有相册,或获取特定相册的详细信息和包含的照片列表。
- 多种传输协议: 支持通过标准输入输出 (STDIO) 和 HTTP/SSE 协议与MCP客户端通信。
安装步骤
-
设置Google Cloud项目:
- 前往 Google Cloud 控制台。
- 创建一个新项目。
- 在“API和服务”>“库”中,搜索并启用“Photos Library API”。
- 在“API和服务”>“凭据”中,创建“OAuth客户端ID”。
- 应用类型选择“Web application”。
- 授权的重定向URI添加 'http://localhost:3000/auth/callback'。
- 记下您的客户端ID和客户端密钥。
-
克隆仓库:
git clone https://github.com/savethepolarbears/google-photos-mcp.git cd google-photos-mcp -
安装依赖:
npm install -
创建配置文件:
- 在项目根目录下创建名为 '.env' 的文件。
- 将您的Google Cloud凭据添加到 '.env' 文件中:
GOOGLE_CLIENT_ID=您的客户端ID GOOGLE_CLIENT_SECRET=您的客户端密钥 GOOGLE_REDIRECT_URI=http://localhost:3000/auth/callback PORT=3000 NODE_ENV=development
-
构建服务器:
npm run build -
启动服务器并进行身份验证:
- 启动 HTTP 模式 (推荐首次运行,用于身份验证):
npm start - 在浏览器中访问 'http://localhost:3000'。
- 点击页面上的“Authenticate with Google Photos”按钮。
- 按照Google OAuth流程授权应用访问您的Google Photos。
- 授权成功后,您将看到成功页面,可以关闭浏览器窗口。身份凭据将保存在本地文件。
- 如果需要使用STDIO模式(例如与Claude Desktop集成),在认证成功后,停止HTTP服务器(按 'Ctrl+C'),然后启动STDIO模式。
- 启动 STDIO 模式 (用于部分客户端如Claude Desktop):
npm run stdio - (注意:STDIO模式下如果未认证,服务器会打印警告,需要先在HTTP模式下完成认证。)
- 启动 HTTP 模式 (推荐首次运行,用于身份验证):
服务器配置
MCP客户端(如Claude Desktop, Cursor IDE)需要配置如何启动或连接到MCP服务器。对于此Google Photos MCP服务器,通常配置为通过命令启动Node.js进程。
配置时需要提供以下信息:
- 服务器名称 (server name): 'google-photos-mcp'
- 启动命令 (command): 'node'
- 命令参数 (args):
- 对于STDIO模式 (例如用于Claude Desktop):'[/path/to/your/project/dist/index.js, --stdio]'。'/path/to/your/project/' 需要替换为您的项目实际路径。
- 对于HTTP/SSE模式 (例如用于Cursor IDE):'[/path/to/your/project/dist/index.js]'。您可以配置客户端连接到HTTP端点 'http://localhost:3000/mcp',具体取决于客户端支持的配置方式。
- 环境变量 (env): 通常需要将您的Google Cloud凭据作为环境变量传递给服务器进程。例如:'GOOGLE_CLIENT_ID=您的客户端ID', 'GOOGLE_CLIENT_SECRET=您的客户端密钥', 'GOOGLE_REDIRECT_URI=http://localhost:3000/auth/callback'。
请参考您的MCP客户端文档,将上述信息填入相应的服务器配置界面。
基本使用方法
配置并连接成功后,您可以通过LLM客户端与MCP服务器交互。LLM会根据其理解和可用的工具描述,生成调用MCP工具的请求。您可以尝试向AI提出如下问题:
- “帮我搜索一下去年夏天在巴黎拍的照片。” (可能调用 'search_photos' 工具)
- “列出我的相册。” (调用 'list_albums' 工具)
- “给我看看ID为 xyz123 的那张照片的详情。” (调用 'get_photo' 工具)
- “查找我在‘家庭旅行’相册里的照片。” (可能调用 'list_album_photos' 工具)
- “找找有没有关于猫的照片。” (调用 'search_photos' 工具)
服务器会执行相应的Google Photos API操作并将结果返回给LLM客户端,LLM再将结果呈现给您。
信息
分类
AI与计算