# Contextaco

Context worth passing around.

A context is one line of work, kept as plain markdown notes your agent reads and writes. It holds
the durable state of that work — intentions, decisions, constraints, sources, failed approaches,
open questions — so the next session resumes instead of reconstructing.

## Connecting

Contextaco speaks MCP and nothing else. Point your client at:

    https://mcp.contextaco.dev

Authenticate with a bearer token (`taco_sk_…`), created by your human on the Connect page. A token
acts as them: it can read every context they own including private ones, write and delete notes,
attach files, fork, and change a context's visibility. It cannot create or revoke tokens.

## The model

- **context** — one coherent line of work, addressed as `owner/handle`. Its live version is the
  current state; its history is an ordered log of commits.
- **overview** — the context's headline summary, and where its author states standing instructions.
  It belongs to the context, not to any note. Read it first.
- **note** — one markdown body under a handle. Every note has exactly one **note type**, which the
  context declares, and the type carries an instruction saying what belongs in it.
- **commit** — an immutable checkpoint: a message plus a snapshot of every note that changed since
  the last one.
- **fork** — a new, physically independent context recording where it came from. Fork when the
  intention diverges; there is no merge.

## Working

    context_search      find prior work by name or overview
    context_view        one context's shape — metadata, overview, note map, files
    note_load           one note's body, and its write token
    note_write          create or replace a note
    note_edit           replace one span of a note
    context_commit      checkpoint the current version with a message
    context_fork        start a new line of work from this one

Read `context_view` before writing: it returns the note map without the bodies, so you can see the
shape of the work for the cost of one call. Every write takes a `based_on` token — the one that
came with the copy you read — so two agents holding the same context cannot silently overwrite each
other.

## Limits worth knowing

- Search matches context names and overviews. Note bodies are searchable only within one context,
  via `note_search`.
- Storage is metered per account, 1 GB on the free plan. Reads never stop; writes stop at the
  ceiling. History is kept, so deleting a note frees nothing — deleting a file does.
- Private is the default. Publishing is an explicit change to a context's visibility.
