Hiberden

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

Read and verify your local media archive's 3-2-1 coverage across tape, disk, NAS, and cloud.

已驗證STDIO僅桌面檔案與儲存安全與監控

概覽

AI 產生的概覽

連接本機 Hiberden 媒體典藏目錄的唯讀 MCP 伺服器,讓助理檢視典藏、副本、磁帶與 3-2-1 覆蓋情形,並從媒體重新驗證副本。

可以做什麼
  • 列出專案、集合與典藏,含大小、SHA-256 及各副本狀態
  • 彙整全庫 3-2-1 覆蓋情形,並一次提供清單與容量統計
  • 檢視目標位置、磁帶與卡匣、近期複製活動與背景工作
  • 跨典藏依檔名或路徑尋找檔案,並分頁讀取典藏的檔案清單與校驗碼
  • 重新讀取磁碟、NAS 或磁帶副本並重算雜湊,標記為已驗證、失敗或遺失
適用情境
適合已在本機使用 Hiberden 典藏、希望助理回答資料存放在哪裡、哪些典藏覆蓋不足、某個副本是否仍與記錄的雜湊一致等問題的情境。
執行需求
以本機本機程序執行(僅桌面端),需要既有的 Hiberden 目錄資料庫。目錄路徑取自環境變數 HIBERDEN_DB,未設定時使用 Windows 的 LOCALAPPDATA 或 Linux 的 ~/.hiberden 下的預設位置。不需帳號、API 金鑰或網路存取。
安裝前請注意
verify_copy 會寫入狀態:在實際回讀後記錄副本狀態、驗證來源與一筆稽核日誌,且需重新讀取實體媒體,磁帶可能較慢。寫入與刪除工具存在,但受權限層級控管,預設唯讀,只能在桌面應用程式修改。雲端(S3)副本不在此處驗證。磁帶支援尚未在實體硬體驗證。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

hiberden-mcp: Hiberden MCP server

Exposes the Hiberden archive engine (hiberden-core) as Model Context Protocol tools over the stdio transport (newline-delimited JSON-RPC 2.0).

MCP is an open, vendor-neutral standard, so this one server is drivable from any MCP client: Claude Desktop / Claude Code, OpenAI's Agents SDK and ChatGPT desktop, Gemini, Cursor, Windsurf, and others. There is no model and no API key in this process. The client brings the LLM; this binary only answers tool calls against the local catalog. In its default mode it performs no network I/O.

Read + verify by default

The server advertises and answers the read/verify tools below by default, and nothing mutates configuration. The only state any default tool ever writes is what verify_copy records: the copy's status, its verify-pass provenance (which algorithm ran, when the last full pass succeeded), and an audit-log row for each completed verify — and it only does that after a genuine read-back from the medium.

Write and delete tools (catalog management, destinations, policies) ARE implemented, but behind a catalog-persisted permission tier that defaults to read-only and is only changeable in the Hiberden desktop app's settings; a tool above the active tier is neither advertised nor accepted. See docs/Hiberden_MCP_Command_Surface_and_Permission_Model.md (which supersedes docs/mcp/write-gate-design.md).

Read + verify tools (always on)

ToolArgsWhat it does
list_projectsnoneTop-level projects (containers). For each: name, policy, archive count, and a roll-up of how many of its archives sit in each coverage state.
list_archivesproject_id?, collection_id?, name?The archives (leaves actually written to media). For each: project, size, SHA-256, 3-2-1 coverage, and per-copy status (destination + kind + status). Narrow by project, Collection, and/or a case-insensitive name substring.
list_collectionsproject_idThe Collections inside one project (catalog-only organizational nodes): id, name, parent, archive count.
coverage_statusnoneLibrary-wide 3-2-1 roll-up: total archives plus counts in unconfigured, unprotected, in_progress, at_risk, and fully_covered.
archive_detailarchive_idFull detail for one archive: project, size, SHA-256, legacy MD5 (if imported), coverage, and every copy with its destination, kind, status, address, and written/verified timestamps.
list_destinationsnoneConfigured destinations (Tape, LocalFs, NAS, Cloud) with id, slot, kind, name, and enabled/retired state.
list_tapesnoneTapes: serial, volume label, uuid, capacity, used bytes, last verified time, and copy count.
tape_detailserialOne cartridge by barcode: label, capacity, used bytes, last verified, and the archives stored on it.
recent_activitylimit?Recent copy activity, newest first (default 20): each copy's archive, destination, status, and write/verify timestamps.
find_filequery, limit?Find a file by name/path fragment across every archive, with the archive and every destination it is stored in.
list_archive_filesarchive_id, offset?, limit?The file manifest of one archive from the catalog index (path, size, per-file SHA-256), paginated. The report enabler: client-ready deliverable lists and checksum manifests from the index (a one-time backfill may read a local copy of a pre-index archive). Archives with no buildable index (legacy tape-only imports) report indexed: false — manifest unavailable, not empty.
list_jobslimit?Recent background jobs (saves, verifies, restores), newest first: verb, state, archive, destination, bytes, timestamps, and the recorded failure reason on failed/interrupted rows.
catalog_statsnoneOne-call inventory + capacity roll-up: counts, total archived bytes, copies by status, destinations by kind, tape capacity vs. use.
verify_copyarchive_id, destination_id, mode?Re-reads the copy off its medium and compares it to what was recorded. Default mode: "full" re-hashes SHA-256 plus the recorded BLAKE3 and stored signature when present, then stamps the copy Verified on a match, Failed on a mismatch, or Missing if the file is gone — the only pass that can promote. mode: "fast" is a BLAKE3-only re-read that sustains an already-Verified copy or exposes a mismatch but never promotes (no recorded fast hash falls back to a full pass, with the reason surfaced). Results and audit rows name the algorithm that ran.

verify_copy is the differentiator: it is proof from the actual medium, not a stored flag. Identify the copy by archive_id + destination_id. It works for disk and NAS copies and for tape copies (the cartridge is mounted and read back). Cloud (S3) read-back verify runs in the Hiberden desktop app, not here: for a cloud copy the tool returns a clear message that the copy was checked in the desktop, not here, so it has not passed or failed. That message is a not-attempted result, not a verification failure.

Adding archives (writing bytes), save, and restore are not exposed here. Catalog, destination, and policy configuration tools exist behind the permission tier described above; at the default read-only tier they are neither advertised nor accepted.

Catalog selection

The server reads the single catalog shared by the desktop app, the CLI, and this server. Path resolution:

  1. The HIBERDEN_DB environment variable, if set.
  2. Otherwise %LOCALAPPDATA%\Hiberden\catalog.db on Windows, or ~/.hiberden/catalog.db on Linux.

The catalog is opened fresh per tool call (sub-millisecond) rather than held for the process lifetime. With WAL mode and a busy timeout, the desktop app and this server can run against the same catalog.db at the same time without a multi-process locking hazard.

All diagnostics go to stderr. stdout carries the JSON-RPC channel; anything written to stdout that is not a JSON-RPC message corrupts the stream.

Linux headless kit

Linux binaries are published on the releases page and at cdn.hiberden.app. They are built on Ubuntu 22.04, so they run on Ubuntu 22.04+, Debian 12+, and equivalents; verified on debian:bookworm-slim and ubuntu:22.04.

sh
curl -fsSLO https://cdn.hiberden.app/downloads/hiberden-cli-linux-x86_64curl -fsSLO https://cdn.hiberden.app/downloads/hiberden-cli-linux-x86_64.sha256sha256sum -c hiberden-cli-linux-x86_64.sha256      # verify before running itchmod +x hiberden-cli-linux-x86_64./hiberden-cli-linux-x86_64 --version

hiberden-mcp-linux-x86_64 is the same connector as the Windows build. The CLI (hiberden) catalogs and archives with no display server and no network — the whole point of the kit is that an air-gapped or headless machine can run it.

Linux reached general availability on 2026-08-11 at version 1.3.1, alongside Windows. What that does and does not cover, precisely:

  • Writing a new archive needs a license. Reading your data back never does, license or not. Kits published before GA are ungated and stay that way; entitlement applies from the first post-GA kit onward. Nothing you archive now becomes unreadable later: the format and catalog are identical across platforms.
  • The desktop app runs on Linux too, as a signed .deb and .AppImage from hiberden.app/linux. The macOS build for Apple Silicon is at hiberden.app/download.
  • Tape on Linux is unproven on hardware. The backend targets the open-source LTFS implementation and has never run against a drive on any platform. Use HIBERDEN_TAPE_FAKE=1 to exercise the flows without one.
  • Archives are signed by a per-install Ed25519 identity stored under ~/.hiberden/keys/ (owner-only). It is the same custody model as the OS keyrings on other platforms, and no stronger: it is not hardware-backed.

Setup

The binary self-installs into known MCP clients:

hiberden-mcp install          # auto-detect Claude Desktop / Cursor / Windsurf and write their confighiberden-mcp install --print  # print a paste-ready snippet instead of touching anythinghiberden-mcp uninstall        # remove the hiberden entry from detected clientshiberden-mcp help             # show usage

install writes (or updates) an mcpServers.hiberden entry pointing at this executable. It is zero-config for the catalog: the entry only pins HIBERDEN_DB when you already have it set in your environment, otherwise it relies on the default %LOCALAPPDATA%\Hiberden\catalog.db path.

Manual configuration

To wire it up by hand, add this to your client's config (Claude Desktop: claude_desktop_config.json; Claude Code: .mcp.json; Cursor / Windsurf use the same mcpServers shape). command is the path to the executable. env is optional: include HIBERDEN_DB only if your catalog lives somewhere other than the default path.

json
{  "mcpServers": {    "hiberden": {      "command": "C:/path/to/hiberden-mcp.exe",      "env": { "HIBERDEN_DB": "C:/path/to/catalog.db" }    }  }}

Smoke test (no client needed)

This pipes three requests (initialize, list tools, read coverage) straight into the binary:

bash
printf '%s\n' \  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{}}}' \  '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \  '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"coverage_status","arguments":{}}}' \  | HIBERDEN_DB=path/to/catalog.db hiberden-mcp

Container image

The image on Docker Hub, agaveis/hiberden-mcp, is the same connector binary in a debian:bookworm-slim container. It carries no catalog: it starts, reports itself, and advertises the read-only tool surface, but there are no archives to answer questions about. This is not how you run Hiberden. For real use, install Hiberden from https://hiberden.app.

The image exists so MCP directories can run their introspection handshake (initialize, then tools/list) against the connector in a Linux sandbox, and so anyone can inspect the advertised tool surface without installing anything.

To point it at a real catalog, mount one and set HIBERDEN_DB:

sh
docker run --rm -i -v /var/lib/hiberden:/cat -e HIBERDEN_DB=/cat/catalog.db agaveis/hiberden-mcp

The connector opens it read-only apart from verify's status writes, and never reads the OS keyring.

Security

  • Local-only and closed-domain. The server is read + verify only and performs zero network I/O; the only state it writes is the copy status verify_copy stamps after a read-back. It never sends data to Hiberden or any third party.
  • No API key and no LLM are stored in the binary, so there is nothing to steal there.
  • verify_copy gives ground-truth physical state: it re-reads and re-hashes the actual medium, so even a manipulated assistant cannot fabricate a "Verified".
  • Tool annotations (readOnlyHint, destructiveHint, and so on) are hints, not guarantees. Prompt injection is an unsolved industry-wide problem. The architecture here is conservative by design; that is not a claim of immunity.

Privacy

The server runs entirely on your own machine, holds no account or API key, and in its default read-and-verify mode performs zero network I/O — it never sends your catalog or your files to Hiberden or any third party. The only state any default tool writes is the copy status verify_copy stamps after a genuine read-back. Full details (what the server reads, what it never does, the role of the separate AI client, and credential handling) are in PRIVACY.md, hosted at https://hiberden.app/mcp/privacy.

Tape caveat

Tape support has not been validated on physical tape hardware in this implementation. The design never speaks SCSI directly and treats tape as a filesystem via LTFS tooling, so any tape the LTFS tooling can mount should work by construction. That is an architectural property, not a tested hardware matrix. Do not read these notes as a guarantee for any specific drive or generation.

For testing without a drive, the tape backend can run against a fake backend: set HIBERDEN_TAPE_FAKE=1 (and optionally HIBERDEN_TAPE_FAKE_ROOT=<dir> to point at a directory standing in for the mounted volume).

Website: https://hiberden.app

Listing and source: https://github.com/Agaveis/hiberden-mcp

Built and maintained by AgaveIS, Scottsdale, Arizona.

來源:README.md,提交 5ef8046

工具

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

版本歷史

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

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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