PIL
oficialConvierte tus publicaciones guardadas de Instagram en una biblioteca personal de conocimiento buscable: SQLite local, servidor MCP de solo lectura.
¿Qué puedes hacer con PIL MCP?
- Buscar tus publicaciones guardadas — Usa
search_postspara encontrar publicaciones de Instagram guardadas por texto, con filtros opcionales de carpeta o etiqueta. - Recuperar detalles completos de la publicación — Obtén un registro completo de cualquier publicación guardada mediante
get_post, incluyendo resumen, puntos clave, pasos de instrucciones y enlaces. - Explorar tus colecciones — Lista todas las colecciones de Instagram guardadas con
list_folderspara ver los recuentos indexados de cada carpeta. - Explorar tus etiquetas — Usa
list_tagspara ver qué etiquetas has utilizado y con qué frecuencia en tu biblioteca. - Verificar la cobertura de la biblioteca — Obtén totales y estadísticas de cobertura de lectura profunda con
library_statspara ver cuánto de tu contenido guardado ha sido procesado.
Documentación
Tus publicaciones guardadas de Instagram — leídas en profundidad por IA, buscables para siempre, en tu máquina.
Empieza · Cómo funciona · Otras herramientas de IA · Qué hay dentro
mcp-name: io.github.pjpoulose/pil
Consigue PIL en 3 pasos
1. Copia y pega esto en Muse:
Clona https://github.com/pjpoulose/PIL en tu espacio de trabajo y sigue su SKILL.md para configurar mi Biblioteca Personal de Instagram. Trabaja paso a paso — instala, construye la biblioteca desde mis publicaciones guardadas y entrégame la aplicación instalable.2. Cuando lo pida, vincula tu Instagram (un toque en tu navegador).
3. Descarga el archivo de la aplicación que te envía → descomprime → haz doble clic en Iniciar PIL → haz clic en Instalar.
Eso es todo. Tu Muse hace la configuración, la lectura y la construcción. ¿Lo quieres también en tu teléfono? Solo pídeselo a tu Muse — también se encarga de eso.
¿Prefieres hacerlo tú mismo? Un solo comando configura todo.
- 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 | iexLuego construye tu biblioteca con los comandos en Configuración manual.
Todos los días guardas publicaciones que nunca volverás a encontrar. PIL (Biblioteca Personal de Instagram) convierte tu colección guardada de Instagram en una base de conocimiento privada en tu propia máquina: cada publicación leída en profundidad por IA de visión — resúmenes narrativos, puntos clave, pasos de cómo hacerlo, enlaces que menciona, etiquetas automáticas — buscable en segundos y consultable en vivo desde tus herramientas de codificación con IA.
El código se comparte, los datos se quedan en casa. Este repositorio contiene solo código, el esquema de la base de datos, ejemplos de configuración y documentación. Tus publicaciones guardadas, pies de foto y detalles de cuenta nunca salen de tu computadora — la ingesta, extracción, búsqueda y el servidor MCP se ejecutan localmente. Un
.gitignorebloquea que las bases de datos, configuraciones y exportaciones se suban jamás.

Maqueta conceptual con datos de muestra — tu biblioteca se ve así, con tus publicaciones.

¿Quieres que tu Claude, Codex o Cursor accedan a esto?
Conecta el servidor MCP de solo lectura y tus otras herramientas de IA pueden consultar tu biblioteca en vivo — siempre actualizada, sin necesidad de volver a subir nada. Tu Muse puede configurarlo por ti. Cómo conectar →

Cómo funciona
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"]

Configuración manual (hazlo tú mismo)
Desplegar — solo necesario si te saltas el flujo de 3 pasos con Muse de arriba.
Requisitos previos: python3 (3.11+) y instagram-cli con tu cuenta de Instagram
vinculada (ejecuta instagram-cli accounts — debe listar tu cuenta).
El instalador de una línea en la parte superior de esta página maneja todo esto por ti.
# 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"
Construye tu biblioteca (cada paso es seguro de reanudar — vuelve a ejecutarlo cuando quieras):
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/
Pregúntale cualquier cosa — a través del servidor MCP en vivo o de la exportación estática:
python3 bin/mcp_server.py # read-only, stdio — Ctrl-C to stop
Eso es todo. Vuelve a ejecutar ingest_saved.py cada vez que guardes nuevas publicaciones; extract_content.py
solo procesa publicaciones que aún no ha visto.
La aplicación: pídele a tu Muse que la construya y te la envíe — consulta Tu biblioteca como aplicación.

¿Por qué no simplemente desplazarte por tu pestaña de guardados?
| Pestaña de guardados de Instagram | PIL | |
|---|---|---|
| Encontrar una publicación de hace 2 años | Desplazarte sin fin | Búsqueda de texto completo en segundos |
| Recordar qué decía realmente una publicación | Volver a verla / releerla | Resumen de IA, puntos clave, cómo hacerlo |
| Enlaces que mencionaba una publicación | Perdidos a menos que los guardaras | Extraídos y clicables |
| Usarla dentro de tus herramientas de IA | Capturas de pantalla y reescritura | Servidor MCP o exportación JSON |
| Dónde viven tus datos | Los servidores de Meta | Tu máquina, SQLite |

Consulta tu biblioteca desde otras herramientas de IA
En vivo (recomendado): MCP. Apunta cualquier asistente compatible con MCP al servidor de solo lectura y cada pregunta lee tu base de datos actual — siempre actualizada, sin exportaciones, sin re-subidas:
python3 /path/to/pil/bin/mcp_server.py # stdio; Ctrl-C to stop
Configuración para Claude Code, Claude Desktop y Cursor: references/mcp_clients.md. Cualquier cliente compatible con MCP funciona — y tu Muse puede conectarlo por ti si prefieres no tocar configuraciones. Herramientas disponibles:
| Herramienta | Qué hace |
|---|---|
search_posts | Búsqueda de texto sobre pies de foto + conocimiento de lectura profunda, con filtros opcionales de carpeta/etiqueta |
get_post | Registro completo de una publicación: resumen, puntos clave, cómo hacerlo, enlaces, carpetas, etiquetas |
list_folders | Tus colecciones guardadas con recuentos indexados |
list_tags | Etiquetas por uso |
library_stats | Totales + cobertura de lectura profunda por campo |
El servidor abre la base de datos con SQLite mode=ro y expone herramientas
solo de SELECT — no puede modificar tu biblioteca. (Probado contra ataques: inyección SQL,
intentos de escritura y abuso de límites, todo verificado como bloqueado.)
Instantánea: carga de archivo. Pídele a tu Muse que te envíe el archivo web_data.json
(construido con export_web.py): cada publicación con su conocimiento de lectura profunda en un
solo archivo. Adjúntalo a cualquier chat de IA (Claude, ChatGPT, …) y haz preguntas como con cualquier
documento. Está congelado en el momento de la exportación — una instantánea, no una conexión en vivo — así que
pídele a tu Muse una copia nueva después de guardar nuevas publicaciones.
Directamente (avanzado). La base de datos es SQLite simple en <data_dir>/pil.sqlite
(esquema en schema.sql). Ábrela en modo solo lectura con cualquier herramienta SQLite.
Estos archivos contienen tus datos personales de Instagram — mantenlos en tu propia máquina y compártelos solo con herramientas en las que confíes.

Tu biblioteca como aplicación
Tu Muse construye la aplicación por ti y te la envía — para tu computadora y tu teléfono. Solo pídelo:
- "Envíame mi aplicación PIL" — descarga el archivo que te envía, descomprime, haz doble clic en Iniciar PIL, haz clic en Instalar. Vive en tu computadora como cualquier otra aplicación y funciona completamente sin conexión.
- "Pon PIL en mi teléfono" — se encarga de la publicación y te da un código QR para escanear. Toca Instalar (Android) o Compartir → Agregar a pantalla de inicio (iPhone).
Sin comandos, sin configuración de hosting, sin terminal — tu Muse se encarga de todo.

Qué hay dentro
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

Preguntas frecuentes
¿Necesito saber programar? No. Copia y pega el mensaje en la parte superior de esta página en Muse — hace todo contigo. Las únicas cosas que harás tú mismo son vincular Instagram (un toque en tu navegador) y descargar el archivo de la aplicación que te envía.
¿A dónde van mis datos de Instagram? A ningún lado. El código se comparte, los datos se quedan en casa: tus publicaciones guardadas, pies de foto y detalles de cuenta nunca salen de tu computadora. Nada se sube a nosotros — no hay "nosotros"; no hay servidor, ni cuenta, ni nube.
¿Cuesta algo? PIL es gratuito y de código abierto (MIT). No hay suscripción ni cuenta que crear. El paso de lectura profunda con IA se ejecuta a través de tu propia configuración de Instagram/IA.
¿La aplicación funciona sin conexión? Sí. Una vez instalada, las aplicaciones de escritorio y teléfono funcionan completamente sin conexión — búsqueda, salas, etiquetas y respuestas funcionan sin internet.
¿Qué teléfonos y computadoras? Windows, Mac y Linux para la aplicación de escritorio; iPhone y Android para la aplicación de teléfono. En Android, toca Instalar aplicación en Chrome; en iPhone, usa el Compartir → Agregar a pantalla de inicio de Safari.
Guardé nuevas publicaciones — ¿cómo las agrego? Solo dile a tu Muse "guardé nuevas publicaciones". Obtiene y lee en profundidad solo las nuevas, y luego actualiza tu aplicación y archivos.
¿Puedo compartir mi biblioteca con alguien? Tu biblioteca son archivos en tu máquina — puedes copiarlos a la computadora de otra persona, pero contienen tus datos personales de Instagram. Trátalos como cualquier cosa privada: no los publiques ni los subas a ningún lugar público.
Algo falló — ¿qué hago ahora?
Dile a tu Muse lo que viste — puede diagnosticar y arreglarlo directamente. (¿Ejecutando
la configuración manual de abajo? Vuelve a ejecutar el instalador — es seguro ejecutarlo cualquier
cantidad de veces — y verifica que python3 --version sea 3.11+.)

Solución de problemas
¿Algo anda mal? Dile a tu Muse lo que pasó — puede diagnosticar y arreglar la mayoría de los problemas por sí mismo.
¿Ejecutando la configuración manual tú mismo?
PIL account_id is not configured→ copia la configuración de ejemplo y estableceaccount_ida tuuser_fbiddesdeinstagram-cli accounts.- La extracción es lenta en bibliotecas enormes — es seguro de reanudar; solo vuelve a ejecutarla.
- Los límites de velocidad de
429se manejan con retroceso dentro de los scripts. - El servidor MCP necesita
mcp<2en el Python que lo ejecuta (la 2.x renombró la API).

Contribuciones
PRs y problemas son bienvenidos — mejores mensajes de extracción, nuevos clientes de consulta, nuevos formatos de exportación. Haz un fork, envíalo, hazlo tuyo. Si te salvó del desplazamiento sin fin, una estrella ayuda a que otros lo encuentren.

Licencia
MIT. Construido por Paul Poulose.