Skip to main content
Glama

Exo

에이전트형 생활 시스템을 위한 개인 컨텍스트 계층.

Exo — exocortex의 줄임말로, 당신의 머릿속 밖에 존재하는 사고의 일부를 뜻합니다 — 는 당신이 소유하는 형태로 기록된 하나의 삶입니다. 당신이 소비하는 모든 것, 당신이 쓰는 모든 것, 그리고 기계가 그 둘로부터 도출한 모든 것이 하나의 SQL 표면 위에서 한곳에 모입니다.

그 기록의 필터링된 사본은 읽기 전용 MCP 서버로 게시되어, 앞에 있는 어떤 어시스턴트든 컨텍스트로 사용할 수 있습니다 — 그 어시스턴트의 공급업체가 그 기록을 소유하게 되지 않으면서 말입니다.

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)

당신은 가능한 한 당신의 개인 컨텍스트, 운영 지식, 그리고 기억을 소유해야 합니다. 그것이 그것들을 이식 가능하게 만드는 것이며, 세밀한 프라이버시를 가능하게 하는 유일한 방법입니다.

  • 스케줄러를 소유하지 않고 루틴을 소유합니다. 모든 것을 자체 호스팅하는 것은 훌륭하지만 고통이 없지는 않습니다. 때로는 다른 사람의 인프라가 정답입니다. 움직이지 말아야 할 것은 기록입니다.

  • 플랫폼 종속도, 모델 종속도 없습니다. 기록은 당신의 디스크에 있는 parquet와 markdown입니다. 표면은 모든 어시스턴트가 말하는 MCP입니다.

  • 당신이 일하는 곳에서 만납니다. MCP를 통해 접근 가능한 중앙 저장소는 동일한 컨텍스트가 터미널 에이전트, 에디터, 그리고 휴대폰에 도달하게 합니다.

이것이 존재하는 이유는 대안이 당신의 10분의 1만을 각각 아는 수십 개의 사일로이고, 그중 어느 것도 그것을 돌려주지 않기 때문입니다.

Related MCP server: mcp-multi-db

실제로 하는 일

로더(Loader) 는 갇혀 있는 사일로에서 데이터를 꺼냅니다: Last.fm, Letterboxd, Goodreads, Untappd, Trakt, Raindrop, 당신의 Claude와 ChatGPT 내보내기, 당신의 markdown 노트, 당신의 게시된 글, 당신의 git 저장소. 각 로더는 정확히 하나의 영역(zone)만 쓰고 그 외에는 아무것도 쓰지 않습니다.

기록은 데이터가 무엇인지가 아니라 누가 쓸 수 있는지에 따라 그것들을 분리합니다:

계층

그것이 무엇인가

작성 주체

T0 소비

세상이 당신에 대해 기록한 것 — 스크로블, 평점, 저장

로더 전용

T1 저작

당신의 말: 노트, 게시물, 평결, 레시피, 작업

당신, 직접

T2 파생

기계가 도출한 것: 원자, 벡터, 친화도

파생 전용

파생은 T0와 T1을 읽으며 물리적으로 T2를 볼 수 없습니다 — 그것이 읽는 프로필에는 T2 뷰가 전혀 없습니다. 따라서 T2는 항상 원천 데이터에서 재생성되며, exo verify는 두 번 파생시켜 다이제스트를 비교함으로써 이를 증명합니다. 기계 출력은 결코 기계 입력이 되지 않습니다.

표면은 당신이 게시 가능하다고 선언한 행만 포함하는 물리적으로 분리된 사본을 게시합니다. 보류된 자료는 게시된 파일에 아예 존재하지 않으며, 읽기 시점에 필터링되지 않으므로, 다운스트림의 어떤 버그나 주입된 명령도 그것에 도달할 수 없습니다. 정책은 실패 시 폐쇄(fail-closed)입니다: 선언되지 않은 영역은 어느 쪽으로든 기본값으로 처리되지 않고 빌드가 실패합니다.

엔진과 당신의 인스턴스

이 저장소는 엔진입니다. 데이터를 보유하지 않으며 앞으로도 보유하지 않을 것입니다.

당신의 데이터, 설정, 그리고 당신만의 로더는 인스턴스에 있습니다 — 엔진이 $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

로더의 입력이 형식(format) 이라면 엔진에 포함됩니다 — Last.fm 내보내기, markdown 폴더, git 저장소 디렉터리 같은 것들입니다. 누구나 그런 것을 가질 수 있습니다. 로더의 입력이 장소(place) 라면 당신의 인스턴스에 속합니다: 당신의 도시 공연장 달력, 당신의 자매 저장소, 당신의 블로그 같은 것들입니다. 기준은 코드가 얼마나 특수한지가 아니라, 낯선 사람이 그 입력을 아예 가질 수 있는지입니다.

시작하기

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

exo init이 복사하는 템플릿은 exo/templates/에 있습니다 — 복사본을 편집하기 전에 읽어 보세요.

휴대폰에서 접근하기

읽기 표면의 요점은 기록이 그것을 보유한 기계에서 멀리 떨어져 있을 때도 응답한다는 것입니다. worker/는 HTTP를 통해 MCP를 말하는 Cloudflare Worker입니다 — 영구적으로 읽기 전용이며, 게시 번들만 제공합니다 — 그리고 worker/README.md는 그것을 구축하고 Poke, 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

그런 다음 번들을 게시하고(exo publish --cf, 이후 import.sh), Worker의 URL과 해당 토큰을 poke.com/integrations/new에 추가하세요. 모든 MCP 클라이언트는 같은 방식으로 작동합니다 — Poke는 문자 메시지로 당신에게 도달하는 하나일 뿐입니다.

그런 다음 CONTEXT.md를 읽으세요 — 그것이 어휘이며, 저장소의 나머지는 그것을 전제로 합니다.

솔직한 한계

  • 초기 비용은 실재합니다. 이것은 이미 노트를 작성하고, 이미 데이터를 내보내고, 이미 이것을 원했던 사람을 위한 도구입니다. 습관을 대신 만들어 주지는 않습니다.

  • 로더는 고장납니다. 다른 사람의 내보내기 형식을 읽고 다른 사람의 페이지를 스크래핑합니다. 각 로더는 실패로 덮어쓰는 대신 마지막으로 성공한 파일을 유지하지만, 썩은 로더는 시간문제입니다.

  • 그것은 밑에 있는 두 번째 뇌입니다. 개인 위키, 소비 데이터와 아카이브용 로더, 그 위의 일부 증류. 새로운 부분은 그중 어느 하나가 아니라, 그것들이 하나의 게시 경계를 가진 하나의 기록을 공유한다는 것입니다.

  • 채팅 내보내기 로더는 주머니칼입니다. Claude와 ChatGPT 내보내기를 하나의 형태로 정규화하며, 이것은 나머지를 원하든 원하지 않든 유용합니다.

결정들

모든 비자명한 선택에는 docs/adr에 ADR이 있습니다. 핵심이 되는 것들:

0001

계층 고유 파일 위의 DuckDB 카탈로그, 그리고 벽

0005

ETL 분할: 노트북이 수집하고, 클라우드가 재구축

0006

원격 읽기 표면은 영구적으로 읽기 전용

0007

주입된 읽기의 폭발 반경 제한

0014

코드는 공개, 인스턴스는 비공개

0016

프로시저는 도구가 아닌 리소스

기여하기

먼저 CONTRIBUTING.md를 읽으세요 — 특히 이 저장소에 당신 자신의 것을 포함한 개인 데이터를 절대 넣지 말라는 부분과, 실행 중인 인스턴스의 모든 id를 다시 생성하는 작아 보이는 변경 목록을 주의 깊게 보세요.

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