Skip to main content

Cross-session personal memory and task protocol for Claude

Project description

Hollow Attractor

Cross-session personal memory and task protocol for Claude, implemented as an MCP server.

Claude has no memory between sessions. Hollow Attractor gives it a persistent, structured workspace — tracked in a local git repo, read and written through MCP tools, never sent anywhere.


How it works

Hollow Attractor runs as a local MCP server connected to Claude Desktop. Each session, Claude loads your current state and picks up where it left off — open tasks, decisions, questions, and a running log.

Everything lives in ~/.hollow-attractor/ as plain text files under git. No cloud, no account, no sync. Your data stays on your machine.

Key concepts

Term Meaning
Worldline A named workspace — one project, one scope
Attractor The global context; entry point for each session
Ship Log Global index of all worldlines and recent updates
Divergence A tracked relationship between two worldlines
Anneal Manual compaction of a worldline with optional intent
Imprint Plain-text state export for backup or migration

Install

Requirements: Python 3.10+, git, Claude Desktop

pip install hollow-attractor
hollow init

Then configure the MCP server for your Claude client:

Claude Desktop — edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "hollow-attractor": {
      "command": "hollow",
      "args": [],
      "env": {}
    }
  }
}

Claude Code (CLI) — edit ~/.claude.json, using the full path to the hollow binary:

{
  "mcpServers": {
    "hollow-attractor": {
      "type": "stdio",
      "command": "/full/path/to/hollow",
      "args": [],
      "env": {}
    }
  }
}

To find the full path: which hollow (macOS/Linux) or where hollow (Windows).

Restart Claude Desktop / Claude Code after saving.


Usage

Start a session in Claude Desktop and say:

hollow, start

Claude will load the hollow_start prompt, read your Ship Log, and resume your current worldline.

From there you can create worldlines, add tasks, log decisions, track open questions, and commit state — all through conversation.

See SYSTEM_PROMPT.md for the full protocol and SCHEMAS.md for file formats.


Migrating from an existing system

Already tracking tasks in Notion, Todoist, a custom Claude setup, or anywhere else? See MIGRATION.md for a prompt you can paste into Claude Desktop to bring your existing backlog across.


Status

V1 is complete and in active daily use. The core protocol is stable.

Planned next:

  • Homebrew formula
  • Hosted sync (V2)

Support

If Hollow Attractor is useful to you, consider sponsoring development:

GitHub Sponsors


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hollow_attractor-1.0.1.tar.gz (74.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hollow_attractor-1.0.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file hollow_attractor-1.0.1.tar.gz.

File metadata

  • Download URL: hollow_attractor-1.0.1.tar.gz
  • Upload date:
  • Size: 74.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for hollow_attractor-1.0.1.tar.gz
Algorithm Hash digest
SHA256 8cad74d8ef7d987c1f8203f246da2545f7a3e279cddb78d55ae063fa173d8ae3
MD5 ade46ad5b1254b5ee78ae96e44298ff4
BLAKE2b-256 7867a65cbd136939aebc53bd1004d23df7cd3b47246caad13481a6a50b3666aa

See more details on using hashes here.

File details

Details for the file hollow_attractor-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: hollow_attractor-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for hollow_attractor-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e22155871d63cffc5911137b3794032d555c51512fa78433b86397e9403ef99
MD5 c76d549f30b38958694e9c3fe25930d3
BLAKE2b-256 89297e4ef2300aa0062a07db33e39bb437f84540cceadcdb3159ed9c5a841026

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page