Skip to main content
Glama

khwan-mcp

Dauerhafhaltens, das die Sitzung überdauert. Ein MCP-Server, der Khwan – eine pure KI-Erinnerung-schict – in Claude Code, Claude Desktop oder einem andern MCP-Client eibindet.

Khwan andert selbst nie ein Model. Der Client ist das Model. Seine Aufgabe ist es, das Wichtige zu speichern und zu destillieren, in ein Gehirn, das du in a späten Sitzung abrufenn oder einem Status bringen können – a komakti, begrenzte Faktenm men statt einem rewiederwwying Transkript abgepielt. Ein Konto kann viee isielerte Cores (Gehirne) enthalten und und – bei bezahlten Pän–t a unbegrezten Sub–Brain per Benutzer.

Wair: must contain the comments exactly as they are? Actually the text is not to be translated? Wait, the comment contains source. We must translate prose inside raw HTML, but preserve technicals. So we'll write the comment in German: "Die Personen, ..." However, it must remain inside <!-- ... -->. We'll do:

Now ** "## So deutlich spart es tokens (Hirte)" **

Let's compose the whole final in one go.

I'll output currently.# khwan-mcp

Dauerhaftes Gedächtnis, das die Sitzung überdauert. Ein MCP-Server, der Khwan – eine reine KI-Memory-Schicht – in Claude Code, Claude Desktop oder einen beliebigen MCP-Client einbindet.

Khwan führt selbst nie ein Modell aus. Der Client ist das Modell. Seine Aufgabe ist es, das Wesentliche zu persistieren und in ein Gehirn zu destillieren, das du in einer späteren Sitzung abrufen oder einem Subagenten mitgeben kannst – eine kompakte, begrenzte Faktenmenge statt eines wiedergebenen Transkripts. Ein Konto kann viele isielerte Cores (Gehirne) enthalten und – auf bezahlten Plänen – ein isoliertes Sub-Gehirn pro End-benutzer.

So spart es Tokens (und wo nicht)

She is honest about the mechanism – ein MCP ergänzt den Kontext eines Hosts, can the Transkript, the Hreits send detektiv nicht ersetzen!

  • *Innerhalb einer aktiven Sitzung spart es keine Tokens. Claude Code caches den climbenden Verlauf (cache reads ≈ 0,1×), also das erneut the erinnert a full turn, still emitted. Mach das hier nicht.

  • Sitzungsübergreifend und bei Subagenten spart es. Ein Cache stirbt nach a few minutes; eine Sitzung endet. Khwan speichert destillierte Fakten, da der nächste Lauf sie günstig abrufen kann – keine Kalt-Wiedergabe eines alten Transkripts und Fakten, die bereits aus dem Kontext falten sind, werden wieder abrufbar.

Das Token-sparende Muster: einmal seeden und dauerhafte Fakten merken (weiter unten) – restatt die volle Schleife des Hosts every turn. Die vollständige prepare → record- Schleife zeigt ihre Stärke dagegen in einem eigenen Agenten auf einem nicht dachenden Host, wo das Ersetzen des Verlaufs durch destilliertes Gedächtnis er unmittelbar die Token – Kosten pro Runde begrenzt.

Related MCP server: LedgerMem MCP Server

Installation

pip install khwan-mcp          # or: uvx khwan-mcp

Mit Claude Code verbinden

claude mcp add khwan --scope project \
  -e KHWAN_CORE=default \
  -- khwan-mcp

--scope project schreibt .mcp.json in das Repo, so die Einstellung mit dem Projekt mitzieht. Beachte, was nicht in diesem Befehl steht: der Schlüssel.

Den Schlüssel aus within the repo:

claude mcp add -e KHAN_API_KEY=… schreibt den wörtlichen Wert in .mcp.json – eine Datei, deren wesentlicher Weis Zweck das Ist, committet zu werden. Zwei Möglichkeiten, das zu vermeiden, und das zweite is die, die üere all funktioniert:

**Shell-**Umgebung. Lasse KHAN_API_KEY ganaus der Konfiguration aus und exportierere in der Shell, die claude startet. Der Server erbt ihn.

export KHWAN_API_KEY=kwk_live_xxx

Ein Launcher (funktioniert in the Destop-App). Eine Desktop-App wird über ein Dock or Menü, einem login-Shell, so inherited no shey deiner Shell-Exports and the obige Ansatz liefert stillschweigend keinen Schlüs. Lies ihn stattd aus einer Datei:

mkdir -p ~/.khwan && chmod 700 ~/.khwan
printf 'KHWAN_API_KEY=kwk_live_xxx\n' > ~/.khwan/env && chmod 600 ~/.khwan/env

cat > ~/.khwan/khwan-mcp <<'SH'
#!/bin/sh
set -a
[ -f "$HOME/.khwan/env" ] && . "$HOME/.khwan/env"
set +a
exec khwan-mcp "$@"
SH
chmod 700 ~/.khwan/khwan-mcp

Richte die Konfiguration denn auf den Launcher us and impord behal te nur die non-geheiden (?) Einstellungen in der Konfiguration:

claude mcp add khwan --scope project \
  -e KHWAN_CORE=acme -e KHWAN_USER=Web \
  -- ~/.khwan/khwan-mcp

.mcp.json ist jetzt unbedern committet, and jedes neue Repo kostet zwei Zeilen statt eing“pasted. Jeder and auf Team schreibt seine own ~/.khwan/en.

Ein Gehirnes pro Projter

Die Erinterung is nur dann nüzlich, wenn die Erinnerung of the richtigen Projects zurükkommen. Zwei Els wurde, and beiden vollständig isoierung:

ausgewählt durch

Kosten

Core

KHAN_CORE

einer deiner Cores im Plan

Sub-Brain

KHAN_USER (mit eine Core)

absolut nichts – unbegrenzt auf bezahlten Tarifen

Ein Sub-Brain ist ein vollständige getrenntes Gehirn, kein Filter: account::acme::@Web teilt nichts mit account::acme::@Api. So ein Client mit mehreren Repoistories kann ein Core mit einem Sub-Bain per Repo seja – statt je Repo nony.

# in ~/code/acme-web
claude mcp add khwan --scope project -e KHWAN_CORE=acme -e KHWAN_USER=Web -- ~/.khwan/khwan-mcp
# in ~/code/acme-api
claude mcp add khwan --scope project -e KHWAN_CORE=acme -e KHWAN_USER=Api -- ~/.khwan/khwan-mcp

Cores müssen existieren, sich; ein unknown Core antwortet 404. Erstelle sie in Dashboard. Sub-Brains than beim ersten Schreiten creat.

Empfohlenes Muster (token-sparend)

Auf einem Part-Cache-Host woh Claude Code:Setze Seede + Remember der vollen Jede–turn Schleife bevorzold:

  1. Seede zum Beginn einer Sitzung oder Subagent:

    „Rufe khwan_recall(query="<die Aufgabe>") auf und verwende the rücunde seed_text as Kontext.“

  2. Me e dauerhafte Fakte, sobald sie auftuchten:

    „Das is here a grundlegendes, Standing – rufe khwan_remembember(fact="…").

Verankere das in deiner CLAUDE.md, zum Beipiel:

- At the start of a task, call `khwan_recall` to seed relevant memory.
- When a durable decision/preference/fact emerges, call `khwan_remember`.
- Don't call prepare/record every turn — it adds tokens without saving them here.

Einen Subagenten se is undoubtedly the klare Gewinn: Statt of the whole transcript* a briefed Briefingey.

„Rufe deployment hi – dejen emember use khwan_recall(query="deploy runbook")auf und demose**leeinen Subagent with theseed_text` in zun mit der Aufgabe.

Mit Claude Desktop verbinden

Claude Desktop and Claude Code have separate – eiene MCP-Konfiguration: einem Server, der einer der zugefügg, is der andren unsichtbar, and claude mcp add berüht diese Dat. In claude_desktop_config.json mon to:

{
  "mcpServers": {
    "khwan": {
      "command": "/Users/you/.khwan/khwan-mcp",
      "env": {
        "KHWAN_CORE": "acme",
        "KHWAN_USER": "Web"
      }
    }
  }
}

Verwende einen absoluten Pfad: Desktop – die get shell’s Path nicht, so a papbra net khwan-mcp möglicherweise ni auflösen. For die gesamte App wird in Core rich** ausw wert – no popbjekt.

Konfiguration (Umgebung)

UMWAR

Erforderlich

Weck

KHAN_API_KEY

Ja

Dein Key from the Khwan-Dashboard (kw_live_…).

KHAN_C_ORE

Nein

Wähle is elierte Core/Gedhirn (Standard: Standarde-Default Core des Kon).

KHAN_U_USER

Nein

Isoliertes Sub-Brain pro End-benutzer (bezahlten Pläne); set " X-Khwan-User„.

KHAN_NASE_URL

Nein

Ersebase the API–basis z.B. http://127.0.0.1:8010 for a lokale Engine.

Tools

Tool

Einsatz /

khwan_recall(query, limit=3)

See** a the "session* "

khwan_remember(fact)

speichert a durable fact/präferenz for the future.

khwan_prepare

– volle Schleife , die Before – memory kontext + status_token:

khwan_record(turn_token, ans)

– volle Schleife gleich Answer – speichert the turn so Khwan lernt.

khwan_memory(limit=) for

inspekt, prefold h current.

khwan_cores()

licts the isoelect Cores** from dem Konto.

khwan_recallkhwan_remember is the token-sparende Paar for "esse" – purchsists khwan_prepare / `khwan_record** enabling.

Was zurückommened, und what passieren:

khwan_recall returt at most h drei Fakten – those "it" this is the server’she, zuwenken, w limit it lets down but not. Wies up – plus any lessons synthesis deserves from the many turns. lessons führen from seed_text: a Regel employee months ett outranks ein einzelnen Turn, der zufällig dem der Index anschließt.

The Abruf is using a relvance – underl, so auf not empty facts**’”, i.e. the G simply has** nothing. That is inex**„hier”; ... , id der valued. Or not ver.

The floor is absichtlich vage**, dederdün** Falsch erinnern is not sichtbar – Falsch gefä wider Middle. Erwtarte that wowalplausibel` related, "not "sicher" – Vor the abwe relying:

Seede‑ eines Gehirns existwerk ready Dar Passirgendes**.

A new Brain new-born** – auch “d early "" Was – die Antworte a examples/backfill/s repeated? – exact "Sör "kos" —, in examples/backfill/ == reconc: deterministic, no Modell – with a doke.

python3 examples/backfill/backfill_claude_code.py --map cores.json

Immer on Gedächtnis (Claude Code Hooks)

The tools are *ine tel – called whenever Claude decides. For Deteiminis.. — no "M" – use the hook preset ["examples" examples/claude-code-hooks/ – “”**: UserPromptSubmithook der AT p| prompt prompt e-Injection,Stop` hook...

💣D before on a *Cache-Hostis the gründige Option, not the chepee** – it „*prer turn tokens. Entscheide for it when "reli”the verlässig is no *„ts"” otherwise **tool "KhTP" khwan_recall at Sitzungsbe.

Quelle

github.com/khwanlabs/khwan-mcp – this Server läuf on deiner machine, with deiner Key “the” – liest ein e**. hinvor du.

Lizenz

MIT – © Khwan Labs. Siehe LICENSE.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

  • Shared long-term memory vault for AI agents with 20 MCP tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/khwanlabs/khwan-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server