{
  "markdown": "# context-vault\n\nPersistent structured memory for Claude Code.\n\nThe LLM is an active participant in its own memory — not a passive logger.\nA daemon TCP server is the sole writer to vault.db. Thin MCP clients connect\nvia TCP and proxy tool calls. Multi-terminal: workers create checkpoints,\nthe supervisor answers them. Push notifications route events in real time.\n\n## Architecture\n\n```\nClaude Code ←stdio→ [thin client MCP] ←TCP:9743→ [daemon] ←SQL→ vault.db\n                     cmd/context-vault-mcp         cmd/context-vault-daemon\n                          │                              │\n                     fallback SQLite              watchCheckpoints (3s)\n                     (if daemon down)             pushToRole / pushToSession\n                          │                              │\n                     -role worker|supervisor       table agents (persistent)\n                     -channel (push forwarding)    supervisor singleton\n```\n\n### Multi-terminal supervision\n\n```\nTerminal 1 (supervisor)          Terminal 2 (worker)          Terminal 3 (worker)\nvault_assume_role(supervisor) →  vault_assume_role(worker) →  vault_assume_role(worker)\n        ↑                               │                            │\n        │ push checkpoint_created       │ vault_upsert_entity        │\n        │←──────────────────────────────┘ (type: checkpoint)         │\n        │                                                            │\n        │ push checkpoint_answered                                   │\n        │────────────────────────────────────────────────────────────→│\n```\n\n## Installation\n\n### 1. Build\n\n```bash\nCGO_ENABLED=0 go build -o bin/context-vault-daemon-linux-amd64 ./cmd/context-vault-daemon/\nCGO_ENABLED=0 go build -o bin/context-vault-mcp-linux-amd64 ./cmd/context-vault-mcp/\n```\n\n### 2. Start the daemon\n\n```bash\nPROJECT_DIR=/path/to/project nohup ./bin/context-vault-daemon-linux-amd64 -db /path/to/project/.claude/vault.db &\n```\n\n### 3. Configure MCP\n\nCreate `.mcp.json` at your **project root**:\n\n```json\n{\n  \"mcpServers\": {\n    \"context-vault\": {\n      \"command\": \"/path/to/bin/context-vault-mcp-linux-amd64\",\n      \"args\": [\"-role\", \"worker\", \"-channel\"],\n      \"env\": { \"PROJECT_DIR\": \"/path/to/project\" }\n    }\n  }\n}\n```\n\n### 4. Launch Claude Code with channels\n\n```bash\nclaude --dangerously-skip-permissions --dangerously-load-development-channels server:context-vault\n```\n\n## Available MCP tools\n\n| Tool | Description |\n|------|-------------|\n| `vault_get_context` | Active todos, decisions, constraints, checkpoints |\n| `vault_search_entities` | Search by type, namespace, or label substring |\n| `vault_upsert_entity` | Create or update an entity |\n| `vault_list_todos` | Todos with status, priority, blockers, steps |\n| `vault_todo_transition` | Change todo status (open/in_progress/blocked/done) |\n| `vault_create_relation` | Link entities (depends_on, blocks, subtask_of) |\n| `vault_delete_entity` | Delete entity and cascade relations |\n| `vault_add_steps` | Add steps to a todo (idempotent) |\n| `vault_step_done` | Mark a step done (auto-transition if all required done) |\n| `vault_get_entity` | Read full entity by ID (meta, relations, steps) |\n| `vault_list_workers` | List connected clients (supervisor only) |\n| `vault_assume_role` | Change session role (worker/supervisor singleton) |\n\nSee [USAGE.md](USAGE.md) for detailed examples.\n\n## Entity types\n\n`todo`, `mission`, `decision`, `constraint`, `checkpoint`, `pattern`, `function`, `type`, `package`, `file`, `api`, `dependency`, `credential`\n\n## Schema\n\nSQLite WAL. Core tables:\n\n- **entities** — identity + `meta` JSONB (blob_plus, blob_minus, status, priority, ...)\n- **relations** — typed edges (depends_on, blocks, subtask_of)\n- **todo_steps** — ordered steps per todo with done flag\n- **agents** — persistent client registry (session_id, role, connected, timestamps)\n- **sessions** / **buffer** / **compact_log** — legacy hook tables (still used by cmd/context-vault)\n\n## Security\n\n- `vault.db` is `chmod 600` on creation\n- `.claude/vault.db` is automatically gitignored\n- `sensitivity=2` entities are excluded from context injection\n- `type=credential` never stores values — only existence and location\n- Supervisor singleton enforced via agents table\n\n## License\n\nMIT\n",
  "bytes": 4283,
  "sha": "c7a088978c80004717f22c594be1a64fd55152b59200ae1885822f2fb184b631",
  "repo_slug": "hazyhaar/context-vault",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_hazyhaar_context_vault_context_vault_b7596f96/readme"
}