Flickr Mcp Server について
Flickr Mcp Serverは、AIアシスタントからFlickrの写真、アルバム、グループ、コメント、アカウント統計を閲覧・管理できるようにします。個人メモはFlickrに送らず、SQLiteにローカル保存します。
主な機能
- 01写真、アルバム、お気に入りを閲覧
- 02写真のタイトル、説明、タグを更新
- 03グループを検索して投稿を管理
- 04写真のコメントを読み書き
- 05アクティビティと写真の統計を確認
- 06SQLiteのローカルメモを保存・検索
活用シーン
- 01最近のアップロードやアルバムを確認
- 02写真のメタデータを整えて更新
- 03グループを探して写真を投稿
- 04写真の動向を把握し、ローカルメモを記録
MCP 対応
MCP対応クライアントに、Flickrの写真、アルバム、グループ、コメント、統計、ローカルメモを扱うツールを提供します。Flickrへの接続にはAPI認証情報とOAuth認証が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Flickr MCP サーバー
Flickr アカウント上の写真を AI アシスタントが閲覧、説明、タグ付け、管理できる MCP サーバーです。写真やアルバムの閲覧、タイトル・説明・タグの下書き、統計の確認、グループの検索と写真の投稿、コメントの閲覧と投稿、ローカルメモの保存を、すべて Model Context Protocol を通じて行えます。
前提条件
- Node.js 18+
- Flickr API キー(flickr.com/services/apps/create/ で無料取得できます)
- MCP 対応クライアント(Claude Desktop、Claude Code など)
セットアップ
1. インストールとビルド
git clone https://github.com/soctib/flickr-mcp-server.git
cd flickr-mcp-server
npm install
npm run build
2. Flickr API の認証情報を取得する
- https://www.flickr.com/services/apps/create/ にアクセスします
- 新しいアプリを作成し、API Key(コンシューマーキー)と Secret(コンシューマーシークレット)を取得します
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
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"
}
}
}
}
または、認証情報を .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 signature invalid" —
npm run setup-authを再実行して、トークンを更新してください。 - "Authentication failed" —
.env内の4つの認証情報がすべて正しいことを確認してください。 - 画像が表示されない — サーバーが扱える画像は約700KBまでです。非常に大きな写真は、FlickrのURLを示すテキストのみの表示に切り替わります。
- 統計情報が空で返される —
photo_dailyモードの対象は過去28日間のみです(Flickrの制限)。全期間の合計にはpopularモードを使用してください。 - グループへの追加時に「Not a member」と表示される — 先にFlickrのウェブサイトでグループに参加する必要があります。
better-sqlite3のバージョン不一致 —NODE_MODULE_VERSIONエラーでサーバーの起動時にクラッシュする場合は、サーバーの実行に使用しているものと同じNodeバージョンでnpm rebuild better-sqlite3を実行してください。
開発
npm run build # Compile TypeScript
npm start # Run the server (stdio)
npm run setup-auth # Re-run OAuth setup
MCP Inspectorでテストします:
npx @modelcontextprotocol/inspector node dist/index.js
免責事項
このプロジェクトはClaudeを使ってバイブコーディングで作成されました。動作し、テストも済んでいますが、その点を踏まえてご利用ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。