Skip to content

witan-context

Shared memory, work coordination, and a code graph for coding agents.

A coding agent starts every session knowing nothing. It re-derives the same facts, rediscovers the same constraints, and repeats the same mistakes — and when two agents work in parallel, neither knows what the other is doing.

witan is the missing layer: a persistent, team-wide graph that agents read from and write to. What one session learns, the next one recalls. What one agent is working on, the others can see.


The three layers

  • Memory

    Durable, shareable knowledge — patterns, project facts, lessons, decisions. Memories link to each other (supersedes, refines, contradicts), so recall returns what is current, not merely what matched.

    Memory tools →

  • Work coordination

    Tasks, dependency edges, and multi-session projects. Claiming is a compare-and-swap with a lease, so parallel agents can divide work without double-doing it.

    Task tools →

  • Code graph

    A tree-sitter index for exact symbol lookups, caller graphs, and change-impact analysis — plus a cross-repo bridge that traces a shared env var, endpoint, or package from provider to consumer.

    Code tools →

All three are served by one MCP endpoint. A single witan serve mounts 60 tools; one entry in your agent's config gets you the whole surface.


Start here

If you want to… Go to
Install it and store your first memory Get started
Understand the mental model — memory kinds, the task graph, CLI vs. agent vs. skills Concepts
See the same scenario worked through the CLI, an agent, and a skill Walkthroughs
Do a specific thing — index a repo, run against a deployed service, migrate a store Guides
Look up a tool, flag, env var, or node type Reference
Understand why it works the way it does Explanation

Quick start

uv tool install ol-agent-kit
witan setup

witan setup registers the MCP server and its skills with whichever coding-agent platforms it finds locally — Claude Code, Pi, GitHub Copilot, OpenCode, and others. Then, from inside any git repository:

witan tasks                 # ready work in this repo
witan memory "vault auth"   # what do we know about this?
witan code index            # build this repo's code graph

Then ask your agent things like "who calls retry_with_backoff?" or "what breaks if I change this signature?" — the code_* tools answer from the index rather than from grep.

See Installation for the other install paths and for pointing witan at a shared, deployed service instead of a local store.


What makes up witan

witan-context covers three published packages, all developed in the mitodl/agent-kit monorepo:

Package What it is
witan-council The memory, task, and workflow tools, plus the witan umbrella CLI
witan-code The tree-sitter code graph and cross-repo bridge; mounts as witan code
witan-core Shared internals: the graph client, OIDC/remote transport, observability
ol-agent-kit Meta-package that installs all of the above in one shot

Storage is omnigraph — a local file, an s3:// bucket, or a shared omnigraph-server. The same tools work against all three; only WITAN_MEMORY_URI changes.

For agents reading this site

Every page here has a raw-markdown twin at the same URL with .md appended — this page is also /index.md. /llms.txt is a link index into all of them; /llms-full.txt is the whole site concatenated into one file.