PIL — Personal Instagram Library: an installable Muse skill that turns your Instagram saved posts into a private, queryable knowledge base. Code is shared, data stays home.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
- !Install pipes a remote script into a shell (curl | sh)
claude mcp add pil -- python -m personal-instagram-library{
"mcpServers": {
"pil": {
"command": "python",
"args": ["-m", "personal-instagram-library"]
}
}
}Resumen de MCP Servers
<p align="center">
<img src="assets/logo.svg" width="160" alt="PIL logo">
</p>
### Your Instagram saved posts — deep-read by AI, searchable forever, on *your* machine.
[](LICENSE)
[](https://github.com/pjpoulose/PIL/pulls)
[](https://github.com/pjpoulose/PIL/stargazers)
[](references/mcp_clients.md)
[](references/mcp_clients.md)
[](references/mcp_clients.md)
**Get started · [How it works](#how-it-works) · [Other AI tools](#ask-your-library-from-other-ai-tools) · [What's inside](#whats-inside)**
mcp-name: io.github.pjpoulose/pil
---
> ### Get PIL in 3 steps
>
> **1.** Copy-paste this into 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.** When it asks, link your Instagram (one tap in your browser).
>
> **3.** Download the app file it sends you → unzip → double-click **Start PIL** → click **Install**.
>
> That's the whole thing. Your Muse does the setup, the reading, and the building.
> Want it on your phone too? Just ask your Muse — it handles that as well.
>
> <details>
> <summary>Prefer to do it yourself? One command sets everything up.</summary>
>
> - 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`
>
> Then build your library with the commands in [Manual setup](#manual-setup-do-it-yourself).
> </details>
---
Every day you save posts you'll never find again. **PIL (Personal Instagram Library)** turns your Instagram saved collection into a private knowledge base on your own machine: every post deep-read by vision AI — narrative summaries, key points, how-to steps, links it discusses, automatic tags — searchable in seconds and queryable live from your AI coding tools.
> **Code is shared, data stays home.** This repo contains only code, the database schema, config examples, and docs. Your saved posts, captions, and account details never leave your computer — ingestion, extraction, search, and the MCP server all run locally. A `.gitignore` blocks databases, configs, and exports from ever being committed.

*Concept mockup with sample data — your library looks like this, with your posts.*
###  Want your Claude, Codex, or Cursor to access this?
Connect the read-only MCP server and your other AI tools can query your library
live — always current, nothing to re-upload. Your Muse can wire it up for you.
[How to connect →](#ask-your-library-from-other-ai-tools)
##  How it works
```mermaid
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"]
```
##  Manual setup (do it yourself)
<details>
<summary>Expand — only needed if you're skipping the 3-step Muse flow at the top.</summary>
**Prerequisites:** `python3` (3.11+) and `instagram-cli` with your Instagram
account linked (run `instagram-cli accounts` — it must list your account).
The one-line installer at the top of this page handles all of this for you.
```bash
# 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"
```
**Build your library** (each step is resume-safe — re-run any time):
```bash
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/
```
**Ask it anything** — via the live MCP server *or* the static export:
```bash
python3 bin/mcp_server.py # read-only, stdio — Ctrl-C to stop
```
That's it. Re-run `ingest_saved.py` whenever you save new posts; `extract_content.py`
only processes posts it hasn't seen yet.
**The app:** ask your Muse to build and send it — see [Your library as an app](#your-library-as-an-app).
</details>
##  Why not just scroll your saved tab?
| | Instagram saved tab | PIL |
|---|---|---|
| Find a post from 2 years ago | Scroll endlessly | Full-text search in seconds |
| Remember what a post actually said | Rewatch / reread it | AI summary, key points, how-to |
| Links a post mentioned | Gone unless you saved them | Extracted and clickable |
| Use it inside your AI tools | Screenshots and retyping | MCP server or JSON export |
| Where your data lives | Meta's servers | Your machine, SQLite |
##  Ask your library from other AI tools
**Live (recommended): MCP.** Point any MCP-compatible assistant at the
read-only server and every question reads your current database — always
up to date, no exports, no re-uploads:
```bash
python3 /path/to/pil/bin/mcp_server.py # stdio; Ctrl-C to stop
```
Wiring for Claude Code, Claude Desktop, and Cursor:
[references/mcp_clients.md](references/mcp_clients.md). Any MCP-compatible
client works — and your Muse can connect it for you if you'd rather not touch
configs. Available tools:
| Tool | What it does |
|---|---|
| `search_posts` | Text search over captions + deep-read knowledge, with optional folder/tag filters |
| `get_post` | Full record for one post: summary, key points, how-to, links, folders, tags |
| `list_folders` | Your saved collections with indexed counts |
| `list_tags` | Tags by usage |
| `library_stats` | Totals + deep-read coverage per field |
The server opens the database with SQLite `mode=ro` and exposes SELECT-only
tools — it cannot modify your library. (Attack-tested: SQL injection, write
attempts, and limit abuse all verified blocked.)
**Snapshot: file upload.** Ask your Muse to send you the `web_data.json` file
(built with `export_web.py`): every post with its deep-read knowledge in one
file. Attach it to any AI chat (Claude, ChatGPT, …) and ask questions like any
document. It's frozen at export time — a snapshot, not a live connection — so
ask your Muse for a fresh copy after you save new posts.
**Directly (advanced).** The database is plain SQLite at `<data_dir>/pil.sqlite`
(schema in `schema.sql`). Open it read-only with any SQLite tool.
These files hold your personal Instagram data — keep them on your own machine
and only share them with tools you trust.
##  Your library as an app
Your Muse builds the app for you and sends it to you — for your computer and
your phone. Just ask:
- *"Send me my PIL app"* — download the file it sends you, unzip, double-click
**Start PIL**, click **Install**. It lives on your computer like any other
app and works fully offline.
- *"Put PIL on my phone"* — it handles the publishing and gives you a QR code
to scan. Tap **Install** (Android) or **Share → Add to Home Screen**
(iPhone).
No commands, no hosting setup, no terminal — your Muse takes care of all of it.
##  What's inside
```
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
│ └──Lo que la gente pregunta sobre PIL
¿Qué es pjpoulose/PIL?
+
pjpoulose/PIL es mcp servers para el ecosistema de Claude AI. PIL — Personal Instagram Library: an installable Muse skill that turns your Instagram saved posts into a private, queryable knowledge base. Code is shared, data stays home. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-09-14.
¿Cómo se instala PIL?
+
Puedes instalar PIL clonando el repositorio (https://github.com/pjpoulose/PIL) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar pjpoulose/PIL?
+
Nuestro agente de seguridad ha analizado pjpoulose/PIL y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene pjpoulose/PIL?
+
pjpoulose/PIL es mantenido por pjpoulose. La última actividad registrada en GitHub es del 2026-09-14, con 0 issues abiertos.
¿Hay alternativas a PIL?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega PIL en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/pjpoulose-pil)<a href="https://claudewave.com/repo/pjpoulose-pil"><img src="https://claudewave.com/api/badge/pjpoulose-pil" alt="Featured on ClaudeWave: pjpoulose/PIL" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
The fastest path to AI-powered full stack observability, even for lean teams.