Labsco
MCP SERVER

Statewave

by smaramwbc

Log what happened as episodes, compile them into durable memories, then pull a token-budgeted context bundle instead of pasting chat history.

Agent MemoryVerified
Summary
Ingest and recall are deliberately separated by a compile step.

An episode you just wrote is not retrievable until compilation runs — which is a design choice, not a limitation: what gets recalled is distilled rather than raw, so a subject with thousands of events still returns a context bundle that fits a prompt. The timeline tool keeps the unprocessed log available beside it, which is what you want when the question is what was ingested rather than what is known.

What it is

A client for Statewave's memory API. Raw events go in as episodes against a subject; a compile step distils them into durable memories, which are what search and context assembly read.

What you get
  • A normalized event written to a subject's raw log, deduplicated on an idempotency key — statewave_ingest_episode
  • Compilation that turns accumulated episodes into memories that can actually be retrieved — statewave_compile_subject
  • Free-text search over a subject's compiled memories, ranked by relevance — statewave_search_memories
  • A compact ranked context bundle assembled for a stated task and fitted to a token budget, meant to go straight into a prompt — statewave_get_context
  • The raw event log in chronological order, filterable by kind and time window, for audits and for debugging what was ingested — statewave_get_timeline
  • The subjects this instance knows about with their episode and memory counts, for discovering which subject id to pass — statewave_list_subjects
Requirements

A Statewave instance to point at: STATEWAVE_URL is required, with STATEWAVE_API_KEY for authenticated access. Install @statewavedev/mcp-server and run statewave-mcp-server over stdio, or start it as the mcp subcommand of the connectors CLI; --list-tools prints the JSON Schema surface without starting a server. Subjects are addressed by id, in a form such as repo:owner.name.

Setup effort

One command plus a key — npx -y @statewavedev/mcp-server, then supply credentials