// CONTENT-ADDRESSED CONTEXT RUNTIME

Agents do
the thinking.
MCX remembers_

Every agent handoff is unserialized state moving between processes that do not trust each other. MCX gives each exchange a content address, an append-only history, and a permission envelope — so context moves between agents the way commits move between branches.

$ npm install @mcxai/sdk # zero peer deps

exchange.ts · mcx://prod
import { mcx } from "@mcxai/sdk";

const ctx = await mcx.context.create({
  data: researchResult,
  sources: sources,
  acl: teamReadWrite,
});

// → hashed · versioned · permissioned
await mcx.context.get("ctx_82931");

RESPONSE · 201 CREATED · 4MS

{
  "id": "ctx_82931",
  "hash": "sha256:9f2e…c41d",
  "version": 1,
  "acl": "team-rw",
  "log": "append-only"
}

BYTES → HASH → LEDGER

WRITES APPEND. NEVER OVERWRITE.

CONTENT-ADDRESSED//APPEND-ONLY//ACL-BEARING OBJECTS//POINT-IN-TIME READS//CONSUMER LEDGERS//MODEL AGNOSTIC//

SHA-256 ADDRESSED

Every context object is content-addressed on write

APPEND-ONLY LOGS

Versions are immutable. Nothing silently mutates.

P99 READS < 10MS

Pinned point-in-time reads served from replicas

4-LINE SURFACE

Median integration: create, get, diff — done

[01]THE PROBLEM

Your pipeline is a distributed system pretending to be a function call.

Agent A burns ten minutes and forty tool calls producing fifty facts, twenty sources and three decisions. Then you JSON.stringify() it into Agent B's prompt and hope. No schema. No lineage. No rollback. At four agents this is friction. At forty it is an outage.

TOPOLOGY · WITHOUT MCX · EVERY ARROW IS HAND-WRITTEN GLUE
USER REQUEST

A

RESEARCH AGENT

Finds information. Collects sources.

B

ANALYSIS AGENT

Extracts facts, patterns, structure.

C

DECISION AGENT

Concludes under constraints.

D

WRITING AGENT

Produces the final artifact.

FINAL ANSWER · PROVENANCE UNKNOWN
⚠ EVERY ARROW IS UNSERIALIZED STATE. EVERY HANDOFF IS A BET YOU ARE LOSING.

THE BACKLOG NOBODY WROTE DOWN

  • 01Where does intermediate state live??
  • 02Who serializes the handoff payload??
  • 03What schema does the next agent expect??
  • 04Which version did downstream read??
  • 05What changed since the last run??
  • 06Which model produced this artifact??
  • 07Who may read or mutate it??
  • 08How do I bisect a bad output??
  • 09Can I replay Tuesday's state exactly??
  • 10What happens at one hundred agents??

Every serious team rebuilds this substrate in private. Badly, and twice. The second version is always worse than the first, because now it has customers.

MCX is that substrate, extracted once and run properly.

[02]ANATOMY OF A CONTEXT
MCX CONTEXT OBJECTctx_82931sha256:9f2e…c41dacl:team-rw
  • requeststring
  • researchobject
  • facts[50]
  • sources[20]
  • documentsfile[]
  • decisionsdecision[]
  • tool_resultsunknown[]
  • agent_outputstring
  • metadatarecord
  • permissionsacl
  • versionint = 3
ONE OBJECT CARRIES ITS OWN HISTORY, ITS OWN ACL, ITS OWN HASH CHAIN.

A context is not a prompt. It is an addressable fact-state.

Prompts die at the boundary of a single call. Contexts persist. The request, the research, the fifty facts, the twenty sources, every decision with its rationale, every tool result typed on ingest — registered once as one durable object.

Any agent anywhere in the pipeline resolves ctx_82931 to the same bytes, the same lineage, the same rights. Not a copy. Not whatever the previous stage remembered. The object.

REGISTER

mcx.context.create()

returns id + hash

RESOLVE

mcx.context.get(id)

pinned or HEAD

[03]THE SDK

Three verbs. Content in, decisions out, diffs between.

TYPESCRIPT + PYTHON. TYPED RESPONSES. NO ORCHESTRATOR LOCK-IN — BRING LANGGRAPH, CREWAI, OR BASH SCRIPTS.

CREATEGETDIFF

WRITE ONCE, ADDRESS FOREVER

const ctx = await
  mcx.context.create({
    data: result,
    sources: srcs,
    acl: teamRw,
  });

// hashed, versioned,
// ledger opened atomically
ctx_82931

RESOLVE ANYWHERE IN THE DAG

const shared = await
  mcx.context.get(
    "ctx_82931",
    { version: 2 }
  );

// pin v2 for reproducibility,
// omit for HEAD. same bytes,
// every resolve. guaranteed.

STRUCTURAL DELTA, NOT STRING DELTA

await mcx.context.diff(
  "ctx_82931",
  1, 3
);

// which actor introduced
// which field, at which
// timestamp. exact.

Model agnostic — GPT, Claude, Gemini, Llama, yours

Works under LangGraph, CrewAI, custom loops

Self-hostable registry, edge-readable cache

[04]VERSIONING + LINEAGE

Merkle-grade memory for stateful agents.

When the final answer is wrong, you do not want logs. You want a range. Diff v1..v3, see which actor introduced the regression, replay from the parent. Your pipeline becomes as debuggable as a commit graph — because underneath, it is one.

VERSION LOG · ctx_82931 · APPEND-ONLY
  • v1c41d

    CREATED BY agent/research

    +50 facts · +20 sources · +requirements

    SEALED
  • v288a0

    MUTATED BY agent/analysis

    +analysis.md · +confidence scores

    SEALED
  • v3f77b

    MUTATED BY agent/decision

    +decision.json · verdict recorded

    HEAD
+ analysis.confidence: 0.94 // n=18 verified
+ decision.verdict: proceed
~ facts.count: 50 → 53
- open_questions[]: drained

LINEAGE TRACE · WHO SAW WHAT, AT WHICH HASH

RESEARCH AGENTreads request · writes findings
CONTEXT v1c41dctx_82931@1
ANALYSIS AGENTreads v1 · writes analysis
CONTEXT v288a0ctx_82931@2
DECISION AGENTreads v2 · writes verdict
CONTEXT v3f77bctx_82931@3
WRITING AGENTreads v3 · ships artifact

THE WORKFLOW STOPS BEING A BLACK BOX AND BECOMES SOMETHING YOUR TEAM CAN INSPECT, REPLAY AND TRUST.

[05]PROTOCOL POSITION

Wrappers rent a moat around someone else's model. Protocols compound underneath everyone's models.

You keep your models. You keep your agents. MCX is the layer they exchange state through — and the layer nobody else can move for you.

MCX EXCHANGE

STORE · VERSION · ROUTE · GOVERN · REPLAY

AGENT A

GPT

OpenAI

AGENT B

CLAUDE

Anthropic

AGENT C

GEMINI

Google

AGENT D

LLAMA

Meta

✗ THE WRAPPER TRAP

User
 ↓
MCX
 ↓
GPT API

Rents relevance from a provider who will absorb the feature in the next release. Thin moat. Zero compounding.

✓ THE PROTOCOL POSITION

        MCX
          │
 ┌────────┼────────┐
Agent A  Agent B  Agent C
 GPT     Claude   Gemini

Customers own the intelligence. We own the state substrate. Every agent added makes the layer more necessary.

[06]THE PLATFORM

Everything you were about to build yourself.

CONTEXT DB + SCHEMA + VERSIONING + HANDOFFS + ACL + AUDIT + BISECT + RECOVERY — REPLACED BY ONE DEPENDENCY AND FOUR LINES OF CODE.

01

STORE

Durable typed objects. Schemas enforced at write time, not review time. Blobs are sha-pinned; bytes never lie about their content.

02

VERSION

Append-only log per object. Every mutation gets a hash and an actor. Sealed versions cannot be rewritten by anyone, including us.

03

TRACK

A consumer ledger per version. Which agent resolved which address, read which bytes, at which timestamp. No silent readers.

04

GOVERN

ACLs travel inside the object, so permissions survive handoffs. The audit trail is the data structure, not a bolted-on feature.

05

DEBUG

Replay any historical state. Bisect regressions across agents the way you bisect a commit range — until the bad delta confesses.

06

RECOVER

Point-in-time reads without freezing writers. Roll any context back to a prior hash in one call and let the pipeline re-converge.

[07]WHO BUILDS ON THIS

We do not need every AI developer. We need the ones losing sleep over state.

Our highest-value customers already run multi-agent systems where information flows between stages — where debugging, governance and reliability convert directly into money saved or incidents avoided.

THE ALTERNATIVE IS NOT NOTHING. IT IS YOUR OWN HALF-FINISHED VERSION OF THIS, MAINTAINED FOREVER.

AI RESEARCH PLATFORMS
AI CODING SYSTEMS
CUSTOMER SUPPORT
DOCUMENT PROCESSING
EDUCATION PLATFORMS
FINANCIAL ANALYSIS
LEGAL WORKFLOWS
ENTERPRISE AUTOMATION

INSTEAD OF BUILDING: CONTEXT DATABASE + SCHEMA + VERSIONING + HANDOFF SYSTEM + PERMISSIONS + AUDIT LOGS + PROVENANCE + DEBUGGING — THEY INSTALL THE SDK.

// READY WHEN YOU ARE

Stop rebuilding
context plumbing.

Agents do the thinking. MCX remembers, manages and moves the work between them — hashed, versioned, permissioned, replayable.

$ npm install @mcxai/sdk