About Flickr Mcp Server
Flickr Mcp Server lets AI assistants browse and manage Flickr photos, albums, groups, comments, and account stats. It also stores personal notes locally in SQLite rather than sending them to Flickr.
Key features
- 01Browse photos, albums, and favorites
- 02Update photo titles, descriptions, and tags
- 03Search groups and manage submissions
- 04Read and post photo comments
- 05View activity and photo statistics
- 06Store and search local SQLite notes
Use cases
- 01Review recent uploads and album contents
- 02Prepare and update photo metadata
- 03Find groups and submit photos
- 04Track photo activity and keep local annotations
MCP support
Exposes Flickr photo, album, group, comment, statistics, and local-note operations as tools for MCP-compatible clients. Flickr access uses API credentials and OAuth authorization.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEFlickr 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
- Go to https://www.flickr.com/services/apps/create/
- 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
.envautomatically
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
| Tool | Description |
|---|---|
flickr_get_recent_photos | List your recent uploads with metadata. Filter by visibility (public, private, friends, family). |
flickr_get_favorites | List your faved photos with metadata and owner names. |
flickr_view_photo | Fetch a photo's image and full metadata. Pass up to 10 IDs to view multiple photos at medium size. |
flickr_view_thumbs | View multiple photos as 150px square thumbnails. Pass photo IDs, or an album ID to browse visually. |
flickr_set_metadata | Update a photo's title and/or description. |
flickr_set_tags | Replace all tags on a photo. Multi-word tags must be quoted. |
Albums
| Tool | Description |
|---|---|
flickr_list_albums | List your albums (or another user's public albums) with photo counts and visibility labels. |
flickr_get_album | Get photos in a specific album with full metadata. |
Groups
| Tool | Description |
|---|---|
flickr_list_groups | List groups you're a member of, with submission limits. |
flickr_search_groups | Search Flickr for groups by topic. |
flickr_get_group_recents | Browse recent photos in a group's pool to evaluate activity and fit. |
flickr_get_photo_contexts | Get all groups and albums photos belong to. Pass photo IDs, or an album ID to check every photo at once. |
flickr_add_to_group | Submit a photo to a group pool. Blocks private photos from being submitted. |
flickr_remove_from_group | Remove a photo from a group pool. |
Stats & Comments
| Tool | Description |
|---|---|
flickr_get_activity | Daily activity summary: total views across your account plus which photos got views, faves, and comments. |
flickr_get_stats | View your most popular photos by views/comments/favorites, or daily stats for a specific photo (last 28 days). |
flickr_get_comments | Read all comments on a photo. |
flickr_add_comment | Post 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.
| Tool | Description |
|---|---|
flickr_add_note | Add a note to a photo, album, or group. |
flickr_get_notes | Get all notes for a specific photo, album, or group. |
flickr_delete_note | Delete a note by ID. |
flickr_search_notes | Search all notes by text content. |
Troubleshooting
- "OAuth signature invalid" — Re-run
npm run setup-authto refresh tokens. - "Authentication failed" — Check that all 4 credentials in
.envare correct. - Image not displaying — The server caps images at ~700KB. Very large photos fall back to text-only with a Flickr URL.
- Stats returning empty —
photo_dailymode only covers the last 28 days (Flickr limitation). Usepopularmode for all-time totals. - "Not a member" when adding to group — You must join the group on Flickr's website first.
better-sqlite3version mismatch — If the server crashes on startup with aNODE_MODULE_VERSIONerror, runnpm rebuild better-sqlite3using 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.