Melchizedek

io.github.louis49由 GitHub 帳號 louis49 發布v1.0.2更新於 Oct 25, 2026

Persistent memory for Claude Code — offline, single-file, hybrid search.

概覽

AI 產生的概覽

本機 MCP 伺服器,將 Claude Code 對話紀錄索引到單一 SQLite 檔案,讓助理跨專案檢索歷史工作階段。

可以做什麼
檢索已索引的對話,回傳精簡片段,支援日期篩選與排序,並可進一步取得前後脈絡或完整內容。找出涉及特定檔案的過往工作階段、某個錯誤訊息的歷史解法,或類似任務先前的做法。手動儲存記憶筆記,列出已索引的工作階段,可依專案篩選。檢視索引統計與設定資訊,並調整設定。從索引中移除單一片段或整個工作階段,排除或重新納入專案,以及重新啟動伺服器。
適用情境
適合在 Claude Code 中橫跨多個工作階段與專案工作、希望自動回想過去除錯過程、架構決策與程式碼模式的軟體開發者,不必反覆說明背景。也適合要求這些歷史完全留在自己電腦上的使用者。
執行需求
以 npm 套件形式透過 stdio 在本機執行,需要 Node.js 20 以上版本、Claude Code 2.0 以上版本,支援 macOS、Linux 或 Windows。自動索引需要在 Claude Code 設定檔中加入 SessionEnd 掛鉤。選用的向量與重排模型會在首次使用時下載。
安裝前請注意
它會讀取 Claude Code 對話紀錄並建立可檢索的本機索引,因此對話中的敏感內容除非包在 private 標籤內,否則都能被檢索到。刪除與遺忘類工具會永久移除索引資料,清除被忽略專案的資料後無法復原。選用模型下載會產生網路請求,其餘皆在本機完成。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Melchizedek,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Melchizedek

[npm version] [npm downloads] [CI] [License: MIT] [Donate] [Donate]

Persistent memory for Claude Code. Automatically indexes every conversation and provides production-grade hybrid search (BM25 + vectors + reranker) via MCP tools. 100% local, zero config, zero API keys, zero invoice.


Why Melchizedek?

Claude Code forgets everything between sessions - and knows nothing about your other projects. Melchizedek fixes both.

It runs silently in the background - indexing your conversations as you work - then gives Claude the ability to search across your entire history, across all projects: past debugging sessions, architectural decisions, error solutions, code patterns.

No cloud. No API keys. No config. Plug and ask.

How it works

~/.claude/projects/**/*.jsonl       (your conversation transcripts - read-only)        |        v  SessionEnd hook                   (auto-triggers after each session)        |        v  +-----------------+  |  Indexer         |    Parse JSONL -> chunk pairs -> SHA-256 dedup  |  (better-sqlite3)|    FTS5 tokenize -> vector embed (optional)  +-----------------+        |        v  ~/.melchizedek/memory.db           (single SQLite file, WAL mode)        |        v  +-----------------+  |  MCP Server      |    16 search & management tools  |  (stdio)         |    Hybrid: BM25 + vectors + RRF + reranker  +-----------------+        |        v  Claude Code                       (searches your history via MCP)

Search pipeline - 4 levels of graceful degradation

Every layer is optional. The plugin works with BM25 alone and gets better as more components are available.

LevelComponentWhat it addsDependency
1BM25 (FTS5)Keyword search with stemmingNone (always active)
2Dual vectors (sqlite-vec)Semantic search - text (MiniLM 384d) + code (Jina 768d)@huggingface/transformers (optional)
3RRF fusionMerges BM25 + text vectors + code vectors via Reciprocal Rank FusionVectors enabled
4RerankerCross-encoder re-scoring of top resultsTransformers.js or node-llama-cpp (optional)

Performance

Measured with npm run bench - 100 sessions, 1 000 chunks, on a single SQLite file.

MetricResultTarget
Indexation (100 sessions)~80 ms< 10 s
BM25 search (mean)~0.2 ms< 50 ms
DB size (100 sessions)~1.4 MB< 30 MB
Tokens per search~125< 2 000

Quick Start

npm (recommended)

bash
npm install -g melchizedek

Add the MCP server to Claude Code:

bash
claude mcp add --scope user melchizedek -- melchizedek-server

npx (no install)

bash
claude mcp add --scope user melchizedek -- npx melchizedek-server

From source

bash
git clone https://github.com/louis49/melchizedek.gitcd melchizedek && npm install && npm run buildclaude --mcp-config .mcp.json

Claude Code plugin marketplace (coming soon)

Plugin review pending. In the meantime, use npm or npx install above.

bash
claude plugin install melchizedek   # not yet available

Setting up hooks (automatic indexing)

The MCP server provides search tools, but hooks trigger automatic indexing. Without hooks, you'd need to manually index sessions.

For marketplace installs, hooks are configured automatically. For npm/npx/source installs, add hooks to ~/.claude/settings.json.

See docs/installation.md for the full JSON configuration, hook reference, and troubleshooting.

After setup, restart Claude Code. Indexing starts automatically.

MCP Tools

Search (start here)

ToolDescription
m9k_searchSearch indexed conversations. Returns compact snippets. Current project boosted. Supports since/until date filters and order (score, date_asc, date_desc).
m9k_contextGet a chunk with surrounding context (adjacent chunks in the same session).
m9k_fullRetrieve full content of chunks by IDs.

Progressive retrieval pattern - search returns ~50 tokens/result, context ~200-300, full ~500-1000. Start with m9k_search, drill down only when needed. 4x token savings vs loading everything.

Context-aware ranking - results from your current project (×1.5) and current session (×1.2) are automatically promoted. Cross-project results remain visible.

Specialized search

ToolDescription
m9k_file_historyFind past conversations that touched a specific file.
m9k_errorsFind past solutions for an error message.
m9k_similar_workFind past approaches to similar tasks. Prioritizes rich metadata.

Memory management

ToolDescription
m9k_saveManually save a memory note for future recall.
m9k_sessionsList all indexed sessions, optionally filtered by project.
m9k_infoShow memory index info: corpus size, search pipeline, embedding worker, usage metrics.
m9k_configView or update plugin configuration.
m9k_forgetPermanently remove a chunk from the index.
m9k_delete_sessionDelete a session from the index.
m9k_ignore_projectExclude a project from indexing. Future sessions won't be indexed, existing ones optionally purged.
m9k_unignore_projectRe-enable indexing for a previously ignored project. Purged data is not restored.
m9k_restartRestart the MCP server to load fresh code after npm run build. Supports force: true for stuck processes.

Usage guide

ToolDescription
__USAGE_GUIDEPhantom tool. Its description teaches Claude the retrieval pattern and available tools.

Configuration

Zero config by default. Everything is tunable via m9k_config or environment variables.

SettingDefaultEnv var
Database path~/.melchizedek/memory.dbM9K_DB_PATH
Daemon modeenabledM9K_NO_DAEMON=1 to disable
Log levelwarnM9K_LOG_LEVEL
Embeddings enabledtrueM9K_EMBEDDINGS=false to disable
Reranker enabledtrueM9K_RERANKER=false to disable

See docs/configuration.md for the full settings reference (20+ options, env vars, config file examples).

Enhanced Search

Melchizedek works out of the box with BM25 keyword search. Text embeddings (MiniLM) download automatically on first use for semantic search.

For GPU-accelerated code embeddings (Ollama), cross-encoder reranking (GGUF models), platform-specific setup guides, and the full model reference, see Enhanced Search Setup.

How is this different?

Melchizedekclaude-historian-mcpclaude-memepisodic-memorymcp-memory-service
[GitHub stars] [npm][GitHub stars] [npm][GitHub stars] [npm][GitHub stars][GitHub stars] [PyPI]
PhilosophySearch engine - indexes everything, you searchSearch engine - scans JSONL on demandNotebook - AI compresses & savesSearch engineNotebook - AI decides what to store
Indexes raw conversationsYes (JSONL transcripts)Yes (direct JSONL read, no persistent index)Compressed summariesYes (JSONL)No (manual store_memory)
Retroactive on installYes (backfills all history)Yes (reads existing files)NoYesNo (empty at start)
SearchBM25 + vectors + RRF + rerankerTF-IDF + fuzzy matchingFTS5 + ChromaDBVectors onlyBM25 + vectors
Progressive retrieval3 layers (search/context/full)NoNoNoNo
100% offlineYesYesNo (needs API for compression)YesYes
Single-file storageSQLiteNone (reads raw JSONL)SQLite + ChromaDBSQLiteSQLite-vec
Zero configYesYesYesYesYes
MCP tools16104212
LicenseMITMITAGPL-3.0MITApache-2.0
Dual embedding (text + code)Yes (MiniLM + Jina Code)NoNoNoNo
Configurable modelsYes (Transformers.js or Ollama)NoNo (Chroma internal)No (hardcoded)Yes (ONNX, Ollama, OpenAI, Cloudflare)
RerankerCross-encoder (ONNX, GGUF, or HTTP)NoNoNoQuality scorer (not search reranker)
PrivacyAll local, <private> tag redactionAll localSends data to Anthropic APIAll localAll local
Multi-instanceSingleton daemon - N Claude windows share 1 process (Unix socket / Windows named pipe, local fallback)N separate processesShared HTTP worker (:37777)N separate processesShared HTTP server

Inspirations

This project stands on the shoulders of others. Key ideas borrowed from:

ProjectWhat we took
CASSRRF hybrid fusion, SHA-256 dedup, auto-fuzzy fallback[GitHub stars]
claude-historian-mcpSpecialized MCP tools (file_history, error_solutions)[GitHub stars] [npm]
claude-diaryPreCompact hook (archive before /compact)[GitHub stars]

Known issues

  • Session boost inactive - Claude Code currently sends an empty session_id in the SessionStart hook stdin payload, preventing the ×1.2 session boost from working. The ×1.5 project boost is unaffected and provides the primary context-aware ranking. Related upstream issues: #13668 (empty transcript_path), #9188 (stale session_id). Melchizedek's session boost code is tested and ready, and will activate automatically when the upstream fix lands.

Privacy

  • Zero telemetry. No tracking, no analytics, no network calls (except optional lazy model download).
  • Read-only on transcripts. Never writes to ~/.claude/projects/. All data in ~/.melchizedek/.
  • <private> tag support. Content between <private>...</private> is replaced with [REDACTED] before indexing.
  • Local-only. Your conversations never leave your machine.

Requirements

  • Node.js >= 20
  • Claude Code >= 2.0
  • macOS, Linux, or Windows

License

MIT


"Without father, without mother, without genealogy, having neither beginning of days nor end of life."

  • Hebrews 7:3

Built by @louis49

來源:README.md,提交 3053612

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分