Kirok Memory MCP server
Persistent memory for AI agents - hybrid semantic + keyword recall with autonomous consolidation
1 stars18 downloads/wk
Reviews
Write oneNobody has reviewed Kirok Memory yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Kirok Memory tools (19, 5 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
KIROK_clear_bankwrite actionDelete ALL memories and observations in a bank, keeping the bank itself. Mental models are preserved. This is destructive and cannot be undone.
KIROK_consolidateManually trigger observation consolidation for a bank.
KIROK_delete_bankwrite actionPermanently delete a bank and ALL its memories, observations, models, and config. This is destructive and cannot be undone.
KIROK_delete_mental_modelwrite actionDelete a specific mental model. This is destructive and cannot be undone.
KIROK_forgetwrite actionDelete a specific memory by its ID. This is destructive and cannot be undone.
KIROK_get_bank_configGet the current configuration for a memory bank.
KIROK_get_memoryGet full details of a specific memory by its ID.
KIROK_get_mental_modelGet full details of a specific mental model.
KIROK_list_banksList all available memory banks with their memory counts.
KIROK_list_memoriesList memories in a bank with pagination, ordered by most recent.
KIROK_list_mental_modelsList mental models (insights generated by Reflect) for a bank.
KIROK_recallSearch and retrieve relevant memories using semantic similarity and keyword matching, merged with Reciprocal Rank Fusion.
KIROK_reflectReflect on accumulated memories to generate new insights.
KIROK_refresh_mental_modelRefresh an existing mental model by re-analyzing current memories. Updates the insight based on the latest data in the bank.
KIROK_retainStore new information in agent memory.
KIROK_set_bank_configConfigure a memory bank's retain and observations missions.
KIROK_smart_retainEvaluate content importance before retaining. Uses LLM to score the content from 1-10 and only retains if score >= threshold.
KIROK_statsGet statistics for a specific memory bank.
KIROK_update_memorywrite actionUpdate an existing memory's content. Re-extracts entities/keywords and regenerates the embedding if content changes.
Public scan report
scanner v0.1.9 · 2026-09-25 · same rubric, same numbers if you re-run it
- Code scan18 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 15 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Kirok Memory repository's README, as published. We do not edit it. Read it on GitHub
Kirok
<!-- mcp-name: io.github.TadFuji/kirok-mcp -->
English | 日本語
Persistent memory for AI agents, over MCP. Kirok (記録, "record") is a Model Context Protocol server that gives an agent a durable, searchable memory: Retain what matters, Recall it with hybrid semantic + keyword search, and Reflect to distil accumulated memories into reusable insights. A background consolidation loop turns raw memories into higher-level observations on its own.
Why Kirok
Most "agent memory" is either a flat vector store (recall is a bare cosine top-k, no keyword grounding, no forgetting) or a pile of markdown the agent has to re-read every turn. Kirok is a small, self-hostable server that does the retrieval engineering properly:
- Hybrid retrieval, not just vectors. Semantic KNN and FTS5 BM25 are fused with Reciprocal Rank Fusion, so an exact keyword match and a semantic match reinforce each other instead of competing.
- A calibrated relevance floor. Naive cosine thresholds don't work on real embedding distributions (see Search quality); Kirok's floor is measured against live data, and there's an evaluation harness to keep it honest.
- Autonomous consolidation. Memories are periodically synthesised into observations, and destructive LLM decisions are soft-deleted with an audit trail rather than executed blindly.
- Reliability first. Atomic writes, soft deletes, startup auto-snapshots, and a fail-open background pipeline that never loses a retain.
Not local-first: storage is a local SQLite file you own, but embedding and LLM inference are sent to Google's Gemini API. If everything must stay on-device, Kirok is not for you (yet).
Architecture
flowchart TB
client["MCP Client<br/>(Claude Desktop / Claude Code / Cursor / …)"]
subgraph server["Kirok MCP Server (FastMCP)"]
direction TB
tools["19 MCP tools<br/>Retain · Recall · Reflect · consolidate · CRUD"]
pipeline["Hybrid search (RRF) · Smart dedup<br/>Consolidation · Auto-refresh"]
end
subgraph storage["Local SQLite (WAL)"]
direction LR
fts["FTS5 trigram<br/>(BM25 keyword)"]
vec["sqlite-vec<br/>(KNN, brute-force fallback)"]
tables["memories · observations<br/>mental_models · banks · system_events"]
end
gemini["Google Gemini API<br/>gemini-embedding-001 (3072-d)<br/>gemini-2.5-flash-lite"]
client <-->|"stdio (JSON-RPC 2.0)"| tools
tools --> pipeline
pipeline <--> storage
pipeline <-->|embeddings · entity extraction<br/>reflection · consolidation| geminiStorage is a single SQLite database at ~/.kirok/memory.db. sqlite-vec provides per-bank vector KNN; if the native extension can't load, Kirok falls back to a NumPy brute-force scan with identical results. See docs/architecture.md for the full design.
🚀 Quick start
Requirements: Python 3.12+, uv (for uvx), and a Gemini API key (free tier is plenty).
Kirok ships on PyPI — nothing to clone. Put your key in ~/.kirok/.env (one line: GEMINIAPIKEY=AIza...), then verify the setup:
uvx --from kirok-mcp kirok-doctor # offline sanity checkShortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add kirok-mcp -- uvx kirok-mcp
Kirok Memory: common questions
- Is Kirok Memory MCP server safe?
- Mostly: it is graded B (83/100). Read the Kirok Memory safety report
- How do I install Kirok Memory?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Kirok Memory need an API key?
- Yes. The registry entry asks for
GEMINI_API_KEY. - Is Kirok Memory maintained?
- The last commit was 16 days ago (2026-09-10). The latest release is v1.4.2.
- What can I use instead of Kirok Memory?
- Servers from other publishers that do the same job: Code Context MCP server, openchronicle-mcp server and Local Rag MCP server. Compare all Kirok Memory alternatives.
Alternatives to Kirok Memory
Same job from other publishers: the closest match first, then the best rated.
- Code ContextLocal code search for AI coding agents: hybrid keyword + semantic + SQL over an index in your repo.not reviewedGrowingA
- openchronicle-mcpMemory database for LLM agents — persistent semantic + keyword memory, project namespacing, served onot reviewedGrowingA
- Local RagSemantic code & doc search with keyword boost. AST code nav, auto HF mirror, local, privacy-first.not reviewedGrowingA
- kbdbA searchable second brain for AI agents: ranked keyword and semantic search over your Markdown.not reviewedGrowingA
Google Ads + Meta Ads + SEO/GEO MCPGoogle Ads, Meta Ads, SEO, GEO & GA4 MCP by Ryze AI - audits, reports, keywords, Search Console.not reviewedEstablishedA