使用说明
Flickr MCP服务器
将人工智能助手连接到Flickr API的MCP(模型上下文协议)服务器。通过自然语言管理相册、标记照片和组织Flickr库。
特性
27工具 涵盖照片、相册、群组和社交管理:
照片工具
| 工具 | 描述 | 读/写 |
|---|---|---|
flickr_search_photos |
按关键字、标签、日期范围搜索照片 | 阅读 |
flickr_get_photo_info |
获取详细的照片元数据 | 阅读 |
flickr_get_photo_sizes |
获取所有可用尺寸的图像URL | 阅读 |
flickr_get_exif |
获取照片的相机和EXIF元数据 | 阅读 |
flickr_get_explore |
从Flickr获取照片探索(有趣) | 阅读 |
flickr_list_my_photos |
列出您自己的照片(包括私人照片) | 阅读 |
flickr_get_not_in_set |
列出不在任何相册中的照片 | 阅读 |
flickr_set_photo_tags |
替换照片上的所有标签 | 写入 |
flickr_add_photo_tags |
为照片添加标签 | 写 |
flickr_set_photo_meta |
更新照片标题和描述 | 写 |
flickr_set_photo_license |
设置照片许可证(保留所有权利,CC等) | 写入 |
flickr_set_photo_perms |
设置照片可见性和权限 | 写入 |
flickr_add_favorite |
将照片添加到收藏夹(如) | 写 |
flickr_remove_favorite |
从收藏夹中删除照片(与其他照片不同) | 写 |
flickr_add_comment |
在照片上发表评论 | 写 |
相册工具
| 工具 | 描述 | 读/写 |
|---|---|---|
flickr_list_albums |
列出所有相册 | 阅读 |
flickr_get_album_photos |
在相册中列出照片 | 阅读 |
flickr_create_album |
创建新相册 | 编写 |
flickr_add_photo_to_album |
将照片添加到相册 | 写入 |
flickr_remove_photo_from_album |
从相册中删除照片 | 写入 |
flickr_edit_album_meta |
更新相册标题和描述 | 编写 |
组工具
| 工具 | 描述 | 读/写 |
|---|---|---|
flickr_list_my_groups |
列出您已加入的所有组 | 阅读 |
flickr_search_groups |
按关键字搜索组 | 阅读 |
flickr_add_photo_to_group |
向群池提交照片 | 撰写 |
flickr_leave_group |
离开群组 | 删除 |
联系工具
| 工具 | 描述 | 读/写 |
|---|---|---|
flickr_follow_user |
关注用户(添加为联系人) | 写 |
flickr_unfollow_user |
取消关注用户(删除联系人) | 写入 |
所有列表/搜索工具返回 缩略图和中图片URL 用于人工智能驱动的视觉分析。
先决条件
- Node.js>=18
- Flickr帐户
- Flickr API密钥(此处申请)
设置
1.克隆并安装
git clone https://github.com/chochinlu/flickr-mcp-server.git
cd flickr-mcp-server
npm install
2.获取Flickr API密钥
- 首选 Flickr应用花园
- 创建一个新应用程序来获取您的 API密钥 和 API秘密
- 创建一个
.env文件:
cp .env.example .env
- 填写
FLICKR_API_KEY和FLICKR_API_SECRET在.env
3.使用OAuth进行身份验证
运行交互式安装脚本:
npm run oauth-setup
这将:
- 生成授权URL
- 在浏览器中打开Flickr以授予访问权限
- 要求您输入验证码
- 将OAuth令牌保存到
.env
Flickr OAuth令牌 永不过期 --你只需要做一次。
4.建造
npm run build
5.配置您的MCP客户端
克劳德代码
添加到您的项目 .mcp.json:
{
"mcpServers": {
"flickr": {
"command": "node",
"args": ["/absolute/path/to/flickr-mcp-server/dist/index.js"]
}
}
}
克劳德桌面版
添加 claude_desktop_config.json:
{
"mcpServers": {
"flickr": {
"command": "node",
"args": ["/absolute/path/to/flickr-mcp-server/dist/index.js"]
}
}
}
用法示例
连接后,您可以向您的AI助手询问以下问题:
- “列出我的所有Flickr相册”
- “显示不在任何相册中的照片”
- “搜索标记为的照片
travel" - “添加标签
tokyo,japan,2024转到照片12345678“ - “创建一个名为“东京之旅”的新相册,封面为照片12345678”
- “将这些照片移至东京之旅相册”
- “列出我加入的所有组”
- “将此照片提交给街头摄影组”
- “保留所有照片少于100张的非活动组”
- “喜欢这张照片,跟着摄影师”
- “将此照片添加到我的收藏夹”
项目结构
src/
index.ts # MCP server entry point (stdio transport)
config.ts # Environment variable validation (Zod)
flickr-client.ts # Flickr API client with rate limiting
tools/
photos.ts # Photo management tools (incl. favorites)
albums.ts # Album management tools
groups.ts # Group management tools
contacts.ts # Contact/follow tools
auth/
oauth-setup.ts # One-time OAuth setup CLI
scripts/
batch-set-license.ts # Batch update all photos to a specified license
API费率限制
- Flickr允许 3600次请求/小时 (约1个要求/秒)
- 客户端强制要求请求之间的最小间隔为1秒
- 列表端点返回最多为 每页500条 支持分页
许可证
麻省理工学院
Flickr MCP Server(正体中文)
一个MCP(Model Context Protocol)服务器,让AI助手能透过Flickr API管理你的相簿、标记照片、整理照片库。
功能
26个工具,涵盖照片、相簿、群组与社交管理:
照片工具
| 工具 | 功能 | 读/写 |
|---|---|---|
flickr_search_photos |
依关键字、标签、日期范围搜寻照片 | 读 |
flickr_get_photo_info |
取得照片详细信息 | 读 |
flickr_get_photo_sizes |
取得照片各尺寸的图片URL | 读 |
flickr_get_exif |
取得照片的相机与EXIF信息 | 读 |
flickr_get_explore |
取得Flickr Explore精选照片 | 读 |
flickr_list_my_photos |
列出自己的照片(含私人照片) | 读 |
flickr_get_not_in_set |
列出未归入任何相簿的照片 | 读 |
flickr_set_photo_tags |
设定照片标签(覆盖原有标签) | 写 |
flickr_add_photo_tags |
新增标签(不覆盖) | 写 |
flickr_set_photo_meta |
更新照片标题与描述 | 写 |
flickr_set_photo_license |
设定照片授权条款(All Rights Reserved、CC等) | 写 |
flickr_set_photo_perms |
设定照片可见性与权限(公开/私人) | 写 |
flickr_add_favorite |
将照片加入最爱(按赞) | 写 |
flickr_remove_favorite |
从最爱移除照片(取消按赞) | 写 |
flickr_add_comment |
在照片下发布留言 | 写 |
相簿工具
| 工具 | 功能 | 读/写 |
|---|---|---|
flickr_list_albums |
列出所有相簿 | 读 |
flickr_get_album_photos |
列出相簿内照片 | 读 |
flickr_create_album |
建立新相簿 | 写 |
flickr_add_photo_to_album |
将照片加入相簿 | 写 |
flickr_remove_photo_from_album |
从相簿移除照片 | 写 |
flickr_edit_album_meta |
修改相簿标题与描述 | 写 |
群組工具
| 工具 | 功能 | 读/写 |
|---|---|---|
flickr_list_my_groups |
列出已加入的所有群组 | 读 |
flickr_search_groups |
依关键字搜寻群组 | 读 |
flickr_add_photo_to_group |
将照片投稿到群组 | 写 |
flickr_leave_group |
退出群组 | 删除 |
联络人工具
| 工具 | 功能 | 读/写 |
|---|---|---|
flickr_follow_user |
追踪使用者(加入联络人) | 写 |
flickr_unfollow_user |
取消追踪(移除联络人) | 写 |
所有列表/搜寻工具都会回传缩图与中等尺寸图片URL,方便AI进行视觉分析。
前置需求
- Node.js>=18
- Flickr帐号
- Flickr API密钥(在此申请)
安装设定
1.下载并安装
git clone https://github.com/chochinlu/flickr-mcp-server.git
cd flickr-mcp-server
npm install
2.取得Flickr API密钥
- 前往 Flickr应用花园 建立应用程序
- 取得 API密钥 与 API秘密
- 建立
.env档案:
cp .env.example .env
- 在
.env中填入FLICKR_API_KEY和FLICKR_API_SECRET
3. OAuth认证
执行互动式设定脚本:
npm run oauth-setup
脚本会引导你:
- 产生授权URL
- 在浏览器中开启Flickr进行授权
- 输入页面上显示的验证码
- 自动将OAuth token存入
.env
Flickr 的 OAuth token 永不过期,只需设定一次。
4.编译
npm run build
5.设定MCP客户端
克劳德代码
在项目的 .mcp.json 中加入:
{
"mcpServers": {
"flickr": {
"command": "node",
"args": ["/absolute/path/to/flickr-mcp-server/dist/index.js"]
}
}
}
克劳德桌面版
在 claude_desktop_config.json 中加入:
{
"mcpServers": {
"flickr": {
"command": "node",
"args": ["/absolute/path/to/flickr-mcp-server/dist/index.js"]
}
}
}
使用示例
联机后,你可以用自然语言请AI助手帮你:
- 「列出我所有的 Flickr 相簿」
- 「找出没有归入任何相簿的照片」
- 「搜寻标记了
travel的照片」 - 「帮照片12345678加上
tokyo、japan、2024标签」 - 「建立一个叫『东京之旅』的新相簿,用照片12345678当封面」
- 「把这些照片移到东京之旅相簿」
- 「列出我加入的所有群組」
- 「把这张照片投稿到街拍群组」
- 「退出所有照片数不到100的不活跃群组」
- 「帮我对这张照片按赞,然后追踪这个摄影师」
- 「把这张照片加入我的最爱」
API 限制
- Flickr允许每小时 3,600次请求(约每秒1次)
- Client内置1秒最小间隔的速率限制
- 列表类API每页最多 500笔,支持分页