Flickr照片管理服务器

一个通过Model Context Protocol(MCP)让AI助手查看、描述、标记和管理Flickr账户照片的服务器。

  • by soctib
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 soctib/flickr-mcp-server

使用说明

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 build

2.获取Flickr API证书

  1. 首选https://www.flickr.com/services/apps/create/
  2. 创建一个新应用程序来获取您的 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 setup

MCP检验员测试:

npx @modelcontextprotocol/inspector node dist/index.js

免责声明

这个项目是和克劳德合作完成的。它有效,经过测试,但要相应地设定你的期望。

许可证

麻省理工学院