The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Kortexio Memory listing page.
Get Cloud key · Self-host · Docs · Demo
Your agent forgets. Fix that with memory you can open like a wiki.
One OpenAI-compatible /v1 URL: wiki memory, agentic tool loop, skills/guardrails, MCP, sandbox, and HITL —
self-hosted or Cloud. Not a vector black box. Not classic RAG inject.
ContextMemory is the open-source agentic memory gateway behind Kortexio.
Your app (or Cursor/Claude) keeps talking to a normal chat API. The gateway:
chat.completions response (streaming supported)Honest boundaries: this is a gateway + server-side harness, not a client agent framework (LangGraph/CrewAI) and not an agent OS (Letta). You keep your OpenAI client; the loop runs on the server.
How we compare (Mem0 / Zep / Letta / why we are not RAG): docs/compare.md.
| You need… | ContextMemory provides… |
|---|---|
| Memory that survives turns without rewriting your client | Session markdown wiki + history inject; send only the new message |
| Memory you can open, edit, audit | Files on disk / Postgres — not opaque embeddings |
| Shared company/docs knowledge in chat | Global Wiki digests + on-demand wiki_search / wiki_grep (not classic RAG / embeddings) |
| Point-in-time facts | Temporal revisions (asOf / supersede) on Global Wiki |
| Tools without a second orchestrator | Same /v1: sandbox + MCP integrations + wiki tools |
| Safer agents | Skills & guardrail packs, validators, confirmation keywords, HITL [CONFIRM:id] |
| Cursor / Claude permanent memory fast | MCP wedge: memory_save / memory_search / memory_get (+ wiki_search, session_recall) |
| Any LLM per tenant | Ollama, vLLM, LM Studio, OpenAI, Azure-compatible /v1, custom |
| Operate without writing a test client | Admin + Playground (timeline, todos, artifacts, HITL) |
| Full control on your infra | Docker/Compose self-host (API + Admin + mcp-runtime + sandbox) |
| Zero ops | Kortexio Cloud (cmk_live_…) |
MaxContextTokensbasePersona, businessRules, formatRules, wikiSchema per appwiki_search / wiki_grep; revisions / audit / asOfWhen agentic tools are enabled, the gateway runs a tool loop:
wiki_search, wiki_grep; sandbox shell_execute / python_execute / node_execute / container_execute (self-hosted or ACA); discovery helpers (artifact_*, skill_*, rule_*, tool_describe, session_log_search, delegate_task, todo_write)tool_describe for full argsartifactIddelegate_task (depth 1, isolated child session)server__tool), allow/deny, max tools per turn, OAuth/credentialsdeterministic · hybrid · llm-judge[CONFIRM:id] / cancel; checkpoint in session logcontext_memory.agentic phases (incl. Compacting / Subagent*) + context_memory.discovery countersauto / ollama / openai / claude / qwen / composer.skill.json / .guardrail.jsonskill | always_on | requestable (rules loaded via rule_search / rule_read)| Direction | Role |
|---|---|
| Outbound wedge | Cursor/Claude → ContextMemory (mcp-server/) for memory tools |
| Inbound catalog | ContextMemory agent → your MCP servers (HTTP/stdio via mcp-runtime, OAuth, catalog rebuild) |
Blazor Admin (:5200, Master Key auth) — operators configure tenants without touching JSON by hand:
| Area | What you configure / do |
|---|---|
| Dashboard | Apps, requests, wiki/web-search stats |
| New app / credentials | Register tenant, mint/rotate cm_live_… |
| Playground | Chat Lab: agentic timeline (Compacting/Subagent), Todos, Artifacts, wiki refs, HITL |
| LLM | Backend, model, endpoint, API key, history, streaming, think |
| Memory & wiki | Session budgets, compaction, maintainer model, Global Wiki on/off + char budget |
| Web search | Provider, mode, persist-to-wiki |
| Rate limits | RPM/TPM (+ agentic weight) |
| Persona & rules | Persona, business/format rules, wiki schema |
| Agentic | Full gateway knobs: tools, MCP, sandbox, validators, HITL, egress |
| Skills & policies | Platform + per-app skills/guardrails |
| Settings | API base URL, Master Key, health |
Guide: docs/admin-ui.md · HITL: docs/hitl.md
Docker Compose brings up a full local platform:
| Service | Role |
|---|---|
API (:5100) | Gateway /v1, admin APIs, metrics |
Admin (:5200) | Operator UI |
| mcp-runtime | Stdio/HTTP MCP sidecar |
| sandbox-runtime | Isolated shell/python/node execution |
Persistence: File (single-node) or Postgres (HA + FTS). Images: ghcr.io/kortexio/contextmemory · ghcr.io/kortexio/contextmemory-admin.
Prometheus /metrics · OpenTelemetry (Aspire) · per-app telemetry in Admin.
Default demo points at Ollama on the host. Swap the backend anytime in Admin → Config → LLM or PATCH /admin/apps/{id}/config.
Full stack (API + Admin + MCP + sandbox): see docs/self-host.md / docker-compose.yml.
Admin UI: typically http://localhost:5200.
No Docker? Use Kortexio Cloud (cmk_live_…) and set CONTEXTMEMORY_BASE_URL to the cloud API.
Paste into Cursor → Settings → MCP (or ~/.cursor/mcp.json). Same snippet works for Claude Desktop. Details: mcp-server/README.md.
| Chat | You say | Agent should |
|---|---|---|
| A | Remember: staging DB is postgres-staging-01 | memory_save |
| B (new) | What is our staging DB? | memory_search + answer |
CLI: ./scripts/aha-demo.sh or .\scripts\aha-demo.ps1 · storyboard: docs/aha-demo.html
| Kortexio Cloud | Self-host (this repo) | |
|---|---|---|
| Best for | Zero ops | Full control (API + Admin + MCP + sandbox) |
| Key | cmk_live_… (no X-App-Id) | cm_live_… + X-App-Id |
| Chat body | Identical OpenAI /v1 | Identical OpenAI /v1 |
Thin header helpers (not full SDKs): @kortexio/contextmemory · kortexio-contextmemory
| Doc | Topic |
|---|---|
| docs/compare.md | Why it exists · vs Mem0 / Zep / Letta · why we are not RAG |
| docs/architecture-and-features.md | Wiki, temporal facts, agentic, skills |
| docs/admin-ui.md | Admin UI map |
| docs/hitl.md | Human-in-the-loop |
| docs/api.md | HTTP API |
| docs/cloud.md · docs/self-host.md | Cloud · Docker / Compose |
| docs/ops.md | Ops & troubleshooting |
| docs/README.md | Full docs index |
Website: kortexio.io · Email: hello@kortexio.io
AGPL-3.0 for this open-source core. Commercial / hosted offerings: kortexio.io. See docs/license-and-support.md.