Skip to main content
Glama

Exo

Una capa de contexto personal para sistemas de vida agénticos.

Exo —abreviatura de exocórtex, la parte de tu pensamiento que vive fuera de tu cabeza— es un registro de una vida, en una forma que te pertenece. Todo lo que consumes, todo lo que escribes y todo lo que una máquina concluyó de ambos, en un solo lugar con una única superficie SQL sobre ello.

Una copia filtrada de ese registro se publica en un servidor MCP de solo lectura, para que cualquier asistente que tengas delante pueda usarlo como contexto, sin que el proveedor de ese asistente llegue a ser dueño del registro.

loaders ─────────▶   the record   ─────────▶   the surface
what reaches it    what it holds          what it exposes
(one per source,   (tier zones, one       (a fixed set of named
 each writes one    SQL surface, one        questions, read-only
 zone)              wall)                   by construction)

Por qué

Deberías ser dueño de tu contexto personal, de tu conocimiento operativo y de tu memoria en la medida de lo posible. Eso es lo que los hace portables, y es lo único que hace posible la privacidad granular en absoluto.

  • Eres dueño de la rutina sin ser dueño del planificador. Autoalojar todo es admirable y no está exento de dolor; a veces la infraestructura de otro es la respuesta correcta. Lo que no debería moverse es el registro.

  • Sin bloqueo de plataforma, sin bloqueo de modelo. El registro es parquet y markdown en tu disco. La superficie es MCP, que todos los asistentes hablan.

  • Te encuentra donde trabajas. Un almacén centralizado accesible a través de MCP significa que el mismo contexto llega a tu agente de terminal, a tu editor y a tu teléfono.

Esto existe porque la alternativa es una docena de silos que cada uno conoce una décima parte de ti y ninguno de los cuales te la devolverá.

Related MCP server: mcp-multi-db

Lo que realmente hace

Los cargadores extraen tus datos de los silos en los que están atrapados: Last.fm, Letterboxd, Goodreads, Untappd, Trakt, Raindrop, tus exportaciones de Claude y ChatGPT, tus notas en markdown, tus escritos publicados, tus repositorios git. Cada cargador escribe exactamente una zona y nada más.

El registro los mantiene separados por quién puede escribir, no por lo que son los datos:

nivel

qué es

escrito por

T0 consumo

lo que el mundo registró sobre ti — scrobbles, valoraciones, guardados

solo cargadores

T1 autoría

tus palabras: notas, publicaciones, veredictos, recetas, tareas

tú, a mano

T2 derivado

lo que una máquina concluyó: átomos, vectores, afinidades

solo derivación

La derivación lee T0 y T1 y físicamente no puede ver T2 — el perfil a través del cual lee no tiene ninguna vista de T2. Así que T2 siempre se regenera a partir de la verdad fundamental, y exo verify lo demuestra derivando dos veces y comparando resúmenes. La salida de la máquina nunca se convierte en entrada de la máquina.

La superficie publica una copia físicamente separada que contiene solo las filas que declaraste publicables. El material retenido está ausente de los archivos publicados, no se filtra en el momento de la lectura, por lo que ningún error posterior ni ninguna instrucción inyectada puede alcanzarlo. La política es de cierre por defecto: una zona no declarada hace fallar la compilación en lugar de tomar un valor predeterminado en cualquier sentido.

El motor y tu instancia

Este repositorio es el motor. No contiene datos y nunca los contendrá.

Tus datos, tu configuración y tus propios cargadores viven en una instancia — un directorio separado y privado (normalmente su propio repositorio privado) que el motor encuentra a través de $EXO_HOME:

your-instance/
  exo.toml              who you are, where your inputs live
  serve-manifest.json    what may leave this machine
  raw/                   your exports and mirrors
  zones/                 the record itself
  plugins/               loaders only you could have
  items/                 your tasks, habits, slots
  procedures/            how you do a recurring thing, by hand

Un cargador se incluye en el motor si su entrada es un formato — una exportación de Last.fm, una carpeta de markdown, un directorio de repositorios git. Cualquiera puede tener uno de esos. Un cargador pertenece a tu instancia si su entrada es un lugar: los calendarios de locales de tu ciudad, tus repositorios hermanos, tu blog. La prueba no es lo específico que sea el código; es si un extraño podría tener esa entrada en absoluto.

Inicio

uv sync
uv run exo init ~/my-exo        # scaffold an instance
export EXO_HOME=~/my-exo
# drop your exports into $EXO_HOME/raw/exports/, then:
uv run exo rebuild              # ingest -> index -> derive -> catalog
uv run exo query "SELECT artist, count(*) FROM t0_music GROUP BY 1 ORDER BY 2 DESC LIMIT 10"
uv run exo publish --dry-run    # what would leave, and what is held back

Las plantillas que copia exo init están en exo/templates/ — léelas antes de editar las copias.

Accede desde tu teléfono

El objetivo de la superficie de lectura es que el registro responda cuando no estás cerca de la máquina que lo contiene. worker/ es un Cloudflare Worker que habla MCP sobre HTTP — solo lectura permanentemente, sirviendo únicamente el paquete de publicación — y worker/README.md explica cómo ponerlo en marcha y conectarlo a Poke, el asistente de iMessage:

cd worker
cp wrangler.example.toml wrangler.toml       # your database id, your buckets, your name
npx wrangler d1 create exo                   # + r2 bucket create exo-vectors
npx wrangler deploy
npx wrangler secret put AUTH_TOKEN           # openssl rand -hex 32

luego publica un paquete en él (exo publish --cf, y después import.sh), y añade la URL del Worker y ese token en poke.com/integrations/new. Cualquier cliente MCP funciona de la misma manera — Poke es solo el que te llega por mensaje de texto.

Luego lee CONTEXT.md — es el vocabulario, y el resto del repositorio lo da por sentado.

Límites honestos

  • El costo de inicio es real. Esta es una herramienta para alguien que ya toma notas, ya exporta sus datos y ya quería esto. No te iniciará el hábito.

  • Los cargadores se rompen. Leen formatos de exportación de otros y extraen páginas de otros. Cada uno conserva su último archivo bueno en lugar de sobrescribirlo con un fallo, pero un cargador deteriorado es cuestión de cuándo.

  • Es un segundo cerebro por debajo. Una wiki personal, cargadores para datos de consumo y archivos, algo de destilación encima. La parte novedosa no es ninguna de esas; es que comparten un solo registro con un único límite de publicación.

  • El cargador de exportación de chat es una navaja suiza. Normaliza las exportaciones de Claude y ChatGPT en una sola forma, lo cual es útil quieras o no el resto de esto.

Las decisiones

Cada elección no obvia tiene un ADR en docs/adr. Las que soportan carga:

0001

un catálogo DuckDB sobre archivos nativos por nivel, y el muro

0005

dividir el ETL: el portátil ingiere, la nube reconstruye

0006

la superficie de lectura remota es permanentemente de solo lectura

0007

limitar el radio de explosión de una lectura inyectada

0014

el código es público, la instancia es privada

0016

un procedimiento es un recurso, no una herramienta

Contribuir

Lee CONTRIBUTING.md primero — en particular la parte sobre nunca poner datos personales en este repositorio, incluidos los tuyos, y la lista de cambios de apariencia pequeña que re-acuñan cada id en una instancia en ejecución.

MIT.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Model Context Protocol (MCP) server that gives AI assistants a safe, correct data-analyst capability over business metrics - without raw SQL improvisation.
  • A
    license
    A
    quality
    A
    maintenance
    Read-only MCP server for querying PostgreSQL, MySQL, and SQLite from AI agents — multi-database, safe by default.
    4
    18
    1
    ISC
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server providing read-only access to SQL Server databases for AI assistants, enabling schema exploration, query execution, and foreign key inference with token-efficient TOON responses.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A read-only MCP server that exposes SQL database access to LLMs, supporting multiple database types, compact columnar results, pagination, and file export.
    6
    22
    MIT

View all related MCP servers

Related MCP Connectors

  • The personal context layer for AI: your profile and files, read by any MCP client over OAuth.

  • Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.

  • Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/reeswrites/exo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server