mcpField
I
Immich Photo Manager

Immich Photo Manager

ローカル
drolosoft.comメディア・デザイン613 週間前に更新

Immich Photo Manager について

immich-photo-manager は、Drolosoft による非公式のコミュニティ製 MCP サーバーで、セルフホストの Immich 写真ライブラリを管理します。AI アシスタントから検索、整理、重複の除去、アルバム作成を行え、利用者自身の Immich サーバーにローカルで接続します。

主な機能

  1. 01GPS、視覚情報、日時による写真検索
  2. 02地理情報に基づくアルバムの自動作成
  3. 03重複写真の検出と整理
  4. 04ギャラリーと旅行マップの公開
  5. 05PDF フォトブックと動画フレームの書き出し
  6. 06アセットのメモとゴミ箱の管理

活用シーン

  1. 01旅行ごとのアルバムを一括で作成
  2. 02削除前に重複写真を確認
  3. 03共有用のギャラリーや PDF フォトブックを生成

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"immich-photo-manager": {
"command": "uvx",
"args": [
"immich-photo-manager"
],
"env": {
"IMMICH_BASE_URL": "<IMMICH_BASE_URL>",
"IMMICH_API_KEY": "<IMMICH_API_KEY>",
"MCP_ALLOWED_HOSTS": "<MCP_ALLOWED_HOSTS>"
}
}
}
}
起動コマンドuvx immich-photo-manager
設定が必要な環境変数
IMMICH_BASE_URLURL of your Immich server, for example https://photos.example.com
IMMICH_API_KEYシークレットImmich API key (Account Settings, API Keys). Both variables can also be set later from the client with the update_credentials tool.
MCP_ALLOWED_HOSTSExtra hostnames the container may be reached under (a reverse proxy, another container). DNS-rebinding protection stays on.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiimmich-photo-manager2.0.11
ocighcr.io/drolosoft/immich-photo-manager:2.0.11

ツール

94

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

immich-photo-manager

immich-photo-manager

CI License: MIT immich-photo-manager MCP サーバー GitHub リリース Immich PyPI

Immich 2.7.5 および 3.1.0 で実機テスト済み プッシュごとに364件のユニットテストを実行 実際のセッションを使った18件のデモ

Immichで写真をインテリジェントに管理するMCP サーバー:セルフホストのライブラリを理解します。

Drolosoftによる非公式のコミュニティプラグインです。ImmichまたはFUTOと提携、スポンサー関係、承認を受けているものではありません。「Immich」はそれらの名称であり、このプラグインが動作するサーバーを示す目的でのみ使用しています。公開APIを通じてImmichサーバーと通信します。

Immichのライブラリが手作業で管理できる量を超えて増えているなら、immich-photo-managerを使うと、どのAI アシスタントからでもインスタンスに直接アクセスして、自然な会話を通じて検索、整理、重複の解消、アルバムの選定ができます。Claude、Gemma、またはMCP対応クライアントで動作します。ローカルで実行され、Immichとのみ通信するため、オリジナルの写真はサーバーに残ります(ネットワーク外に送信される情報を参照)。

想定ではなく、テスト済みです。 プッシュのたびに、CIで364件のユニットテストを実行します。各リリースはタグ付け前に、実際のImmich 2.7.5および3.1.0に対して実機テスト(Docker、MCPプロトコルのレガシー時代に対応した全94ツール、書き込みごとに状態を再読み込み)も行います。両方のプロトコル時代(レガシーハンドシェイクとステートレスな2026-07-28)は、SDKを使わないワイヤーテスト(tests/test_raw_wire_eras.py)で毎回のプッシュ時に検証されます。テストキットはtests/live/にあり、誰でも再現できます。doc/demos/のデモは実際のセッションの記録です。デモ11では、この一連の操作をプロンプトごとに解説し、デモ12では実際の動画クリップを使って、動画フレームとPDFフォトブックを処理します。デモ13~18では、2.xで追加された機能(ライブラリの検出、OCRと人物検索、メモリーとスタック、パートナーとダウンロード、アセットのメモ、Dockerイメージ)を実際のセッションで紹介しています。詳細:テスト方法。

immich-photo-manager のデモ


機能

**「旅行ごとにアルバムを作成して」**と言うだけで、処理が始まります。

地理情報に基づくアルバムの作成

GPS座標、CLIPによるビジュアル検索、時間的な照合を1つのリクエストに組み合わせ、選定した数十件のアルバムを作成します。スクリプトも手作業での整理も不要です。


クイックスタート

前提条件
インストール(Claude Code プラグイン)
git clone https://github.com/drolosoft/immich-photo-manager.git
cd immich-photo-manager
pip3 install -r src/requirements.txt      # the plugin runs on your system python3

claude plugin marketplace add ./
claude plugin install immich-photo-manager

インストール時に、サーバー URL と API キーの 2 つのオプションがまだ設定されていないことが表示されます。セッション中に /plugin を実行するとダイアログで入力でき(キーはシステムのセキュアストレージに保存されます)、シェルから --config immich_base_url=... --config immich_api_key=... を渡して設定することもできます。または、両方を空のままにして、以下のセットアップで保存することもできます。

Claude Code を開き(すでに開いている場合は再起動し)、Immich に接続します。ガイドに沿って進める場合:

/setup-immich-photo-manager

サーバー URL と API キーの入力を求められ、サーバーに対して検証した後、保存してライブラリの統計情報を表示します。

/setup-immich-photo-manager: 接続済み、Immich のバージョンとライブラリのサイズ

またはガイドを省略し、1 行で指示できます(内部的には同じ処理です)。

Update my Immich credentials to http://immich.local:2283 with API key <your API key>

どちらの場合も、認証情報は以降のすべてのセッション用に保存されます。サーバーやキーを変更する場合は、もう一度実行してください。いつでも次のコマンドで確認できます。

What Immich version am I connected to?

インストールはこれで完了です。Claude Code ではなく、Claude Desktop、Cowork、または別の MCP クライアントを使いますか?スキルを含まない通常の MCP サーバーについては、はじめに、ルート B をご覧ください。

プラグインの更新

再インストールは不要で、1 行で更新できます。

cd immich-photo-manager && git pull      # the clone you installed from
claude plugin marketplace update drolosoft-marketplace
claude plugin update immich-photo-manager@drolosoft-marketplace

その後、Claude Code を再起動してください。drolosoft-marketplace は、クローンから追加した際にマーケットプレイスに付けられる名前です(claude plugin marketplace list で確認できます)。保存済みの認証情報は引き継がれます。

新しいバージョンを取得した後、pip3 install -r src/requirements.txt を再度実行してください。1.7.1 で動画(av)および PDF(fpdf2)ライブラリがプラグインの依存関係に追加されました。uvx を使う場合は、uvx --refresh immich-photo-manager --help を一度実行してから、クライアントを再起動してください。

2.0.12 からのアップグレード

再設定は不要です。オプション、サーバーコマンド、ツール名は 2.0.12 と同じで、保存済みの認証情報も引き継がれます。変更点は次のとおりです。

  • サーバー URL と API キーの設定には、プラグインの設定ダイアログ(/plugin を実行してから、プラグインのオプションを選択)を使う方法を推奨します。キーはシステムのセキュアストレージに保存されます。/setup-immich-photo-manager で接続している場合も引き続き使えるため、移行は不要です。
  • リポジトリ内の画像は、カラー プロファイルや EXIF データを含めずに保存し直しました。見た目は変わりません。
  • README に、プラグインが実行、送信、取得するすべての内容を一か所にまとめました。
ネットワーク外に送信されるもの

プラグインのプロセスはお使いのマシン上で実行され、Immich とのみ通信します。ただし、アシスタントがプラグインを通じて読み取る内容はすべて、使用するモデルに送られます。ファイル名、日付、EXIF、アルバム一覧に加え、写真の確認を依頼した場合はサムネイル(デフォルトで 250px、依頼時には 1440px のプレビュー)も送信されます。オリジナル画像が取得されることはありません。Claude を使う場合、これらのサムネイルはネットワーク外に送信されます。MCP 経由でローカルモデル(LM Studio、Ollama)を使う場合は、何も送信されません。依頼しない限り何も送信されません。アルバム一覧の表示や日付の修正ではテキストのみが送信され、「これらの写真に何が写っているか教えて」と依頼すると画像が送信されます。

PDF レポートも同じルールに従います。export_pdf はサーバーを実行しているマシンのディスクにファイルを書き込み、return_base64=true を渡さない限り、どこにも送信されません。ファイルは output_path で指定した場所(デフォルトではデスクトップ)に保存され、既存のファイルが上書きされることはありません。PDF にのみ使用されるフレームはマシンの外に送信されず、トークンも消費しません。モデルに確認を依頼したフレームのみが送信されます。アセットに GPS 情報がある場合、「場所」ページでは tile.openstreetmap.org のタイルを使って地図が表示されます。これはサーバー自体が行う唯一のサードパーティ通信です。map=false を渡すと地図表示を省略し、すべてをネットワーク内に留められます。

プラグインが実行、送信、取得するもの
  • 実行するもの:プラグイン内のファイル(src/plugin_entry.py)を python3 で起動する、MCP サーバーのローカルプロセスが1つです。フックもバックグラウンドジョブもなく、起動時に何かがダウンロードまたはインストールされることもありません。Python ライブラリは、src/requirements.txt からご自身でインストールしたものを使用します。
  • お使いの Immich サーバー:すべてのツールは、設定した Immich サーバーの公開 API を呼び出し、API キーを x-api-key ヘッダーで送信します。upload_asset は、指定したローカルファイルをそのサーバーに送信します。
  • プラグインからの他のサーバーへのアクセス:アクセス先は tile.openstreetmap.org のみで、PDF レポートで場所マップを描画する場合に限られます。リクエストには対象エリアのタイル座標が含まれるため、そのサーバーには写真がおおよそどこで撮影されたかが伝わります。map=false にするとアクセスをスキップします。
  • プラグインが作成するページからの他のサーバーへのアクセス:ギャラリーページは外部から何も読み込みません。手書き風フォントはページに埋め込まれています。ご自身のマシンから配信される旅行マップは、unpkg.com から Leaflet とそのアドオン2つを読み込みます。それぞれのバージョンは固定され、integrity ハッシュによってブラウザーが変更されたファイルを拒否します。また、OpenStreetMap からマップタイルを読み込むため、閲覧しているエリアがこれら2つのサーバーに伝わります。サムネイルはページに埋め込まれるか、CORS を設定するとご自身の Immich から読み込まれます。
  • お使いのマシン上のファイル:export_pdf と download_archive は指定した場所にファイルを書き込み、既存のファイルを上書きすることはありません。ギャラリーとマップは、アシスタントが HTML ファイルとして書き込みます。重複レポートは、写真を比較するためにディスク上のインポートフォルダーを読み込むことができ、指定されたファイル一覧を承認した場合にのみ、そのフォルダー内のファイルを削除します。
  • 認証情報:プラグインの設定ダイアログで入力した API キーは、システムのセキュアストレージに保存されます(/setup-immich-photo-manager または update_credentials を使って)会話内で入力したキーは、他のメッセージと同様にモデルを経由し、ユーザー本人のみが読み取れる2つのファイル、プラグインのキャッシュフォルダーにある config.json と ~/.immich-photo-manager/config.json に保存されます。
  • 公開リンク:create_shared_link は、URL を知っている人なら誰でも開けるリンクを作成します。共有を依頼した場合にのみ作成されます。list_shared_links で既存のリンクを確認でき、delete_shared_link で削除できます。
  • 削除:delete_assets はアセットを Immich のゴミ箱に移動し、restore_assets で元に戻せます。完全に削除するのは force=true を指定した場合のみです。また、empty_trash も取り消せません。クリーンアップと重複チェックのスキルは、検出結果を提示し、何かを削除する前に返答を待ちます。プラグインが Claude の権限設定を変更することはありません。
会話だけで接続、確認、切り替え

セットアップ後に設定ファイルを編集する必要はありません。会話内で接続を管理できます。

ユーザーの発言動作
「接続している Immich のバージョンは?」サーバーのバージョンと接続先の URL を報告します
「Immich の認証情報を https://photos.example.com、API キー ... に更新して」そのサーバーに対してキーを検証し、稼働中の接続を即時に切り替えて保存します。再起動は不要です
「Immich の接続情報を表示して」URL とマスクされた API キーを表示します

一度に接続できるのは1つのサーバーです。2つ目の Immich(テスト用インスタンスや友人のサーバー)を使うには、更新の文をもう一度入力してください。元に戻すには、さらにもう一度入力します。URL またはキーが間違っている場合はその旨を知らせ、以前の接続を維持します。

一連の操作を試すには、こちらをご覧ください:Demo 11, Album Walkthrough。アルバムの各アイテムを順に確認し、繰り返し登場する人物を見つけ、サブアルバムを作成し、すべての写真にタグと説明を追加します。

Claude Code で動作します

同じプラグインは Claude Code でも動作します。ライブラリの検索、アルバムの整理、ギャラリーの生成をターミナルから直接行えます。

画面分割:左側では Claude Code のターミナルがフォトギャラリーを生成し、右側ではブラウザーにアルバムカード付きの完成したギャラリーが表示されています

会話の完全な記録:Claude Code のデモ

あらゆる MCP クライアントに対応

immich-photo-manager は MCP サーバーです。Claude だけでなく、Model Context Protocol に対応するあらゆる AI アシスタントで動作します。

uvx でパッケージのエントリーポイントを直接使用します。

{
  "mcpServers": {
    "immich": {
      "command": "uvx",
      "args": ["immich-photo-manager"],
      "env": {
        "IMMICH_BASE_URL": "https://your-immich-server.com",
        "IMMICH_API_KEY": "your-api-key"
      }
    }
  }
}

immich-photo-manager は、デフォルトで MCP stdio トランスポートを使用します。サーバーを Streamable HTTP サービスとして実行する場合は、MCP_TRANSPORT=http を設定します。

🐳 Docker コンテナとして実行

サーバーは GitHub Container Registry でマルチアーキテクチャイメージ(amd64 + arm64)としても提供されており、ポート 8626 で MCP を HTTP 経由で提供します。両方のプロトコル世代に対応し、ツールは同じ 94 個です。

docker run -d -p 8626:8626 \
  -e IMMICH_BASE_URL=https://your-immich-server.com \
  -e IMMICH_API_KEY=your-api-key \
  -v ./exports:/data \
  ghcr.io/drolosoft/immich-photo-manager

任意の Streamable HTTP クライアントから http://localhost:8626/mcp に接続してください。稼働状態は /health で確認できます(認証情報は不要で、イメージの HEALTHCHECK として設定されています)。ファイルを書き出すツール(export_pdf、download_archive)はファイルを /data に保存するため、そこにボリュームをマウントしてください。localhost 以外の名前(リバースプロキシや別のコンテナなど)でコンテナにアクセスするには、その名前を -e MCP_ALLOWED_HOSTS=... に指定する必要があります。DNS リバインディング対策は有効のままです。

環境変数は省略可能です。設定せずにコンテナを起動してもサーバーは動作し、すべてのツールが修正方法とともに「Immich の認証情報が設定されていません」と応答します。update_credentials を 1 回呼び出して(base_url + api_key)接続すると、認証情報は /data に保存されます。そのため、ボリュームをマウントしておけば、再起動や再作成後も保持されます。

Immich スタックの隣、または単独の Compose サービスとして実行する場合も同様です。

services:
  immich-mcp:
    image: ghcr.io/drolosoft/immich-photo-manager
    ports:
      - "8626:8626"
    environment:
      IMMICH_BASE_URL: https://your-immich-server.com
      IMMICH_API_KEY: your-api-key
      # MCP_ALLOWED_HOSTS: photos-mcp.example.com   # only behind a proxy / other hostname
    volumes:
      - ./exports:/data
    restart: unless-stopped

**macOS の Claude Desktop:**アプリからはシェルの PATH が参照できないため、"command" に uvx のフルパスを指定してください(ターミナルで which uvx を実行します。通常は /Users/<you>/.local/bin/uvx または /opt/homebrew/bin/uvx です)。ターミナルで uvx immich-photo-manager --help を一度実行して初回のダウンロードを済ませてから、Cmd+Q で Claude Desktop を終了し、再度開いてください。それでも表示されない場合は、原因が ~/Library/Logs/Claude/mcp-server-immich.log に記録されています。

============================================================
IMMICH-PHOTO-MANAGER × GEMMA 4 (LM STUDIO)
============================================================

Immich: https://your-immich-server.com
Model:  gemma4-26b-it (local, LM Studio)
Query:  "Show me my Lanzarote albums"

1. Getting MCP tool schemas...
   94 MCP tools available

2. Asking Gemma 4...
   Gemma 4 chose: list_albums({})

3. Executing 'list_albums' against Immich...
   Found 124 total albums, 14 Lanzarote albums:
     - Lanzarote Amarillo (26 photos)
     - Lanzarote Rojo (201 photos)
     - Lanzarote Azul (187 photos)
     - Lanzarote Marrón (208 photos)
     - Lanzarote Negro (193 photos)
     - Lanzarote Verde (201 photos)
     - Lanzarote Gasolina (174 photos)
     ...

4. Gemma 4 interpreting results...
   "I found 14 Lanzarote albums, 7 color-themed with
    1,190 photos and 7 location-specific albums."

RESULT: Zero cloud dependency, fully self-hosted stack.
クライアント状態
Claude Codeテスト済み
Claude Desktopテスト済み
LM Studio(Gemma 4)テスト済み
Cursor、Windsurf、VS Code、Cline、Zed対応(MCP stdio)

トランスクリプト全文:Gemma 4 デモ · テストスクリプト:test-lmstudio-mcp.py


主な特長

  • AI を活用した検索:CLIP を使用して、自然言語で写真を検索できます(「ビーチの夕日」「バースデーケーキ」など)
  • 地理情報に基づくアルバム:GPS、CLIP、時間情報を組み合わせ、場所ごとに整理したアルバムを作成できます
  • メタデータの修復:正午・深夜のタイムスタンプを修正し、前後の写真から欠落した GPS 情報を推定して、タイムゾーンのオフセットを修正します
  • ライブラリの整理:複数のシグナルを分析し、スクリーンショット、重複写真、画質の低い画像を検出します。類似写真や連写写真は削除せず、最良の写真の後ろにまとめてスタックできます。この操作は取り消せます
  • 重複写真の検出:知覚ハッシュを使用してソースをまたいで分析します(Apple Photos、Google Photos、その他のインポート元にある再エンコード済みのコピーを検出します)
  • 一括回転:アルバム全体または選択した写真をまとめて回転できます(90°/180°/270°)。非破壊方式で、複数回の操作が累積され、ワンクリックで元に戻せます
  • PDF レポート:アルバムまたは選択した写真を、メタデータ、動画のフレーム、Claude のキャプションを含む PDF に、手元のマシン上で変換します。フォトブックのレイアウトでは、選んだ動画の各シーンに専用のページとキャプションが付きます。表紙、目次、場所のページは任意で追加できます
  • 動画のフレーム:任意の動画、または区間(start/end)から一定間隔でフレームを切り出せます。interval を指定すれば最大で毎秒 1 フレームを切り出せるため、Claude が動画内の出来事を説明できます。Immich 自体が各動画に保持するのはポスター画像 1 枚です
  • 人物と顔の管理:認識された人物の一覧表示、検索、統合、整理ができます。誤認識された顔の割り当てを変更したり、顔のサムネイルを表示したりできます
  • ゴミ箱とアセットのライフサイクル:アセットを安全にゴミ箱へ移動し、完全に削除したり、ゴミ箱から復元したりできます。アセットのライフサイクルを一元管理できます
  • ライブラリの健全性:アセットのインベントリ、メタデータの品質、ストレージの内訳、推奨事項を 1 つのコマンドで確認できます
  • タグと整理:ライブラリ全体でタグを作成、適用、管理できます。アセットへのタグの一括付与と一括解除にも対応しています
  • サーバーの機能を把握:1 回の呼び出しで Immich のバージョン、有効になっている機能(OCR、スマート検索、顔認識、地図)、そのメジャーバージョンで確認されている動作を報告するため、サーバーが対応していない機能を提示しません
  • 写真内のテキスト:OCR で写真内のテキスト(チケット、道路標識など)を検出できます。また、探索、都市、候補の各呼び出しでは、推測ではなく、フィルターで使う正確な表記が返されます
  • 日付情報を 1 回で取得:月ごとの集計、日数の空きや忙しい日がわかるカレンダーヒートマップ、Immich の「この日」の思い出を取得できます
  • 双方向の共有:パートナーライブラリ(Immich の家族共有)や、共有アルバムに寄せられたコメントや「いいね」に対応しています
  • オリジナルの書き出し:アルバムまたは選択した写真を 1 つの ZIP にまとめて手元のマシンに書き出せます。ダウンロード開始前にサイズが表示されます
  • セッション間のメモ:各アセットに判定結果と操作を保存できるため、次回の整理では、前回の確認ですでにレビュー済みのものがスキップされます
  • Docker で実行:マルチアーキテクチャ対応のイメージで、HTTP 経由で MCP をポート 8626 で提供します。2 つのプロトコル世代に対応し、ツールは同じ 94 個です
  • インタラクティブギャラリー:サムネイルを埋め込んだスタンドアロンの HTML ページを作成できます。3 種類のテーマ、4 種類の表示モード、一括操作用の Cowork Actions Panel を備えています

Cowork Actions を備えたインタラクティブギャラリー

ギャラリーで写真を選択してアクションをクリックし、そのコマンドを Claude に貼り付けます。全 13 種類のスキルについては、スキルのリファレンス を参照してください。


ツール

分野別の94個のツールです。それぞれのパラメーター、戻り値の形式、使用例については、MCP ツールリファレンスをご覧ください。

  • 検索: search_smart、search_metadata、search_explore、search_cities、search_places、search_suggestions、search_random、search_statistics、search_large_assets、list_assets
  • アルバム: list_albums、get_album、create_album、update_album、delete_album、add_assets_to_album、remove_assets_from_album
  • アセットとメタデータ: get_asset_info、update_asset_metadata、update_assets_metadata、rotate_assets、revert_asset_edits、get_map_markers、reverse_geocode、upload_asset
  • 画像とサムネイル: get_asset_image、get_album_images、get_images_batch、get_asset_thumbnail、get_album_thumbnails、get_thumbnails_batch
  • 動画と PDF: get_video_frames、get_video_frames_json、get_export_preview、export_pdf
  • 人物と顔: list_people、get_person、update_person、merge_people、search_people、get_person_thumbnail、get_asset_faces、reassign_face
  • 重複とスタック: get_duplicates、resolve_duplicates、create_stack、list_stacks、get_stack、update_stack、delete_stack
  • タグ: list_tags、get_tag、create_tag、update_tag、delete_tag、tag_assets、untag_assets
  • 日付: get_timeline_buckets、get_timeline_bucket、get_calendar_heatmap、list_memories、create_memory、update_memory、delete_memory
  • 共有: list_shared_links、create_shared_link、get_shared_link、update_shared_link、delete_shared_link、list_users、list_partners、create_partner、update_partner、remove_partner、list_activities、create_activity、delete_activity
  • ダウンロード: get_download_info、download_archive
  • ゴミ箱: delete_assets、empty_trash、restore_trash、restore_assets
  • アセットのメモ: review_assets、record_action、get_asset_notes、get_assets_notes、clear_asset_notes
  • サーバーと接続: ping、get_server_version、get_capabilities、get_statistics、get_connection_info、update_credentials

immich-photo-manager を選ぶ理由

Immich は写真の保存や閲覧に優れています。しかし、大規模なライブラリの管理(重複の排除、メタデータの修復、アルバムの整理、ストレージの分析)には、依然として手作業やカスタムスクリプトが必要です。

手作業/スクリプトimmich-photo-manager
🔍API 呼び出しを記述し、JSON を解析する自然言語:「イタリアで撮った夕焼けの写真を探して」
🗺️GPS データをエクスポートし、手動でクラスタリングする地理情報に基づくアルバム:GPS+CLIP+時間情報を自動照合
🧹ファイルのハッシュを計算し、チェックサムを比較する知覚ハッシュ:インポート元をまたいで、再エンコードされた重複を検出
🔧EXIF を1ファイルずつ編集するメタデータの修復:タイムスタンプの一括修正、GPS の推定、タイムゾーンの補正
📊データベースを検索し、レポートを作成するライブラリの健全性:メタデータの品質、ストレージ、推奨事項を1つのコマンドで確認
🔄写真を1枚ずつ回転する一括回転:アルバム全体を一度に、元データを損なわずに回転
🏷️UI でタグを管理できないタグ:アセットへのタグの作成、一括適用/削除
📅タイムラインをスクロールして空白を探すタイムラインマップ:月ごとの区分とカレンダーのヒートマップを1回の呼び出しで表示し、空白期間も含めて確認
🔤ファイル名を grep して見つかることを期待するOCR 検索:画像内のテキストを使って写真を検索
📦SSH で接続し、手作業でファイルを zip にまとめるダウンロードアーカイブ:アルバムのオリジナルを1つの zip にまとめ、事前にサイズを確認
🧠セッションのたびに同じ写真を再評価するアセットのメモ:判断内容がアセットに保存され、次回の確認ではスキップ
🛡️すべての操作を手動で確認する安全を最優先:検出結果を表示し、操作の前に確認を求める

テスト方法

  • プッシュごとのユニットテスト:Python 3.10 と 3.13 で 364 件の pytest ケースを実行します(HTTP はモックを使用)。ruff も実行します。このゲートが成功した場合にのみ、リリースにタグを付けます。
  • すべてのツールを対象としたライブテスト、2 つの Immich バージョンで実施:tests/live/ は Docker で実際の Immich 2.7.5 と 3.1.0 を起動し、小規模なライブラリにデータを追加して、MCP プロトコル経由ですべての 94 個のツールを実行します。書き込みのたびに状態を再読み込みします。リリース前に毎回実行します。直近の全テストは 2026-09-03 に実施し、両バージョンで 132/132 件のチェックに合格しました。
  • 利用状況:PyPI のダウンロード数、4 人の外部コントリビューターからのマージ済み PR、doc/demos/ のデモは、実際のセッションの記録です。

Claude と構築

これは Claude プラグインであり、Claude はコードの共同作業者でもあります。設計、API 互換性に関する判断、テスト対象の決定は作者が行い、実装とテストハーネスのかなりの部分は Claude Code を使って作成しました。どちらの場合も、すべての変更は同じゲートを通じてリリースされます。CI でのテストに加え、Immich の API に関わる変更については、上記のライブテストも実施します。

ドキュメント

ドキュメント説明
はじめにインストール、MCP の手動セットアップ、デプロイオプション、トラブルシューティング
環境のセットアップ詳細なセットアップ:git、Python、venv、HTTP/stdio の起動、Open WebUI、よくある問題
スキルリファレンス全 13 種類のスキル:ワークフロー、トリガー、パラメーター、出力形式
MCP ツールリファレンス全 94 個の MCP ツール:パラメーター、戻り値の型、使用例
アーキテクチャbase64 埋め込みサムネイルで Cowork のサンドボックス制限を解決する方法
MCP 2026-07-28デュアル世代対応:1 つのサーバーでのレガシーハンドシェイクとステートレス版、およびその検証方法
CORS セットアップガイド任意設定。ブラウザーで表示するギャラリーで、URL からサムネイルを直接読み込めるようにします

🦙 Glama スコア

Glama の immich-photo-manager


コントリビューション

バグ修正、新しいスキル、機能のアイデアなど、コントリビューションを歓迎します。Issue を作成するか、PR を送信してください。

immich-photo-manager がライブラリの管理に役立った場合は、GitHub でスターを付けることをご検討ください。他の人がこのプロジェクトを見つけやすくなります。


サポート

immich-photo-manager によって時間を節約できたり、写真ライブラリを管理しやすくなったりした場合は、コーヒーをおごっていただけるとうれしいです。次の開発を続ける励みになります!

コーヒーをおごる


ライセンス

MIT ライセンス:自由に使用、変更、配布できます。

Drolosoft が生み出しました · あったらいいと思うツール

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。