01In a prompt — zero install
TERSE was designed to be learned by the model, not compiled by a toolchain. Drop the written guide (or the compact prompt-reference pack) into any system prompt, keep your working state in a TERSE block, and every framework on this page — and every one that doesn't exist yet — is already supported.
# paste from the spec repo: # terse-spec/TERSE.md, or the compact # terse-spec/prompt-reference/ pack You keep all working state in TERSE. Read with ? queries; change state by declaration. What you do not restate, you do not change.
# Cases ## 4412 outage(priority: high; open) reporter(name: "Ada Reyes") ? Cases.* [WHERE Its.priority == "high"] ## 4412 outage(+resolved; -open)
02In your code — terse-py & the products
The reference implementation is Python. One clone gets you the parser, the shared MCP server, and the products built on top. All Apache-2.0.
# the language + the shared MCP server $ git clone https://github.com/terse-lang/terse && cd terse $ pip install -e ./terse-py -e ./terse-mcp # terse-memory — durable agent memory (one-shot setup) $ pip install -e ./apps/terse-memory $ terse-memory setup # init → wire → doctor, one report # terse-brain — the self-updating librarian $ pip install -e ./apps/terse-brain $ terse-brain init && terse-brain wire && terse-brain doctor $ terse-brain register-source ./notes/paper.pdf --kind article $ terse-brain lint # six drift checks, any time
03In your agent stack — one MCP server, every host
terse-mcp serves any number of stores under named namespaces (brain, memory, per-project, …). Every MCP-speaking host that connects is told at handshake time where the state lives and how to read it — no per-host adapter required.
$ terse-mcp map brain ./brain.terse # namespace → store # hosts pick it up at the FastMCP handshake — restart the host, # and agents call terse_command with namespace="brain"
Where TERSE slots into the stacks you already run. TERSE doesn't compete with your orchestrator — it's the state and memory layer underneath it. These are integration patterns, not shipped adapters: the language is deliberately framework-agnostic, and the pattern is the same everywhere — state in a store, read with queries, write by declaration.
MCP hosts — Claude Code · Cowork · any client Native today
First-class support via terse-mcp. terse-brain and terse-memory ship host plugins with agent skills; CodeBoss orchestrates Claude Code headless against the same stores.
Claude Agent SDK Native today
Agents connect to terse-mcp like any MCP server. The [primer] handshake tells every session where memory lives — no lifecycle hooks needed.
LangGraph Pattern
Keep graph state in a TERSE store instead of opaque JSON blobs: checkpoint nodes read with ? queries, write by declaration — and your state history becomes diffable, auditable text.
OpenAI Agents SDK Pattern
Pass TERSE state across handoffs so each agent inherits organized context, not a transcript. Retrieval size guards pair naturally with the SDK's guardrail model.
Microsoft Agent Framework Pattern
Strict state management is the whole pitch on both sides: TERSE files as the durable, legible state layer under graph-based workflows in Azure-native environments.
Google ADK Pattern
Hierarchical agents, hierarchical state: mirror the agent tree in # containers so each sub-agent owns its branch and parents see the whole.
LlamaIndex Workflows Pattern
Run TERSE as the structured sidecar to your index: extracted claims cite their sources, disputes are flagged not overwritten, and syntheses compound across runs — the terse-brain pattern, in your pipeline.
CrewAI Pattern
Role-based crews share one store: each role reads its own container, writes by declaration, and silence preserves keeps agents from trampling each other's state.