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-0.2.5.tar.gz (67.5 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-0.2.5-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hollow_attractor-0.2.5.tar.gz
  • Upload date:
  • Size: 67.5 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-0.2.5.tar.gz
Algorithm Hash digest
SHA256 8eaaedcfcea0cc19b0aed411b804b1e358f03f5b760601d8fd434d22dda52ad3
MD5 50b120f6e1c478909a67dbe048ac93a6
BLAKE2b-256 224a77aced150283187dcd393f91135f8bdd953939e8135b5cb97f77bf1b5906

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hollow_attractor-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 19.4 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-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 aeb915554bcfdd2eae2569b9b762d5c495e993e9073c69eb0ff04145e60f5483
MD5 ce30ebcb47c2863d016b5131c9d7d1d1
BLAKE2b-256 9164fbd7487fb1e68097e76995fe1777bc7612593e110a7b0db25b48f4d58f5b

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