Sponsored by Deepsite.site

Flickr Mcp Server

Created By
soctiba month ago
An MCP server that lets AI assistants see, describe, tag, and manage photos on your Flickr account. Browse photos and albums, draft titles/descriptions/tags, check stats, discover and submit to groups, read and post comments, and keep local notes — all through the Model Context Protocol.
Overview

Flickr MCP Server

An MCP server that lets AI assistants see, describe, tag, and manage photos on your Flickr account. Browse photos and albums, draft titles/descriptions/tags, check stats, discover and submit to groups, read and post comments, and keep local notes — all through the Model Context Protocol.

Prerequisites

  • Node.js 18+
  • Flickr API key (free at flickr.com/services/apps/create/)
  • An MCP-compatible client (Claude Desktop, Claude Code, etc.)

Setup

1. Install and build

git clone https://github.com/soctib/flickr-mcp-server.git
cd flickr-mcp-server
npm install
npm run build

2. Get Flickr API credentials

  1. Go to https://www.flickr.com/services/apps/create/
  2. Create a new app to get your API Key (consumer key) and Secret (consumer secret)

3. Authorize with Flickr

npm run setup-auth

This will:

  • Prompt for your API key and secret (if not already in .env)
  • Open a browser window for you to authorize the app on Flickr
  • Save OAuth tokens to .env automatically

Flickr OAuth tokens don't expire, so you only need to do this once.

4. Configure your MCP client

Add to your Claude Desktop config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %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"
      }
    }
  }
}

Alternatively, leave credentials in the .env file and omit the env block.

Available Tools

Photos

ToolDescription
flickr_get_recent_photosList your recent uploads with metadata. Filter by visibility (public, private, friends, family).
flickr_get_favoritesList your faved photos with metadata and owner names.
flickr_view_photoFetch a photo's image and full metadata. Pass up to 10 IDs to view multiple photos at medium size.
flickr_view_thumbsView multiple photos as 150px square thumbnails. Pass photo IDs, or an album ID to browse visually.
flickr_set_metadataUpdate a photo's title and/or description.
flickr_set_tagsReplace all tags on a photo. Multi-word tags must be quoted.

Albums

ToolDescription
flickr_list_albumsList your albums (or another user's public albums) with photo counts and visibility labels.
flickr_get_albumGet photos in a specific album with full metadata.

Groups

ToolDescription
flickr_list_groupsList groups you're a member of, with submission limits.
flickr_search_groupsSearch Flickr for groups by topic.
flickr_get_group_recentsBrowse recent photos in a group's pool to evaluate activity and fit.
flickr_get_photo_contextsGet all groups and albums photos belong to. Pass photo IDs, or an album ID to check every photo at once.
flickr_add_to_groupSubmit a photo to a group pool. Blocks private photos from being submitted.
flickr_remove_from_groupRemove a photo from a group pool.

Stats & Comments

ToolDescription
flickr_get_activityDaily activity summary: total views across your account plus which photos got views, faves, and comments.
flickr_get_statsView your most popular photos by views/comments/favorites, or daily stats for a specific photo (last 28 days).
flickr_get_commentsRead all comments on a photo.
flickr_add_commentPost a comment on any photo.

Local Notes

Notes are stored in a local SQLite database (notes.db) and never sent to Flickr. Use them for reminders, ideas, group submission plans, or any personal annotations.

ToolDescription
flickr_add_noteAdd a note to a photo, album, or group.
flickr_get_notesGet all notes for a specific photo, album, or group.
flickr_delete_noteDelete a note by ID.
flickr_search_notesSearch all notes by text content.

Troubleshooting

  • "OAuth signature invalid" — Re-run npm run setup-auth to refresh tokens.
  • "Authentication failed" — Check that all 4 credentials in .env are correct.
  • Image not displaying — The server caps images at ~700KB. Very large photos fall back to text-only with a Flickr URL.
  • Stats returning emptyphoto_daily mode only covers the last 28 days (Flickr limitation). Use popular mode for all-time totals.
  • "Not a member" when adding to group — You must join the group on Flickr's website first.
  • better-sqlite3 version mismatch — If the server crashes on startup with a NODE_MODULE_VERSION error, run npm rebuild better-sqlite3 using the same Node version that runs the server.

Development

npm run build          # Compile TypeScript
npm start              # Run the server (stdio)
npm run setup-auth     # Re-run OAuth setup

Test with MCP Inspector:

npx @modelcontextprotocol/inspector node dist/index.js

Disclaimer

This project was vibecoded with Claude. It works, it's tested, but set your expectations accordingly.

License

MIT

Server Config

{
  "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"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
DeepChatYour AI Partner on Desktop
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Playwright McpPlaywright MCP server
CursorThe AI Code Editor
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Tavily Mcp
WindsurfThe new purpose-built IDE to harness magic
ChatWiseThe second fastest AI chatbot™
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Serper MCP ServerA Serper MCP Server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Amap Maps高德地图官方 MCP Server