Mmcp.market

Kirok Memory MCP server

by TadFuji·io.github.TadFuji/kirok-mcp·v1.4.2

Persistent memory for AI agents - hybrid semantic + keyword recall with autonomous consolidation

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

1 stars18 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • KIROK_clear_bankwrite action

    Delete ALL memories and observations in a bank, keeping the bank itself. Mental models are preserved. This is destructive and cannot be undone.

  • KIROK_consolidate

    Manually trigger observation consolidation for a bank.

  • KIROK_delete_bankwrite action

    Permanently delete a bank and ALL its memories, observations, models, and config. This is destructive and cannot be undone.

  • KIROK_delete_mental_modelwrite action

    Delete a specific mental model. This is destructive and cannot be undone.

  • KIROK_forgetwrite action

    Delete a specific memory by its ID. This is destructive and cannot be undone.

  • KIROK_get_bank_config

    Get the current configuration for a memory bank.

  • KIROK_get_memory

    Get full details of a specific memory by its ID.

  • KIROK_get_mental_model

    Get full details of a specific mental model.

  • KIROK_list_banks

    List all available memory banks with their memory counts.

  • KIROK_list_memories

    List memories in a bank with pagination, ordered by most recent.

  • KIROK_list_mental_models

    List mental models (insights generated by Reflect) for a bank.

  • KIROK_recall

    Search and retrieve relevant memories using semantic similarity and keyword matching, merged with Reciprocal Rank Fusion.

  • KIROK_reflect

    Reflect on accumulated memories to generate new insights.

  • KIROK_refresh_mental_model

    Refresh an existing mental model by re-analyzing current memories. Updates the insight based on the latest data in the bank.

  • KIROK_retain

    Store new information in agent memory.

  • KIROK_set_bank_config

    Configure a memory bank's retain and observations missions.

  • KIROK_smart_retain

    Evaluate content importance before retaining. Uses LLM to score the content from 1-10 and only retains if score >= threshold.

  • KIROK_stats

    Get statistics for a specific memory bank.

  • KIROK_update_memorywrite action

    Update 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

no findings
  • 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
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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| gemini

Storage 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 check

Shortened. 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
Add to Cursor

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.

All Kirok Memory alternatives →
  • Code Context
    Local code search for AI coding agents: hybrid keyword + semantic + SQL over an index in your repo.
    A
  • openchronicle-mcp
    Memory database for LLM agents — persistent semantic + keyword memory, project namespacing, served o
    A
  • Local Rag
    Semantic code & doc search with keyword boost. AST code nav, auto HF mirror, local, privacy-first.
    A
  • kbdb
    A searchable second brain for AI agents: ranked keyword and semantic search over your Markdown.
    A
  • Google Ads + Meta Ads + SEO/GEO MCP
    Google Ads, Meta Ads, SEO, GEO & GA4 MCP by Ryze AI - audits, reports, keywords, Search Console.
    A

More from TadFuji →