Kortexio Memory

io.kortexioPublished by kortexio.ioOfficial publisherv1.0.0Updated Nov 2, 2026

Hosted ambient memory for AI agents. Retrieve context and save notes via MCP tools with OAuth.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryAI & ML

Overview

AI-generated overview

Hosted ambient memory for AI agents: save notes and retrieve context across chats through MCP tools, with OAuth sign-in.

What you can do
  • Save notes and memories from a conversation so they persist beyond a single chat session
  • Search and fetch stored memories to recall earlier context in a new session
  • Keep session memory as readable markdown wiki pages plus history, rather than opaque embeddings
  • Optionally use a shared global wiki with search and grep over company or docs knowledge
  • Run an agentic tool loop with sandbox, MCP catalog, skills, guardrails and human confirmation before destructive actions
When to use it
Useful when you want an assistant such as Cursor or Claude to remember facts, decisions or environment details between separate chats without rewriting the client. Also relevant if you want a self-hosted memory gateway in front of an OpenAI-compatible model server.
Requirements
The hosted endpoint is a remote streamable HTTP service at mcp.kortexio.io with OAuth sign-in; no package or environment variables are declared. The self-hosted option in the README needs Docker Compose, a local OpenAI-compatible LLM engine such as llama.cpp, vLLM or Ollama, and an API key plus app identifier for the gateway.
Before you install
The hosted service stores whatever the assistant saves, so avoid putting secrets or sensitive data into memories. Self-hosting requires setting a master key and per-app API keys, and the README shows placeholder values that must be changed. The gateway can run tools, a sandbox and MCP servers on the server side, and destructive actions are only gated by an optional human-confirmation step.

Installation

In SourceWeft

  1. Open Kortexio Memory in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Follow the launch instructions in the repository.

README

[Kortexio ContextMemory — Memory you can open as a wiki]

Try it (3 commands) · Engines · Docs · vs Mem0 / Zep / Letta

[License: AGPL-3.0] [.NET 9] [Docker GHCR] [Docker CI] [Tests] [e2e: llama.cpp]

Self-hosted memory gateway for your llama.cpp / vLLM server.

Put one OpenAI-compatible /v1 URL in front of your engine. Your client sends only the new message; the gateway keeps session memory as markdown you can open, edit, and diff. No vector DB, no client rewrite.


Try it in three commands

bash
git clone https://github.com/Kortexio/ContextMemory.git && cd ContextMemorydocker compose -f docker-compose.yml -f docker-compose.llamacpp.yml up --build -d   # CPU; GPU: docker-compose.vllm.yml./scripts/aha-chat.sh                                                             # Windows: .\scripts\aha-chat.ps1

aha-chat sends two requests in the same session. The second one carries only the new question:

text
==> Turn 1: "Remember this for later: our staging database host is postgres-staging-01."==> Turn 2: "What is our staging database host?"   (no history in the request body)AHA OK — the client sent no history; the gateway remembered 'postgres-staging-01'.

The same check runs in CI against a real llama-server on every push (e2e-llamacpp). First start downloads a ~2 GB GGUF; pick another model with LLAMACPP_HF_MODEL (Engines). Admin UI: http://localhost:5200.


What is ContextMemory?

ContextMemory is the open-source agentic memory gateway behind Kortexio.

Your app (or Cursor/Claude) keeps talking to a normal chat API. The gateway:

  1. Authenticates the tenant and attaches session wiki + history
  2. Runs an agentic tool loop when tools are enabled (wiki search, sandbox, MCP, …)
  3. Applies skills, guardrails, validators, and optional HITL before destructive actions
  4. Returns a standard OpenAI-shaped chat.completions response (streaming supported)
Your client (OpenAI SDK / Cursor MCP / curl)        │        ▼  POST /v1/chat/completions┌────────────────────────────────────────────┐│  ContextMemory (.NET 9)                    ││  Auth · session wiki · Global Wiki tool    ││  Agentic loop · skills · guardrails · HITL ││  LLM backend (per app — BYO engine)        │└───────┬──────────────────┬─────────────────┘        ▼                  ▼ sandbox-runtime      mcp-runtime / MCP servers (shell/python/node)  (HTTP + stdio, OAuth) or Azure ACA sessions

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.

LLM engines: ContextMemory does not ship or lock to one inference stack. Per tenant you pick any OpenAI-compatible /v1 host — Ollama, vLLM, LM Studio, ExLlamaSharp, OpenAI, Azure-compatible, LiteLLM, custom. Compose ships llama.cpp and vLLM overrides; swap engines per app in Admin → Config → LLM.

How we compare (Mem0 / Zep / Letta / why we are not RAG): docs/compare.md.


What it gives developers

You need…ContextMemory provides…
Memory that survives turns without rewriting your clientSession markdown wiki + history inject; send only the new message
Memory you can open, edit, auditFiles on disk / Postgres — not opaque embeddings
Shared company/docs knowledge in chatGlobal Wiki digests + on-demand wiki_search / wiki_grep (not classic RAG / embeddings)
Tools without a second orchestratorSame /v1: sandbox + MCP + wiki tools
Safer agentsSkills & guardrail packs, validators, HITL [CONFIRM:id]
Cursor / Claude permanent memory fastMCP wedge: memory_save / memory_search / memory_get
Any LLM per tenantBYO /v1 — Ollama, vLLM, LM Studio, ExLlamaSharp, OpenAI, Azure-compatible, custom
Operate without a test clientAdmin + Playground
Full control / zero opsDocker self-host · Kortexio Cloud (cmk_live_…)

Capabilities (summary)

Full detail: docs/architecture-and-features.md · Admin: docs/admin-ui.md · HITL: docs/hitl.md.

AreaHighlights
MemorySession wiki + rolling summary; history budgets; Global Wiki digests/FTS/revisions (asOf); no vector RAG
AgenticServer-side tool loop; sandbox; MCP catalog; artifacts; subagents; validators; HITL; egress policy
SkillsPlatform + per-app skills/guardrails (skill / always_on / requestable)
MCPOutbound wedge (Cursor → CM) · inbound catalog (CM → your MCP servers)
OpsAdmin UI · File or Postgres · Prometheus /metrics · Compose (API + Admin + mcp-runtime + sandbox)

[ContextMemory Admin dashboard]

[LLM backend picker]   [Admin Playground]


More ways to run

The gateway talks OpenAI-compatible /v1 to the engine (and Ollama native /api/chat when you need num_ctx). Change the engine anytime in Admin → Config → LLM or PATCH /admin/apps/{id}/config.

Engine already running (llama-server, vLLM, LM Studio, …) — API image only

bash
docker run --rm -p 5100:8080 \  -v contextmemory-data:/app/data \  -e ContextMemory__MasterKey=cm_master_dev_key_change_me \  -e ContextMemory__Apps__demo-dev__ApiKey=cm_live_dev_key_change_me \  -e ContextMemory__Apps__demo-dev__LlmBackend=openai-compatible \  -e ContextMemory__Apps__demo-dev__LlmModel=local-model \  -e ContextMemory__Apps__demo-dev__LlmEndpoint=http://host.docker.internal:8080 \  --add-host=host.docker.internal:host-gateway \  ghcr.io/kortexio/contextmemory:latest

Host-level default for all apps: ContextMemory__LlmEndpoint. Ollama on the host works too (ContextMemory__LlmEndpoint=http://host.docker.internal:11434). Engine flags that matter (llama.cpp --jinja, vLLM tool parser): Engines. Full stack (API + Admin + MCP + sandbox): docs/self-host.md.

Cursor / Claude memory (MCP)

bash
git clone https://github.com/Kortexio/ContextMemory.gitcd ContextMemory/mcp-server && npm install && node print-mcp-config.mjs

Paste into Cursor → Settings → MCP (or ~/.cursor/mcp.json). Same snippet works for Claude Desktop. Details: mcp-server/README.md.

Then, in two separate chats:

ChatYou sayAgent should
ARemember: staging DB is postgres-staging-01memory_save
B (new)What is our staging DB?memory_search + answer

Same flow without Cursor (wiki API, no LLM): ./scripts/aha-demo.sh or .\scripts\aha-demo.ps1.

No GPU, no ops: Kortexio Cloud

Kortexio CloudSelf-host (this repo)
Best forZero opsFull control (API + Admin + MCP + sandbox)
Keycmk_live_… (no X-App-Id)cm_live_… + X-App-Id
Chat bodyIdentical OpenAI /v1Identical OpenAI /v1
LLMBYO provider in dashboardBYO engine in Admin / env

Guides: Cloud · Self-host

Chat drop-in

bash
curl -X POST http://localhost:5100/v1/chat/completions \  -H "Content-Type: application/json" \  -H "X-App-Id: demo-dev" -H "X-User-Id: user-42" -H "X-Session-Id: sess-abc" \  -H "Authorization: Bearer cm_live_dev_key_change_me" \  -d '{"model":"local-model","messages":[{"role":"user","content":"Hello"}]}'

Thin header helpers (not full SDKs): @kortexio/contextmemory · kortexio-contextmemory


Documentation & support

DocTopic
docs/compare.mdWhy it exists · vs Mem0 / Zep / Letta · why we are not RAG
docs/architecture-and-features.mdWiki, temporal facts, agentic, skills, LLM backends
docs/admin-ui.mdAdmin UI map
docs/hitl.mdHuman-in-the-loop
docs/api.mdHTTP API
docs/cloud.md · docs/self-host.mdCloud · Docker / Compose
docs/ops.mdOps & troubleshooting
docs/README.mdFull docs index

Website: kortexio.io · Email: [email protected]


License

AGPL-3.0 for this open-source core — self-host it freely, including commercially. Need to embed it in a closed-source product without AGPL obligations? Use Kortexio Cloud or a commercial license. See docs/license-and-support.md.

Source: README.md at commit 303e693

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts