Use case · Custom bots

Give your botcontext engineering.

LeanCTX embeds in any custom bot or agent via a versioned /v1 HTTP API (OpenAPI + /v1/capabilities) with GA Python and TypeScript SDKs plus a Rust SDK. Your bot gets compressed reads, persistent memory, a knowledge graph, the ctx_tools gateway and governance, without building any of it. One local Rust binary, lean-ctx serve, zero cloud dependency.

Same engine. Different workflow. Always the right context.

What it costs you today.

Raw JSON goes straight into the model

Every tool response, API payload and document lands unprocessed in the prompt. You pay for noise on every single call.

Home-grown memory is fragile

A vector store bolted to a cron job is not a memory system. Findings vanish, sessions reset, and nobody trusts the recall.

Every bot rebuilds the same plumbing

Caching, deduplication, retrieval, budgets: each new bot reinvents the context stack instead of shipping its actual job.

The capabilities that do the work.

Everything below ships in the open-source binary today. No roadmap items, no waitlists.

Your toolsLeanCTXModel

Versioned /v1 API

OpenAPI spec + /v1/capabilities discovery; read, search, memory and shell endpoints

GA SDKs + conformance

Python & TypeScript SDKs GA with a 14-check conformance kit, plus a Rust SDK

ctx_tools gateway

bridge external MCP servers and plugins through one governed entry point

WASM extensions

a sandboxed WASM runtime and plugins extend the layer without forking it

Context personas

built-in personas (coding, research, support…) plus custom; one switch reshapes tool set, read mode, compression and intents

Knowledge store

facts, decisions and blockers persist across sessions and restarts

From zero to first gain.

terminal
# start the context API$ lean-ctx serve
# discover the surface (OpenAPI + capabilities)$ curl localhost:8080/v1/capabilities
# install the SDK$ pip install lean-ctx-client
# connect from your bot$ client = LeanCtxClient("http://127.0.0.1:8080")
# compressed read via the /v1 API$ client.call_tool_text("ctx_read", {"path": "data/report.pdf"})

Questions teams ask before adopting.

Take back control of your context.

Free for local use, forever. CI enforces it. One binary, ten minutes to the first measured gain.

Support this project