PIL について
PILはInstagramの保存投稿を、AIが要約や要点、手順、リンク、タグを付けたローカル検索ライブラリにします。保存した投稿をプライベートに探し、AIツールから質問したい人向けです。
主な機能
- 01ローカルSQLiteライブラリ
- 02AIによる要約と要点整理
- 03キャプションと抽出リンクの検索
- 04読み取り専用MCPサーバー
- 05静的JSONとオフラインアプリへの出力
活用シーン
- 01テーマから過去の保存投稿を検索
- 02AIツールから保存投稿について質問
- 03抽出された手順やリンクを確認
- 04オフラインでライブラリを閲覧
MCP 対応
PILは読み取り専用のMCPサーバーを提供し、対応するAIクライアントからローカルライブラリを検索・参照できます。フォルダー、タグ、ライブラリ統計も利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Instagram の保存済み投稿を AI が深く読み込み、いつまでも検索可能に。すべて あなたの マシン上で。
はじめる · 仕組み · ほかの AI ツール · 内容
mcp-name: io.github.pjpoulose/pil
3 ステップで PIL を入手
1. これを Muse にコピーして貼り付けます:
Clone https://github.com/pjpoulose/PIL into your workspace and follow its SKILL.md to set up my Personal Instagram Library. Work through it step by step — install, build the library from my saved posts, and hand me the installable app.2. 指示されたら、Instagram を連携します(ブラウザーでワンタップ)。
3. 送られてきたアプリファイルをダウンロード → 解凍 → Start PIL をダブルクリック → Install をクリックします。
これだけです。セットアップ、読み込み、ビルドは Muse が行います。 スマートフォンでも使いたい場合は、Muse に頼むだけです。そちらも対応します。
自分でセットアップしたい場合は? 1 つのコマンドですべてセットアップできます。
- Mac / Linux:
curl -fsSL https://raw.githubusercontent.com/pjpoulose/PIL/master/bootstrap.sh | bash- Windows(PowerShell):
irm https://raw.githubusercontent.com/pjpoulose/PIL/master/bootstrap.ps1 | iex次に、手動セットアップのコマンドでライブラリをビルドします。
毎日、二度と見つけられない投稿を保存しています。**PIL(Personal Instagram Library)**は、Instagram の保存済み投稿コレクションを、自分のマシン上にあるプライベートなナレッジベースに変えます。すべての投稿をビジョン AI が深く読み込み、物語形式の要約、要点、手順、投稿内で言及されているリンク、自動タグを作成。数秒で検索でき、AI コーディングツールからリアルタイムに質問できます。
**コードは共有されても、データは手元に残ります。**このリポジトリに含まれるのはコード、データベーススキーマ、設定例、ドキュメントのみです。保存した投稿、キャプション、アカウント情報がコンピューターの外に出ることはありません。取り込み、抽出、検索、MCP サーバーはすべてローカルで実行されます。
.gitignoreにより、データベース、設定、エクスポートが誤ってコミットされるのを防ぎます。

サンプルデータを使ったコンセプトモックアップです。あなたの投稿を使うと、ライブラリはこのようになります。

Claude、Codex、Cursor からアクセスできるようにしませんか?
読み取り専用の MCP サーバーを接続すれば、ほかの AI ツールからライブラリにリアルタイムで質問できます。常に最新の状態で、再アップロードも不要です。Muse に設定を任せることもできます。 接続方法 →

仕組み
flowchart LR
A["Instagram saved posts"] -->|"ingest"| B["Local SQLite on your machine"]
B -->|"vision AI<br/>deep read"| C["Summaries, key points, how-tos, links, tags"]
C --> D["Query two ways"]
D --> E["MCP server — Cursor, Claude Code, Desktop"]
D --> F["Static JSON export — any AI tool"]

手動セットアップ(自分で行う)
展開 — 冒頭の3ステップのMuseフローを省略する場合のみ必要です。
前提条件: python3(3.11以降)と、Instagramアカウントをリンク済みのinstagram-cliが必要です(instagram-cli accountsを実行し、アカウントが表示されることを確認してください)。
このページ冒頭のワンライナーインストーラーを使えば、これらすべてを自動で設定できます。
# 1a. Install from PyPI (recommended — no clone needed)
pip install personal-instagram-library
# gives you: pil-mcp pil-ingest pil-extract pil-tag
# pil-export-web pil-export-html pil-export-pwa pil-publish-pwa
# 1b. Or get the code
git clone https://github.com/pjpoulose/PIL.git pil && cd pil
# 2. Configure (your data lives in data_dir, default ~/.local/share/pil)
cp pil.config.example.json ~/.config/pil/pil.config.json
# edit it: set account_id to your user_fbid from `instagram-cli accounts`
# 3. MCP server dependency
pip install "mcp<2"
ライブラリを構築する(各ステップは途中から再開できます。いつでも再実行できます):
cd bin
python3 ingest_saved.py # collections + saved posts
python3 extract_content.py # vision-AI deep read (batches of 25)
python3 tag_all.py # programmatic tags for untagged posts
python3 export_web.py # static JSON export -> <data_dir>/web_data.json
python3 export_html.py # searchable HTML dashboard -> <data_dir>/pil_library.html
python3 export_pwa.py # installable PWA bundle -> <data_dir>/pwa/
何でも質問する — ライブMCPサーバー、または静的エクスポートを通じて:
python3 bin/mcp_server.py # read-only, stdio — Ctrl-C to stop
これだけです。新しい投稿を保存するたびにingest_saved.pyを再実行してください。extract_content.pyは、まだ処理されていない投稿のみを処理します。
アプリ: Museにアプリの構築と送信を依頼してください。ライブラリをアプリとして使うをご覧ください。

保存済みタブをスクロールするだけではだめなのですか?
| Instagramの保存済みタブ | PIL | |
|---|---|---|
| 2年前の投稿を見つける | 延々とスクロール | 数秒で全文検索 |
| 投稿に何が書かれていたか思い出す | もう一度視聴/読み直す | AIによる要約、要点、手順 |
| 投稿で紹介されたリンク | 保存していないと見つからない | 抽出され、クリック可能 |
| AIツール内で使う | スクリーンショットを撮って再入力 | MCPサーバーまたはJSONエクスポート |
| データの保存場所 | Metaのサーバー | お使いのマシン、SQLite |

他のAIツールからライブラリに質問する
ライブ(推奨):MCP。 MCP対応のアシスタントを読み取り専用サーバーに接続すると、質問のたびに現在のデータベースが参照されます。常に最新の状態で、エクスポートも再アップロードも不要です。
python3 /path/to/pil/bin/mcp_server.py # stdio; Ctrl-C to stop
Claude Code、Claude Desktop、Cursorとの接続方法: references/mcp_clients.md。MCP対応のクライアントならどれでも使えます。設定を自分で触りたくない場合は、Museに接続を依頼することもできます。利用可能なツール:
| ツール | 機能 |
|---|---|
search_posts | キャプションと詳細読解で得たナレッジを対象としたテキスト検索。フォルダー/タグによる絞り込みも可能 |
get_post | 1件の投稿の全記録:要約、要点、手順、リンク、フォルダー、タグ |
list_folders | 保存済みコレクションとインデックス済み件数 |
list_tags | 使用頻度順のタグ |
library_stats | 合計件数とフィールドごとの詳細読解の網羅状況 |
サーバーはSQLiteのmode=roでデータベースを開き、SELECT専用のツールを公開します。ライブラリを変更することはできません。(攻撃テスト済み:SQLインジェクション、書き込みの試み、上限値の不正利用がすべてブロックされることを確認済みです。)
スナップショット:ファイルをアップロード。 Museにweb_data.jsonファイル(export_web.pyで作成)を送るよう依頼してください。すべての投稿と、詳細読解で得たナレッジが1つのファイルにまとまっています。AIチャット(Claude、ChatGPTなど)に添付すれば、通常の文書と同じように質問できます。エクスポート時点で固定されたスナップショットであり、ライブ接続ではありません。新しい投稿を保存した後は、Museに新しいファイルを依頼してください。
直接操作(上級者向け)。 データベースは<data_dir>/pil.sqliteにある通常のSQLiteファイルです(スキーマはschema.sql)。任意のSQLiteツールで読み取り専用として開いてください。
これらのファイルには個人のInstagramデータが含まれています。お使いのマシン上に保管し、信頼できるツールとのみ共有してください。

ライブラリをアプリとして使う
Museがパソコンとスマートフォン向けのアプリを構築し、送信します。次のように依頼するだけです。
- 「PILアプリを送って」 — 送られてきたファイルをダウンロードして解凍し、Start PILをダブルクリックして、Installをクリックします。他のアプリと同じようにパソコン上で使え、完全にオフラインで動作します。
- 「スマートフォンにPILを入れて」 — 公開を代行し、スキャン用のQRコードを表示します。Install(Android)または共有 → ホーム画面に追加(iPhone)をタップしてください。
コマンドも、ホスティングの設定も、ターミナルも不要です。すべてMuseが行います。
Signal Deck — ビジュアルダッシュボード(v1.2.0)
クエリするより、内容を見て回りたいですか? Signal Deck(dashboard/)は、ローカルの PIL データベースから、自己完結型の HTML ダッシュボードを作成します。保存したすべての内容を表示するトピックリングのヒーロー、検索 → 要約(The Brief)、ソースレール、固定インデックス、そしてアーカイブ全体のグリッドを備えています。ファイルは1つだけで、オフラインで動作し、データが端末の外に出ることはありません。
cd dashboard
PIL_DB=~/.local/share/pil/pil.sqlite python3 build-signal.py
# open pil-signal-deck.html in Chrome/Safari
詳細、PWA に関する注意事項、QA スイートについては dashboard/README.md をご覧ください。

内容
pil/
├── assets/logo.svg # the seal above
├── SKILL.md # skill definition (for Muse)
├── README.md # this file
├── LICENSE # MIT
├── schema.sql # the five tables: folders, posts, post_folders, knowledge, tags
├── pil.config.example.json # copy to pil.config.json and set your account_id
├── bootstrap.sh # one-line installer for Mac/Linux
├── bootstrap.ps1 # one-line installer for Windows
├── bin/
│ ├── pil_common.py # config resolution + DB helpers
│ ├── ingest_saved.py # step 1: ingest (resume-safe)
│ ├── extract_content.py # step 2: vision-AI extraction (resume-safe)
│ ├── tag_all.py # step 3: tagging
│ ├── export_web.py # step 4: static export
│ ├── export_html.py # step 5: self-contained HTML dashboard
│ ├── export_pwa.py # step 6: installable PWA bundle (manifest + SW + icons)
│ ├── publish_pwa.py # step 7: publish PWA to your own host for phone install
│ └── mcp_server.py # read-only MCP server (stdio)
└── references/
└── mcp_clients.md # Cursor / Claude Code / Claude Desktop wiring

FAQ
コーディングの知識は必要ですか? いいえ。このページの先頭にあるプロンプトをコピーして Muse に貼り付けるだけで、すべて一緒に進めてくれます。ご自身で行うのは、Instagram を連携すること(ブラウザーでワンタップ)と、送られてくるアプリファイルをダウンロードすることだけです。
Instagram のデータはどこに送られますか? どこにも送られません。コードは共有されても、データは手元に残ります。 保存した投稿、キャプション、アカウント情報が端末の外に出ることはありません。こちらにアップロードされるものは一切ありません。そもそも「こちら」という場所もありません。サーバーも、アカウントも、クラウドもありません。
費用はかかりますか? PIL は無料のオープンソース(MIT)です。サブスクリプションも、作成が必要なアカウントもありません。AI による詳細な読み取りは、ご自身の Instagram/AI 環境を通じて実行されます。
アプリはオフラインで動作しますか? はい。インストール後は、デスクトップアプリとスマートフォンアプリが完全にオフラインで動作します。検索、ルーム、タグ、回答はすべて、インターネットに接続しなくても利用できます。
どのスマートフォンやコンピューターに対応していますか? デスクトップアプリは Windows、Mac、Linux、スマートフォンアプリは iPhone と Android に対応しています。Android では Chrome で Install app をタップしてください。iPhone では Safari の 共有 → ホーム画面に追加 を使用してください。
新しい投稿を保存しました。どうすれば追加できますか? Muse に「新しい投稿を保存しました」と伝えるだけです。新しい投稿だけを取得して詳細に読み取り、その後アプリとファイルを更新します。
ライブラリを誰かと共有できますか? ライブラリは端末上のファイルです。他の人のコンピューターにコピーすることはできますが、そのファイルには個人の Instagram データが含まれています。個人情報と同じように扱い、公開したり、公開されている場所にアップロードしたりしないでください。
問題が起きました。どうすればよいですか?
何が起きたかを Muse に伝えてください。原因を特定し、その場で修正できます。(以下の手動セットアップを実行している場合は、インストーラーを再実行してください。何度実行しても安全です。また、python3 --version が 3.11 以上であることを確認してください。)

トラブルシューティング
問題が発生しましたか?何が起きたかを Muse に伝えてください。ほとんどの問題は、自分で原因を特定して修正できます。
手動でセットアップしていますか?
PIL account_id is not configured→ 設定例をコピーし、instagram-cli accountsで確認できるuser_fbidをaccount_idに設定してください。- 膨大なライブラリでは抽出に時間がかかりますが、中断後に再開できます。再実行してください。
429のレート制限には、スクリプト内のバックオフ処理で対処します。- MCP サーバーを実行する Python には
mcp<2が必要です(2.x では API 名が変更されています)。

コントリビューション
PR と Issue を歓迎します。抽出プロンプトの改善、新しいクエリクライアント、新しいエクスポート形式などにご協力ください。フォークして、リリースして、自分らしく活用してください。延々とスクロールする手間が省けたなら、スターを付けると、ほかの人にも見つけてもらいやすくなります。

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