关于 flickr-mcp
flickr-mcp 让兼容 MCP 的 AI 客户端经过授权访问用户自己的 Flickr 照片库。它支持查找照片和编辑元数据,并可结合图像内容与 EXIF 数据批量处理照片。
主要功能
- 01浏览、搜索和查看照片
- 02读取相机及位置 EXIF 数据
- 03编辑标题、描述和标签
- 04搜索群组并管理成员关系
- 05扫描并处理未标记照片
适用场景
- 01为近期上传的照片添加相关元数据
- 02处理缺少标题或描述的照片
- 03查找相册照片并添加标签
- 04将匹配的照片加入 Flickr 群组
MCP 相关
它向 MCP 客户端提供 Flickr 照片、相册、元数据和群组操作工具。写入工具可预览更改;批量处理工具默认直接应用更新。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
flickr-mcp
一款 MCP 服务,让 AI 助手能够经身份验证后访问你的 Flickr 照片库。为照片添加标签、撰写描述、设置标题、管理群组成员资格,还能运行完整的自动化处理工作流——所有操作均由 AI 驱动,并应用于你的照片。
适用于所有兼容 MCP 的 AI 客户端:Claude、Cursor、Windsurf 等。
功能介绍
连接后,你可以向 AI 助手提出类似这样的要求:
- “处理我所有尚未添加标签的照片”——扫描整个照片库,一次性为所有照片添加标签和描述
- “为我日本相册中的所有照片添加标签”
- “为这张照片撰写描述”(提供 Flickr URL 或照片 ID)
- “找到我的汽车照片,并将它们添加到相关的 Flickr 群组”
- “查看我最近上传的照片,并为每张照片添加相关标签”
AI 会通过内置的图片获取功能查看照片,根据实际图片内容和 EXIF 数据生成元数据,并根据工具的不同,在应用更改前预览,或完全自动运行。
要求
- Node.js 18 或更高版本
- Flickr Pro 账户——Flickr 要求注册 API 应用时必须拥有 Pro 账户
- 兼容 MCP 的 AI 客户端
设置
1. 注册 Flickr API 密钥
注意: Flickr 要求拥有 Pro 账户才能注册 API 应用(约 $8/月或 $72/年)。如果你经常使用 Flickr,且希望借助 AI 添加标签,很可能已经拥有 Pro 账户。
前往 flickr.com/services/apps/create/noncommercial,填写简短的表单——应用名称不限,选择“个人用途”。整个过程大约需要两分钟。从下一页复制 API 密钥和 API 密钥密码。
2. 运行设置命令
npx flickr-mcp setup
浏览器窗口会打开并显示设置向导。粘贴 API 密钥和密钥密码,然后按照提示授权访问你的 Flickr 账户。凭据会保存到 ~/.config/flickr-mcp/credentials.json,不会离开你的设备。
3. 将 flickr-mcp 添加到 AI 客户端
最简单的方法是将以下提示词直接粘贴到 AI 助手中。它包含所需的一切——配置项、设置提醒,以及完整文档的链接:
将以下 MCP 服务添加到我的配置中:
- 名称:
flickr- 命令:
npx- 参数:
["flickr-mcp"]完整配置项如下:
"flickr": { "command": "npx", "args": ["flickr-mcp"] }将其添加到我的 MCP 配置文件中的
mcpServers区块,然后告诉我保存位置,并提醒我重启客户端。
无论你使用哪个客户端,助手都知道其配置文件的位置,并会正确添加配置项。助手确认后,请重启客户端。
想手动操作?
Claude Code — 添加到 ~/.claude/settings.json(全局)或项目中的 .claude/settings.json:
{
"mcpServers": {
"flickr": {
"command": "npx",
"args": ["flickr-mcp"]
}
}
}
Claude Desktop
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"flickr": {
"command": "npx",
"args": ["flickr-mcp"]
}
}
}
Cursor / Windsurf — 查看客户端的 MCP 设置面板,或让助手帮你查找并编辑配置文件。
完整的自动化工作流
处理整个照片库的最快方法是调用两个工具:
-
flickr_get_unprocessed_photos— 扫描照片库中的每张照片,并返回缺少标签、描述或有效标题的照片列表。系统会自动标记原始相机文件名(如DSC_0042)或 Lightroom 导出后缀(如IMG_1234-Edit)。 -
flickr_process_photo— 通过一次原子调用,为单张照片设置标题、描述、标签并分配群组。AI 会以视觉方式获取图像,读取 EXIF 中的相机、镜头和位置信息,按照 Flickr 最佳实践生成最多约 20 个精准标签,撰写简洁的描述,并将照片添加到相关群组——如有需要,还会自动加入这些群组。
只需说:“处理我所有尚未添加标签的照片”,AI 就会分页遍历未处理照片列表,并逐一处理。
可用工具
服务器运行后,你的 AI 助手即可调用以下工具。你无需直接与它们交互,只要用日常语言描述需求即可。
浏览照片库
| 工具 | 描述 |
|---|---|
flickr_list_photos | 分页列出你的照片流 |
flickr_get_photo | 获取完整的照片详情;也可选择包含图像本身,以进行视觉分析 |
flickr_get_exif | 相机元数据:品牌、型号、镜头、GPS、快门速度、ISO |
flickr_search_my_photos | 按关键词或标签搜索自己的照片 |
flickr_get_albums | 列出相册 |
flickr_get_album_photos | 列出相册中的照片 |
编辑元数据
| 工具 | 描述 |
|---|---|
flickr_add_tags | 为照片添加标签(默认会在应用前预览) |
flickr_remove_tag | 移除照片的标签 |
flickr_set_metadata | 设置照片的标题和/或描述(默认会在应用前预览) |
群组管理
| 工具 | 描述 |
|---|---|
flickr_search_groups | 按关键词搜索 Flickr 群组——返回群组名称、成员数和照片池大小 |
flickr_join_group | 以编程方式加入 Flickr 群组(自动遵守群组规则) |
flickr_add_to_group | 将照片添加到群组照片池(默认会在应用前预览) |
自动化工作流
| 工具 | 描述 |
|---|---|
flickr_get_unprocessed_photos | 扫描整个照片库,并返回缺少标签、描述或有效标题的照片 |
flickr_process_photo | 通过一次调用设置标题、描述、标签并分配群组,同时自动加入群组 |
单独的写入工具(flickr_add_tags、flickr_set_metadata、flickr_add_to_group)会在应用更改前显示试运行预览。flickr_process_photo 默认不进行预览——它专为批量自动化而设计。
标签策略
生成标签时,AI 遵循 Flickr 特有的最佳实践:
- 每张照片以约 20 个标签为目标——既能触达合适的受众,又不会削弱覆盖范围
- 搭配宽泛和具体的主题:“dog”和“golden retriever”都加,而不是只选其中一个
- 位置层级:尽可能添加大洲、国家、地区、城市和场所
- 从 EXIF 提取设备标签:相机机身和焦距(例如“sony a7 iv”“85mm”)
- 绝不添加:无意义的标签(“photo”“image”“picture”)、无关的热门标签或垃圾标签——Flickr 的垃圾信息政策可能会让照片无法出现在搜索结果中
隐私与范围
此服务只能访问你自己的照片。它无法读取、搜索或修改其他用户的内容。它请求的写入权限仅限于你的账户。
你的 API 凭据存储在本地的 ~/.config/flickr-mcp/credentials.json 中,绝不会发送到 Flickr 自有 API 以外的任何地方。
速率限制
此服务使用令牌桶机制,将请求速率控制在每小时 3,000 次(Flickr 的上限为 3,600 次)。最多允许突发发送 10 次请求。获取图像也会计入额度。正常使用时不会触及此限制。
从源代码运行
git clone https://github.com/MK3Core/flickr-mcp
cd flickr-mcp
npm install
npm run build
node dist/index.js setup
然后将 MCP 客户端指向 node /path/to/flickr-mcp/dist/index.js,而不是 npx flickr-mcp。
支持
flickr-mcp 免费且开源。如果它为你节省了时间,欢迎通过 GitHub 赞助;这有助于让我们投入更多时间开发此类项目。
参与贡献
欢迎提交问题和拉取请求。代码库刻意保持精简:六个文件中约有 700 行 TypeScript。
src/
index.ts Entry point
setup.ts OAuth setup flow
auth.ts OAuth 1.0a implementation + credential storage
rate-limiter.ts Token bucket (3,000 req/hour)
flickr-client.ts Flickr API wrapper
tools.ts All tool definitions and handlers
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。