Ruflo
Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
Beschreibung vom Entwickler (englisches Original)
Durable AI memory: recall distilled facts in a later session or subagent, and remember new ones.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
3/3 Prüfungen bestanden · Was du fragst, läuft über den Server des Anbieters (mcp.khwan.ai)
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude, aber erst etwas vorbereiten
Die Adresse enthält {…}-Teile, die du erst durch deine eigenen ersetzt · Einmal auf claude.ai oder in der Desktop-App einrichten, dann im Chat nutzen · kostenlose Konten können 1 hinzufügen
CustomizeConnectors
Kopiere jeden Wert in das gleichnamige Feld in Claude und klicke Continue
Khwanhttps://mcp.khwan.ai/mcp/{core}/{user}Authentication so lassen, wie Claude es erkannt hat, dann Add klicken
+ConnectorsKhwan
Nutze Khwan und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es Khwan nutzt, oder ein Werkzeug von Khwan in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit ChatGPT nur in Firmen-Tarifen
ChatGPT Business, Enterprise oder Edu im Web, hinzugefügt von Admin oder Inhaber des Workspace · Mit Free, Plus oder Pro: Dein ChatGPT-Tarif kann MCP noch nicht selbst verbinden · Die Adresse enthält {…}-Teile, die du erst durch deine eigenen ersetzt
Plugins+Add custom MCP server
Namen eingeben, Adresse unter Connection einfügen, Risikohinweis abhaken und Create as a plugin klicken
Khwanhttps://mcp.khwan.ai/mcp/{core}/{user}Neuen Chat öffnen und vor dem Tippen Khwan aus deinen Plugins wählen
Nutze Khwan und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn ChatGPT sagt, dass es Khwan nutzt, oder ein Werkzeug von Khwan in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von OpenAI abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Claude Code, aber erst etwas vorbereiten
Die Adresse enthält {…}-Teile, die du erst durch deine eigenen ersetzt
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --transport http khwan 'https://mcp.khwan.ai/mcp/{core}/{user}'Khwan sollte in der Liste als verbunden erscheinen
Nutze Khwan und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es Khwan nutzt, oder ein Werkzeug von Khwan in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor, aber erst etwas vorbereiten
Die Adresse enthält {…}-Teile, die du erst durch deine eigenen ersetzt
~/.cursor/mcp.json
Diese Einstellungen einfügen, leere Werte ausfüllen und speichern
{
"mcpServers": {
"khwan": {
"url": "https://mcp.khwan.ai/mcp/{core}/{user}"
}
}
}Nutze Khwan und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es Khwan nutzt, oder ein Werkzeug von Khwan in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code, aber erst etwas vorbereiten
Die Adresse enthält {…}-Teile, die du erst durch deine eigenen ersetzt
MCP: Open User Configuration
Diese Einstellungen einfügen, leere Werte ausfüllen und speichern
{
"servers": {
"khwan": {
"type": "http",
"url": "https://mcp.khwan.ai/mcp/{core}/{user}"
}
}
}Nutze Khwan und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es Khwan nutzt, oder ein Werkzeug von Khwan in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach
Adresse für Apps, die über das Web verbinden
https://mcp.khwan.ai/mcp/{core}/{user}JSON-Einstellungen stehen unten unter „Für Entwickler“
Claude Code
claude mcp add --transport http khwan 'https://mcp.khwan.ai/mcp/{core}/{user}'Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"khwan": {
"url": "https://mcp.khwan.ai/mcp/{core}/{user}"
}
}
}VS Code (mcp.json)
{
"servers": {
"khwan": {
"type": "http",
"url": "https://mcp.khwan.ai/mcp/{core}/{user}"
}
}
}Claude Code
claude mcp add khwan --env KHWAN_API_KEY=your-value --env KHWAN_CORE=your-value --env KHWAN_USER=your-value --env KHWAN_BASE_URL=your-value -- uvx khwan-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"khwan": {
"command": "uvx",
"args": [
"khwan-mcp"
],
"env": {
"KHWAN_API_KEY": "your-value",
"KHWAN_CORE": "your-value",
"KHWAN_USER": "your-value",
"KHWAN_BASE_URL": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"khwan": {
"command": "uvx",
"args": [
"khwan-mcp"
],
"env": {
"KHWAN_API_KEY": "your-value",
"KHWAN_CORE": "your-value",
"KHWAN_USER": "your-value",
"KHWAN_BASE_URL": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"khwan": {
"type": "stdio",
"command": "uvx",
"args": [
"khwan-mcp"
],
"env": {
"KHWAN_API_KEY": "your-value",
"KHWAN_CORE": "your-value",
"KHWAN_USER": "your-value",
"KHWAN_BASE_URL": "your-value"
}
}
}
}KHWAN_API_KEY geheim erforderlich envKHWAN_CORE envKHWAN_USER envKHWAN_BASE_URL envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
pypi: khwan-mcpBasierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Verbinden sich über das Internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Laufen auf deinem Computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Die Adresse braucht deine eigenen Werte, deshalb können wir die Tool-Liste nicht für dich lesen.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 11. Nov. 2026
Der Registry-Name wurde über die Domain khwan.ai bestätigt (die Registry prüft, wem die Domain gehört)
Code zuletzt geändert: vor 3 Monaten
Nutzt MIT
Die Adresse braucht Werte aus deinem eigenen Konto, deshalb können wir sie nicht für dich prüfen
Die Adresse braucht Werte aus deinem eigenen Konto, deshalb können wir sie nicht für dich prüfen
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: KHWAN_API_KEY
Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.
Das GitHub-Repo wurde zuletzt vor 3 Monaten geändert, und die neueste Version (0.3.12) kam vor 3 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL und funktioniert daher auch in Apps mit Remote-MCP, etwa ChatGPT Business und höher.
In derselben Kategorie: Ruflo, Context7, Metabase
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Durable memory that survives the session. An MCP server that plugs Khwan — a pure AI-memory layer — into Claude Code, Claude Desktop, or any MCP client.
Khwan never runs *your* model. The client is the model. Its job is to persist and distil what matters into a brain you can recall in a later session or seed a subagent with — a compact, bounded set of facts instead of a replayed transcript. One account can hold many isolated cores (brains), and — on paid plans — an isolated sub-brain per end-user.
Nothing on the read or write path costs you an inference call: khwan_recall and khwan_remember make none. Khwan does run one model of its own, on a schedule — a nightly pass that distils stored turns into standing lessons. A real production run was 8 brains and 245 stored turns distilled into 11 lessons, for $0.0094. That pass is Khwan's cost, not yours, and it is the whole difference from memory layers that compress, graph, or consolidate on every turn.
Be honest about the mechanism — an MCP adds to a host's context, it cannot replace the transcript the host already sends. So:
The token-smart pattern: seed once, remember durable facts (below), rather than running the full loop on every turn of a caching host. The full prepare → record loop still shines in a custom agent on a non-caching host, where replacing history with distilled memory bounds per-turn cost directly.
pip install khwan-mcp # or: uvx khwan-mcp
claude mcp add khwan --scope project \
-e KHWAN_CORE=default \ -- khwan-mcp
--scope project writes .mcp.json into the repo, so the setting travels with the project. Note what is not in that command: the key.
claude mcp add -e KHWAN_API_KEY=… writes the literal value into .mcp.json — a file whose whole point is being committed. Two ways to avoid that, and the second is the one that works everywhere:
Shell environment. Leave KHWAN_API_KEY out of the config entirely and export it in the shell that launches claude. The server inherits it.
export KHWAN_API_KEY=kwk_live_xxx
A launcher (works in the desktop app too). A desktop app is started from a dock or menu, not a login shell, so it inherits none of your shell exports and the approach above silently yields no key. Read it from a file instead:
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
Then point the config at the launcher and keep only non-secret settings inline:
claude mcp add khwan --scope project \
-e KHWAN_CORE=acme -e KHWAN_USER=Web \ -- ~/.khwan/khwan-mcp
.mcp.json is now safe to commit, and every new repo costs two lines instead of a pasted key. Anyone else on the team writes their own ~/.khwan/env.
Memory is only useful if the right project's memory comes back. Two axes, and both give complete isolation:
| selected by | free | paid | |
|---|---|---|---|
| core | KHWAN_CORE | 1 — default only | 5 (starter) → 25 (pro) |
| sub-brain | KHWAN_USER | 3 | unlimited |
A sub-brain is a full separate brain, not a filter: account::@web shares nothing with account::@api. So the two axes multiply, and a free account already holds four isolated brains — the core on its own, plus three sub-brains:
account default core, no KHWAN_USER brain 1
account::@web KHWAN_USER=web brain 2 account::@api KHWAN_USER=api brain 3 account::@docs KHWAN_USER=docs brain 4
Which means one-brain-per-project works on the free plan, for up to four projects — and it needs no `KHWAN_CORE` at all:
# in ~/code/web
claude mcp add khwan --scope project -e KHWAN_USER=web -- ~/.khwan/khwan-mcp
claude mcp add khwan --scope project -e KHWAN_USER=api -- ~/.khwan/khwan-mcp
Named cores are the paid axis. Reach for one when four brains stop being enough, or when you want them grouped per client rather than per repository:
# in ~/code/acme-web
claude mcp add khwan --scope project -e KHWAN_CORE=acme -e KHWAN_USER=Web -- ~/.khwan/khwan-mcp
claude mcp add khwan --scope project -e KHWAN_CORE=acme -e KHWAN_USER=Api -- ~/.khwan/khwan-mcp
Two things to know before you point KHWAN_CORE anywhere. A core must exist first — an unknown slug answers 404, not "created it for you" — and they are created in the dashboard. On the free plan there is nothing to point at: the cap of one is spent on default, so creating a named core answers 402. Leave KHWAN_CORE unset there and use KHWAN_USER. Sub-brains, by contrast, are created on first write.
On a caching host like Claude Code, prefer seed + remember over the per-turn loop:
"Call
khwan_recall(query=" ")and use the returnedseed_textas
context."
"That's a standing decision — call
khwan_remember(fact="…")."
Reinforce it in your project's CLAUDE.md, e.g.:
- At the start of a task, call `khwan_recall` to seed relevant memory.
khwan_remember.
Seeding a subagent is where the win is clearest — hand it a bounded brief instead of the whole transcript:
"Recall deploy memory with
khwan_recall(query="deploy runbook"), then spawn a
subagent whose brief is that
seed_textplus the task."
Claude Desktop and Claude Code keep separate MCP configuration — a server added to one is invisible to the other, and claude mcp add does not touch this file. Add to claude_desktop_config.json:
{
"mcpServers": { "khwan": { "command": "/Users/you/.khwan/khwan-mcp", "env": { "KHWAN_CORE": "acme", "KHWAN_USER": "Web" } } } }
Use an absolute path: a desktop app does not get your shell's PATH either, so a bare khwan-mcp may not resolve. One core is selected for the whole app — there is no per-project switch here, so choose a broad one.
| Var | Required | Purpose |
|---|---|---|
KHWAN_API_KEY | yes | Your key from the Khwan dashboard (kwk_live_…). |
KHWAN_CORE | no | Select a named core. Paid plans only — free has just default. |
KHWAN_USER | no | A separate brain inside the core — 3 on free, unlimited on paid. |
KHWAN_BASE_URL | no | Override the API base — e.g. http://127.0.0.1:8010 for a local engine. |
| Tool | When |
|---|---|
khwan_recall(query, limit=3) | seed a session/subagent — synthesised lessons + up to 3 relevant facts, as seed_text. |
khwan_remember(fact) | persist a durable fact/preference for future sessions. |
khwan_prepare(input) | full loop, before answering — memory context + a turn_token. |
khwan_record(turn_token, answer) | full loop, after answering — persists the turn so Khwan learns. |
khwan_memory(limit=20) | inspect what the brain currently remembers. |
khwan_cores() | list the isolated cores on the account. |
khwan_recall / khwan_remember are the token-smart pair for a caching host; khwan_prepare / khwan_record are the full loop for custom agents (pass the exact turn_token from prepare back into record).
khwan_recall returns at most three facts — that ceiling is the server's, so limit can lower it but not raise it — plus any lessons synthesis has distilled from many past turns. Lessons lead the seed_text: a rule earned over months outranks a single turn that happens to sit nearby in the index.
Retrieval applies a relevance floor, so an empty `facts` is an answer: the brain has nothing close to this question. Read it as "not known here" rather than as a failure, and do not fill the gap by leaning on whichever fact was nearest.
The floor is deliberately loose, because a memory wrongly dropped is invisible while a memory wrongly kept is not. Expect a returned fact to be *plausibly* related, not certainly relevant — read it before relying on it.
A new brain knows nothing, so its first weeks of recall are thin — while the answers are often already sitting in the host's own transcripts, unread. examples/backfill/ replays Claude Code transcripts into a brain: deterministic, no model calls, dry-run by default.
python3 examples/backfill/backfill_claude_code.py --map cores.json
The tools above are called *when Claude decides to*. For deterministic memory — no reliance on the model — use the hook preset in examples/claude-code-hooks/: a UserPromptSubmit hook injects memory on every prompt and a Stop hook records every answer.
⚠️ On a caching host this is the *thorough* option, not the *cheap* one — it
adds per-turn tokens. Prefer it when recall reliability matters more than token
cost (or on a non-caching client); otherwise use
khwan_recallat session
start.
github.com/khwanlabs/khwan-mcp — this server runs on your machine, with your key, reading what you type. Read it before you install it.
MIT — © Khwan Labs. See LICENSE.