Kontexta

Context management tool with agent inter-operability and fully local.

Documentation

Kontexta — context engine for coding agentsDWG NO. KX-70 · REV 4.5.2

Your agents have memory. It just isn't yours.

Claude Code, Cursor, Codex, Gemini, Copilot and every other agent keep their own silo. kontexta gives them one shared vault on your machine: searchable, versioned, and portable across every tool.

$ npx kontexta start

FIG. 0 — LIVE LOOP

Claude Code fixes the bug and journals it. Hermes, a different tool with zero prior context, recalls it from the same local vault. Wire up your clients →

70

MCP Tools

10

Clients

100%

Local

4x

Token Savings

kontexta MCP server score

72.8%

Fewer tokens consumed per task

4.0×

Context budget freed for reasoning

Surgical

Reads specific files & markdown sections

OPERATING PRINCIPLE

kontexta turns AI agents from isolated chat sessions into a continuous operational system.

OPT-01

npx

Recommended

One command. Dashboard + MCP together. Requires Node 22 LTS.

View procedure →✓ Dashboard + MCP

OPT-02

Docker

Alternative

Persistent vault on a host volume.

View procedure →✓ Dashboard + MCP

OPT-03

MCP only

Headless

Headless MCP server from npm. No dashboard, no ports. Requires Node 22 LTS.

View procedure →MCP only

OPT-04

Contributors

Advanced

Clone, bootstrap, hack. Apache-2.0.

View procedure →✓ Dashboard + MCP

[REF. T

Explore all 70 tools →

The full MCP inventory: search, surgical reads, Hands, reports, journaling, calendar.

](https://kontexta.dev/tools)[REF. P

Publish your docs →

Vault → documentation sites, API references, and llms.txt.

](https://kontexta.dev/publish)[REF. C

How it compares →

An honest table vs CLAUDE.md, vendor memory, mem0, and Zep.

](https://kontexta.dev/compare)[REF. S

Set up your client →

Config snippets for all 10 supported agents.

](https://kontexta.dev/setup)

N-01Where does my data live?

On your machine. By default, data lands at ~/.local/share/kontexta (Linux), ~/Library/Application Support/kontexta (macOS), or %APPDATA%\kontexta (Windows), no configuration needed. You can override this with KONTEXTA_DATA_DIR. Everything is indexed in a local SQLite database. Nothing is sent to a third-party service: no embeddings API, no telemetry, no cloud sync. Your only outbound traffic is the optional git push to a remote you configure yourself.

N-02How is this different from a vector DB or RAG pipeline?

Kontexta uses SQLite FTS5 for deterministic keyword and regex retrieval. No embeddings, no semantic-similarity guesswork. The same query returns the same results, every time. You also get exact substring/regex search (catches URLs, identifiers, hyphenated terms that tokenisers miss).

N-03How is Hands execution sandboxed?

Hands tools are declared per-project in kontexta.json, so agents cannot invent commands. Each invocation runs with no shell interpreter, a locked working directory, and a scrubbed environment (only PATH, HOME, USER, LANG, TZ are forwarded). Output is capped via a ring buffer; timeouts kill the entire process group. Argv parameters are validated by re2 patterns (ReDoS-proof) with an 8 KB UTF-8 cap, and the default pattern blocks leading-dash argv injection.

N-04Does the agent need to remember to log its work?

No. The MCP server wraps every tool registration at boot, so every call writes a per-event line to the project's append-only event log automatically: fsynced per write, redacted for sensitive args, with git branch/commit context attached. Agents can enrich the log with journal_note (decisions) or journal_intent (topic pivots), but the durable capture happens with zero agent involvement. Periodic distillation (manual via distill_journal, or scheduled via the WebUI) turns the raw event log into per-topic markdown summaries indexed in the same FTS5 surface as the rest of the vault.

N-05Can I require human approval before destructive commands run?

Yes. Mark a Hands tool as confirm-required and it returns a single-use, CSPRNG-bound token that expires in 60 seconds. The agent must call confirm_hand with that token to actually execute. The token is the auth, and it cannot be replayed.

N-06What stops a malicious URL from hitting my internal network?

The URL clipper performs DNS resolution and rejects every resolved address against a blocklist: loopback, private IPv4/IPv6, link-local, CGNAT, multicast, IPv4-mapped IPv6, and special hostnames (localhost, *.local, *.internal, *.lan). Cloud-metadata endpoints like 169.254.169.254 are blocked. Redirects are followed manually with per-hop re-validation (max 5 hops), so a public URL that 302s into the metadata service is still refused. Response bodies are streamed with a 10 MiB ceiling.

N-07How are file-system operations protected?

Every path is checked with assertPathInside before read or write; files cannot escape their project root or KB base. move_file validates both source and destination containment. Symlinks are skipped (lstatSync) so a loop under your vault cannot recurse forever. Writes are atomic (tmp file + rename) so a crash mid-write cannot corrupt a file. Download responses strip CR/LF from filenames and use RFC 5987 encoding to block HTTP response splitting.

N-08What about secrets in error messages or git output?

Git error output is run through redactCredentials() before logging or returning to clients; user:pass@ patterns in URLs are stripped. Hands output is similarly capped and bounded so a runaway process cannot leak via log volume.

N-09Does it work offline?

Fully. The MCP server, the web UI, and the SQLite index are all local. Git push for backup is optional and the only operation that touches the network.

N-10Which agents work with kontexta?

Anything that speaks MCP: Claude Code, Cursor, Gemini CLI, Codex, Continue, Antigravity, Claude Desktop, Aider, Cline, and OpenClaw. The onboard_agent tool auto-detects and writes the right context file (CLAUDE.md, AGENTS.md, GEMINI.md,.cursor/rules/*,.continue/rules/*,.aider/kontexta.md,.cline/kontexta.md,.openclaw/kontexta.md) so agents pick up the workflow automatically.

N-11What's the license?

Apache-2.0. Use it commercially, fork it, embed it. No telemetry callback, no rug pull.

N-12How do I configure kontexta for OpenClaw?

Add the Kontexta MCP server to your OpenClaw configuration. For a local Kontexta instance, configure OpenClaw to connect via stdio with command `openclaw` and args `["mcp", "serve",...]`. For a remote Gateway, use `openclaw mcp serve --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token`. OpenClaw also supports file-based context via `.openclaw/kontexta.md`.

CH-01

GitHub

Source, issues, discussions.

Open repo CH-02

npm

kontexta (dashboard + MCP) and kontexta-mcp (headless) on the registry.

View package CH-03

Docker Hub

safiyu/kontexta — official image.

Pull image CH-04

Glama

MCP directory listing.

View on Glama CH-05

Peerlist

Launched on Peerlist Launchpad.

View on Peerlist