AgentStack
MCP verified MIT Self-run

Kodo

mcp-xuan-1998-kodo · by Xuan-1998

Universal persistent memory for AI coding agents. Remember conventions, learn from mistakes, carry context across sessions. Works with Claude Code, Cursor, Kiro, Codex, and any MCP client.

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add mcp-xuan-1998-kodo

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-xuan-1998-kodo)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
27d ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Kodo? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

kōdo (コード)

Universal persistent memory for AI coding agents.

【[English](README.md) | [中文](README.zh-CN.md)】

[](https://docs.anthropic.com/en/docs/claude-code) [](https://cursor.sh) [](https://kiro.dev) [](https://github.com/openai/codex) [](https://modelcontextprotocol.io) [](LICENSE)

> Your AI coding agent forgets everything between sessions. You tell it "use ESM imports" — next session, it's back to require(). You fix a bug caused by missing null checks — next session, same bug. kōdo fixes that.

An agent-agnostic memory layer that stores structured memories — conventions, mistakes, decisions, preferences, patterns — in a local SQLite database, and makes them available to every agent you use. One memory store. Every agent. Zero cloud.

kodo add -t convention -c "Always use ESM imports, never require()"
kodo add -t mistake    -c "Never use process.exit() in library code — throw instead"
kodo learn             # auto-learn from git history
kodo export            # sync to .claude/ .cursor/ .kiro/ .codex/

The Problem: AI's Amnesia

Every AI coding agent starts every session with a blank slate. This means:

| What happens | How it feels | |-------------|-------------| | You correct the agent's code style | It forgets next session | | You explain your architecture decisions | Gone. Every. Time. | | The agent makes a mistake you've seen before | Groundhog Day | | You switch from Cursor to Claude Code | Start over from scratch | | New team member onboards with an agent | Zero institutional knowledge |

kōdo gives your AI agent a persistent, structured, searchable memory that works across every tool.

Live Demo

# Clone and run the demo — see it in action in 30 seconds
git clone https://github.com/Xuan-1998/kodo.git
cd kodo && npm install
bash demo/demo.sh

Demo Walkthrough

Session 1: You teach the agent your conventions.

$ kodo init
✓ kodo initialized at /your-project
  Database: .kodo/memory.db (0 memories)

$ kodo add -t convention -c "Always use ESM imports (import/export), never require()"
✓ Remembered #1 [convention] Always use ESM imports (import/export), never require()

$ kodo add -t mistake -c "Never use process.exit() in library code — throw errors instead"
✓ Remembered #2 [mistake] Never use process.exit() in library code — throw errors instead

$ kodo add -t decision -c "We chose SQLite over Postgres for local-first zero-config storage"
✓ Remembered #3 [decision] We chose SQLite over Postgres for local-first zero-config storage

Session 2: New day. Agent starts fresh. But kōdo remembers.

$ kodo search "import style"
#1 convention Always use ESM imports (import/export), never require() [javascript, imports]

$ kodo search "error handling"
#2 mistake Never use process.exit() in library code — throw errors instead [nodejs, error-handling]

Export to every agent — one command:

$ kodo export
✓ claude → .claude/settings/memory.md (6 memories)
✓ cursor → .cursor/rules/kodo-memory.md (6 memories)
✓ kiro   → .kiro/steering/kodo-memory.md (6 memories)
✓ codex  → .codex/memory.md (6 memories)

Your memories are now baked into every agent's context — even without the MCP server.

Why kōdo?

| Existing tool | Limitation | kōdo's answer | |--------------|-----------|---------------| | claude-mem | Claude Code only | Works with Claude Code, Cursor, Kiro, Codex, any MCP client | | mem0 / OpenMemory | Generic memory, not coding-specific | Typed memories: convention, mistake, decision, preference, pattern, note | | byterover/cipher | MCP-only, no offline export | MCP server + CLI + native config file generation for 4+ agents | | Manual .cursorrules | One agent, manual maintenance | Auto-export to all agents from single source of truth | | Nothing | Most people | kodo learn auto-extracts conventions from git history |

Install

npm install -g kodo-memory

Or run from source:

git clone https://github.com/Xuan-1998/kodo.git
cd kodo && npm install
node bin/kodo.js init

Memory Types

| Type | Use for | Example | |------|---------|---------| | convention | Team/project standards | "Use Conventional Commits" | | mistake | Bugs to never repeat | "Don't forget to close DB connections in finally blocks" | | decision | Architecture choices | "Chose SQLite over Postgres for simplicity" | | preference | Coding style | "Prefer early returns over nested if/else" | | pattern | Reusable solutions | "All API handlers: validate → execute → respond" | | note | General context | "The payments module is being rewritten in Q2" |

MCP Server

kōdo includes an MCP server so AI agents can read and write memories live during a session — the agent can kodo_remember a lesson it just learned, and kodo_recall relevant context before starting a task.

Claude Code

claude mcp add kodo -- node /path/to/kodo/src/mcp-server.js

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "kodo": {
      "command": "node",
      "args": ["/path/to/kodo/src/mcp-server.js"]
    }
  }
}

Kiro

Add to .kiro/settings/mcp.json:

{
  "mcpServers": {
    "kodo": {
      "command": "node",
      "args": ["/path/to/kodo/src/mcp-server.js"]
    }
  }
}

Any MCP Client

Same pattern — point your MCP config at node /path/to/kodo/src/mcp-server.js.

MCP Tools

| Tool | Description | |------|-------------| | kodo_remember | Store a new memory (convention, mistake, decision, preference, pattern, note) | | kodo_recall | Search memories by query, type, or both — full-text search | | kodo_forget | Delete a memory by ID | | kodo_stats | Get memory statistics — total count, breakdown by type and project |

Agent Export

kodo export generates native config files for each agent — your memories work even without the MCP server:

| Agent | Output path | Format | |-------|-------------|--------| | Claude Code | .claude/settings/memory.md | Markdown | | Cursor | .cursor/rules/kodo-memory.md | Markdown rule | | Kiro | .kiro/steering/kodo-memory.md | Steering file (YAML frontmatter) | | Codex | .codex/memory.md | Markdown |

# Export to all agents
kodo export

# Export to specific agents only
kodo export --agents claude,kiro

Git Learning

kodo learn analyzes your git history and automatically extracts:

  • Commit conventions — detects Conventional Commits, prefixes, patterns
  • Hotspots — areas with frequent fixes that need extra attention
  • Project info — primary languages, frameworks, tooling detected from config files
$ kodo learn
✓ Learned 5 memories from git history

$ kodo search --type convention
#1 convention This project uses Conventional Commits (feat:, fix:, chore:, etc.) [git, commits]

$ kodo search --type mistake
#2 mistake Frequent fixes in "auth" (7 fix commits). This area may need extra attention. [git, hotspot, auth]

CLI Reference

kodo init                          Initialize kodo in current project
kodo add -t  -c     Add a memory (--tags "a,b" optional)
kodo search [query]                Search memories (full-text)
kodo search --type convention      Filter by type
kodo forget                    Delete a memory
kodo stats                         Show memory statistics
kodo learn                         Auto-learn from git history
kodo export                        Export to all agent configs
kodo export --agents claude,kiro   Export to specific agents

How It Works

┌─────────────┐     ┌──────────────┐     ┌─────────────────┐
│   You / AI  │────▶│  kōdo store  │────▶│  Agent configs   │
│  (CLI/MCP)  │     │  (SQLite +   │     │  .claude/        │
│             │◀────│   FTS5)      │     │  .cursor/rules/  │
│             │     │              │     │  .kiro/steering/  │
└─────────────┘     └──────────────┘     │  .codex/         │
                           ▲              └─────────────────┘
                           │
                    ┌──────┴──────┐
                    │  git learn  │
                    │  (auto)     │
                    └─────────────┘

Storage: Memories live in .kodo/memory.db — a SQLite database with WAL mode and FTS5 full-text search. Add .kodo/ to .gitignore for private memories, or commit it to share conventions with your team.

Roadmap

  • [x] kodo import — migrate from claude-mem / mem0 / JSONL
  • [x] kodo watch — auto-learn from agent sessions in real-time
  • [x] kodo hub — cross-terminal real-time knowledge sharing
  • [x] kodo pipe — send long text to agent inbox without terminal lag
  • [x] kodo evolve — self-evolving memory (prune/merge/promote)
  • [ ] Semantic similarity search (embeddings) as optional upgrade
  • [ ] kodo sync — team memory sharing via git
  • [ ] VS Code extension with memory sidebar
  • [ ] More agent exports (OpenCode, CodeBuddy)

Works Well With

| Tool | How | |------|-----| | PUA Skill | PUA forces the agent to try harder; kōdo ensures it remembers what it learned | | claude-mem | claude-mem captures sessions; kōdo structures and exports the knowledge | | Any MCP client | kōdo is a standard MCP server — plug it into anything |

Star History

[](https://star-history.com/#Xuan-1998/kodo&Date)

Contributing

PRs welcome. The codebase is intentionally small — ~400 lines of JavaScript. That's a feature, not a limitation.

git clone https://github.com/Xuan-1998/kodo.git
cd kodo && npm install
node bin/kodo.js init
# hack away

License

MIT

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.