ccx
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ccxrecord a decision to use PostgreSQL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ccx
A typed, append-only event log and resume system for Claude Code. Instead of asking an agent to
maintain a free-form Session.md — which drifts, because prose always does — ccx records
schema-validated events to Postgres, so resuming a session means querying ground truth rather than
trusting a freshly generated self-summary. Its drift command reconciles the agent's completion
claims against actual git state, which is the direct answer to "I already did that."
The design principle, from docs/design.md: prose drifts, schemas don't.
Validation happens server-side and bad payloads are rejected.
How events get captured
Mechanical — session start/end, task created/completed, and file writes are posted by Claude Code hooks invoking
ccx hook <event>with the hook JSON on stdin. No agent cooperation required.Semantic — Plan, Decision, Question, and HumanFeedback are posted by the agent through the stdio MCP server.
Completion events carry evidence or they don't validate: a commit SHA if the intent produced code, a test command and exit code if tests ran.
Related MCP server: threadline-core
Layout
packages/schema— Zod envelope + payload schemaspackages/storage— Drizzle client, event append/query, digest, drift checkpackages/mcp-server— stdio MCP server (8 tools)packages/cli—ccx init|digest|tail|blocked|drift|replay|projects|hook
Proof
147 tests across 25 files —
pnpm testRequires Docker: the storage suite spins up an ephemeral
postgres:16-alpinetestcontainer and applies migrations per run. Coverage is concentrated inschema(73) andstorage(45); the MCP tool handlers are the thin spot.
Status
Phase 1 revised (hooks-based capture). 8 event types are implemented; Assumption, Discovery,
Issue, Revert, and PlanComplete are reserved names deferred to Phase 2 — validating a payload
for those throws. Plan 3 adds a SQLite local fallback.
Quick start
pnpm install && pnpm build
# 1. Create a Postgres database called `ccx`, then point ccx at it
printf 'database_url = "postgresql://user:pass@host:5432/ccx"\n' > ~/.ccx/config.toml
chmod 600 ~/.ccx/config.toml # hooks read from here, not the environment
# 2. Apply migrations
psql "$(python3 -c "import tomllib,os;print(tomllib.load(open(os.path.expanduser('~/.ccx/config.toml'),'rb'))['database_url'])")" \
-f packages/storage/drizzle/0001_*.sql
# 3. In any project repo
node <path-to-ccx>/packages/cli/dist/index.js init # creates .ccx/project.tomlThen register the five hooks (SessionStart, SessionEnd, TaskCreated, TaskCompleted, and PostToolUse
matching Write|Edit|MultiEdit|NotebookEdit) in ~/.claude/settings.json, each running
node <path-to-ccx>/packages/cli/dist/index.js hook <event> with a 10s timeout and reading hook JSON
from stdin. For the semantic tools, register the MCP server in ~/.claude.json.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
An agent-native database over MCP: shared, validated, structured records in every AI chat.
Persistent memory for AI agents — log and recall conversation context over MCP.
System-of-record notebook for AI coding agents: pages, datastores, tasks, skills over MCP.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTamper-evident audit logging for AI agents. Append-only, hash-chained, optionally Ed25519-signed log. The MCP server lets an agent keep and verify a record of what it actually did.7MIT
- AlicenseAqualityAmaintenanceMCP server providing structured continuity memory for AI coding agents, tracking decisions, open loops, and session state in local SQLite. Enables agents to resume work from verified state across sessions without replaying transcripts.17Apache 2.0
- AlicenseNot gradedqualityBmaintenanceA causally-ordered, rewindable event-ledger for autonomous AI agents, enabling tamper-evident audit, replay, and rollback of agent actions via an MCP server.4MIT
- AlicenseBqualityCmaintenanceAn MCP server that enables coding agents to log their work, decisions, test runs, PRs, and progress as structured events, either to a local JSONL file or an HTTP endpoint.60MIT