MCP server for Claude Code and AI agents

sessions: persistent memory and a task list for Claude Code and AI agents

sessions is a hosted MCP server that gives AI agents a shared, persistent memory and task list: pick up where the last session stopped, hand off cleanly, and coordinate several agents, worktrees and machines on one project.

What it is

Project memory for AI agents that survives /clear, /compact and new sessions

Every Claude Code session starts from zero, and parallel agents do not know about each other. sessions keeps a project's "session books" in a database instead of markdown files in the repo: the handoff from the last session, a pending ledger of open tasks, a chronicle of what was done, standing invariants (rules and do-not-touch areas) and long documents. An agent reads all of it in one call at the start of a session and writes back in one call at the end.

Several worktrees, machines and agents write to the same books at once without conflicts, because the database arbitrates, not git. It started as memory for coding agents and works just as well as a daily task list (see Daily tasks).

Features

Session handoff, task ledger and shared books

MCP tools

The server exposes eight tools:

Connect

How to connect an HTTP MCP server with a bearer token in Claude Code

Four steps. The token is project-scoped and is shown only once.

  1. Sign in to the abt.nz cabinet, open the Sessions tab, create a project by name (1-64 characters: lower-case letters, digits, _ and -, starting with a letter or digit; names need not be unique) and issue a project token. The token is shown ONCE. A git repository address is optional and can be added later; it is needed only for the code index.

  2. In the repository (or the folder you work from), register the server privately. Local scope means the token is never committed:

    claude mcp add --transport http --scope local sessions https://sessions.abt.nz/mcp \
        --header "Authorization: Bearer <token>"
  3. Once per machine, ask the agent: install the sessions skills. It shows the stubs and writes them after you confirm.

  4. Start every session with /pickup, end it with /handoff (see Skills).

Other MCP clients

Any client that speaks streamable HTTP with a bearer header works. Do not commit the token: keep this file out of version control.

{"mcpServers": {"sessions": {"type": "http", "url": "https://sessions.abt.nz/mcp", "headers": {"Authorization": "Bearer <token>"}}}}
Skills

Claude Code skills and the working cycle: pickup, askme, orchestrate, handoff

The skills are slash commands served by the server. They form one loop, and every step is cheap to repeat:

The sessions working cycle A loop of five steps: /pickup, then /askme, then /orchestrate, then /handoff, then /clear or /compact, and back to /pickup. /pickup /askme /orchestrate /handoff /clear or /compact context is reset, the state stays in the books
The cycle as text: /pickup -> /askme -> /orchestrate -> /handoff -> /clear or /compact -> /pickup
  1. /pickup - start of every session. One read of the books; the agent tells you where you left off, what is live, what is pending, what not to touch, and the first step. Cheap to repeat after a compaction.
  2. /askme [task] - settle a task BEFORE any work starts. The agent restates the task in plain words, then asks questions one at a time (a recommended option first, never a question the code or the books already answer), and records the outcome once: a decisions document linked to the task's card. Writes no code.
  3. /orchestrate <task> - agent orchestration: the agent becomes an orchestrator and carries the task through the project's own discipline: plan, implementation by sub-agents, review, checks, PR, merge and deploy, with the project-specific steps taken from the project's rules (.claude/orchestrate.md or a "## Orchestrate" section in CLAUDE.md). Typed as the first word of a message.
  4. /handoff - end of the session. One transaction: a short pointer for the next session (what to do first), chronicle entries for what was done, tasks opened, closed or reworded, rules recorded, documents filed.
  5. /clear or /compact - Claude Code's own commands to reset or compress the context. Nothing is lost: the books hold the state, and the next /pickup restores the picture in one call.

More skills

Install once per machine: ask the agent install the sessions skills; it shows the stubs and writes them after you confirm.

Daily tasks

Not only code: an AI task manager and daily to-do list with Claude

sessions is not tied to coding. The same books work as a personal or team daily task list driven by an AI agent:

Examples

Planning a week, tracking a hiring pipeline, running a small business's to-dos, research with notes per topic, household admin.

A project is created by name; a git repository is optional and can be added later (for example github.com/you/repo). It is needed only for the code index. A non-code task list, research or documents need no repository at all.

Pricing

What sessions costs

Free until payment is enabled. Charges start once payment is enabled on abt.nz; until then sessions is free.

Limits

FAQ

Frequently asked questions

How do I give Claude Code memory between sessions?

Connect sessions as an MCP server. Start each session with /pickup, which reads the last handoff, the open tasks, recent history and the project rules in one call; end it with /handoff, which writes the state back in one transaction. The memory lives on the server, not in files in your repository, so it survives new sessions, new machines and new worktrees.

What do I do after /clear or /compact so the agent remembers the task?

Run /pickup. Nothing is lost on /clear or /compact because the state is in the books; /pickup restores the picture in one cheap call: where you left off, what is live, what is pending, what not to touch and the first step. Before clearing, run /handoff so the books are current.

How do several Claude Code agents or worktrees share a task list?

All of them connect to the same project with its token. The pending ledger holds the open tasks with priorities; an agent claims an item so the others see it is in hand (advisory, never a lock). Writes from several worktrees, machines and agents do not conflict, because the database arbitrates, not git, and each write reports what the others changed since you last read.

Can I use Claude Code as a daily task manager?

Yes. The ledger is the to-do list, the chronicle is the diary, documents are the notes and invariants are the standing rules. Run /pickup in the morning for the agenda, /askme to turn a vague task into a settled one, and /handoff in the evening to leave tomorrow's first step. For a non-code list, just create the project by name: no git repository is needed, it is required only for the code index.

How do I connect an HTTP MCP server with a bearer token in Claude Code?

Issue a project token in the abt.nz cabinet, then run in your project folder: claude mcp add --transport http --scope local sessions https://sessions.abt.nz/mcp --header "Authorization: Bearer <token>". Local scope keeps the token out of the repository. Any other MCP client that speaks streamable HTTP takes the URL https://sessions.abt.nz/mcp and an Authorization: Bearer header.

Is my token or code stored?

A token is shown once; only its sha256 is stored, it is revocable instantly, and one token gives access to one project. sessions stores the books your agents write (handoffs, tasks, history, rules, documents). It does not read your repository unless the owner switches on the optional code index, which is off by default and uses a read-only GitHub deploy key. A deleted project sits in a 7-day quarantine and can be restored.

What does it cost?

Free up to 300 MB per project. Above that, 60 RUB per started GB per month, charged daily from the owner's abt.nz wallet. Charges start once payment is enabled on abt.nz; until then sessions is free. Reads always work and data is never deleted.

Start with /pickup

Create a project in the cabinet, add the server to Claude Code, and the next session starts where this one stopped.