Flickr MCP服务器
一个MCP服务器,允许AI助手查看、描述、标记和管理您Flickr帐户上的照片。浏览照片和相册,起草标题/描述/标签,检查统计数据,发现并提交给群组,阅读和发布评论,并保留本地笔记——所有这些都是通过模型上下文协议完成的。
先决条件
- Node.js 18+
- Flickr API密钥 (免费访问flickr.com/services/apps/create/)
- MCP兼容客户端(克劳德桌面、克劳德代码等)
设置
1.安装和构建
git clone https://github.com/soctib/flickr-mcp-server.git
cd flickr-mcp-server
npm install
npm run build2.获取Flickr API证书
- 首选https://www.flickr.com/services/apps/create/
- 创建一个新应用程序来获取您的 API密钥 (消费者密钥)和 秘密 (消费者秘密)
3.授权Flickr
npm run setup-auth这将:
- 提示输入API密钥和机密(如果尚未在中
.env) - 打开浏览器窗口,以便您在Flickr上授权该应用程序
- 将OAuth令牌保存到
.env自动地
Flickr OAuth令牌不会过期,因此您只需执行一次。
4.配置您的MCP客户端
添加到您的Claude Desktop配置中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"flickr": {
"command": "node",
"args": ["/absolute/path/to/flickr-mcp-server/dist/index.js"],
"env": {
"FLICKR_CONSUMER_KEY": "your_key",
"FLICKR_CONSUMER_SECRET": "your_secret",
"FLICKR_OAUTH_TOKEN": "your_token",
"FLICKR_OAUTH_TOKEN_SECRET": "your_token_secret"
}
}
}
}或者,将凭据留在 .env 文件并省略 env 块。
可用工具
照片
| 工具 | 说明 |
|---|---|
flickr_get_recent_photos | 列出您最近上传的元数据。按可见性(公共、私人、朋友、家人)过滤。 |
flickr_get_favorites | 列出你最喜欢的照片,包括元数据和所有者姓名。 |
flickr_view_photo | 获取照片的图像和完整的元数据。最多传递10个ID以查看多张中等大小的照片。 |
flickr_view_thumbs | 以150px的方形缩略图查看多张照片。传递照片ID或相册ID以进行视觉浏览。 |
flickr_set_metadata | 更新照片的标题和/或描述。 |
flickr_set_tags | 替换照片上的所有标签。必须引用多个单词标签。 |
专辑
| 工具 | 说明 |
|---|---|
flickr_list_albums | 列出您的相册(或其他用户的公共相册),包括照片数量和可见性标签。 |
flickr_get_album | 获取包含完整元数据的特定相册中的照片。 |
群组
| 工具 | 说明 |
|---|---|
flickr_list_groups | 列出您所属的组,并设定提交限制。 |
flickr_search_groups | 在Flickr上按主题搜索群组。 |
flickr_get_group_recents | 浏览群组池中的最新照片,以评估活动和适合度。 |
flickr_get_photo_contexts | 获取照片所属的所有组和相册。传递照片ID或相册ID以一次检查每张照片。 |
flickr_add_to_group | 向群池提交照片。阻止提交私人照片。 |
flickr_remove_from_group | 从群池中删除照片。 |
统计与评论
| 工具 | 说明 |
|---|---|
flickr_get_activity | 每日活动摘要:您帐户的总浏览量,以及哪些照片获得了浏览量、收藏夹和评论。 |
flickr_get_stats | 按浏览量/评论/收藏夹或特定照片的每日统计数据(过去28天)查看您最受欢迎的照片。 |
flickr_get_comments | 阅读照片上的所有评论。 |
flickr_add_comment | 对任何照片发表评论。 |
本地笔记
注释存储在本地SQLite数据库中(notes.db)从未发送到Flickr。将它们用于提醒、想法、小组提交计划或任何个人注释。
| 工具 | 说明 |
|---|---|
flickr_add_note | 向照片、相册或组中添加注释。 |
flickr_get_notes | 获取特定照片、相册或组的所有笔记。 |
flickr_delete_note | 按ID删除注释 |
flickr_search_notes | 按文本内容搜索所有笔记。 |
故障排除
- “OAuth签名无效” --重新运行
npm run setup-auth刷新令牌。 - “身份验证失败” --检查中的所有4个凭据
.env是正确的。 - 图像未显示 --服务器将图像大小限制在约700KB。非常大的照片只能通过Flickr URL恢复为文本。
- 统计数据返回为空 —
photo_daily模式仅覆盖过去28天(Flickr限制)。使用popular历史总计模式。 - 添加到组时为“非成员” --您必须先加入Flickr网站上的群。
better-sqlite3版本不匹配 --如果服务器在启动时崩溃NODE_MODULE_VERSION错误,运行npm rebuild better-sqlite3使用运行服务器的相同Node版本。
发展
npm run build # Compile TypeScript
npm start # Run the server (stdio)
npm run setup-auth # Re-run OAuth setupMCP检验员测试:
npx @modelcontextprotocol/inspector node dist/index.js免责声明
这个项目是和克劳德合作完成的。它有效,经过测试,但要相应地设定你的期望。
许可证
麻省理工学院
