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 add the MCP server to 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"
}
}
}
Restart Claude Desktop.
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:
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hollow_attractor-0.2.2.tar.gz.
File metadata
- Download URL: hollow_attractor-0.2.2.tar.gz
- Upload date:
- Size: 66.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34c8d96e067b53511e45fccdad642504f863cb296a8969876820364d8dd3b0df
|
|
| MD5 |
40e011bde07eb5579b29af711634a432
|
|
| BLAKE2b-256 |
4d24fe3f68874a2e697288efb49749935770e7ad19096ca5646e6ad3b76c9160
|
File details
Details for the file hollow_attractor-0.2.2-py3-none-any.whl.
File metadata
- Download URL: hollow_attractor-0.2.2-py3-none-any.whl
- Upload date:
- Size: 17.9 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
569372c1bb41f39a1ec447f5d2ef37ae0f550ceb803f306d75a8a32ab9186071
|
|
| MD5 |
2158269ab5073cb877c3d58d1f034e98
|
|
| BLAKE2b-256 |
a0d9f02f7c41116aded9db8ca05bc1e15d359842b6231ce706457436bfdfa5ed
|