Obsideo

io.obsideo由 obsideo.io 發布v0.7.5更新於 Oct 24, 2026

Encrypted S3-compatible storage with possession proofs you can verify yourself. 12 GB free.

概覽

AI 產生的概覽

為 AI 助理提供加密的 S3 相容物件儲存,資料會先在本機加密,並可驗證供應商是否仍持有你的資料。

可以做什麼
儲存、讀取、列出與刪除物件,預設在上傳前於本機加密(put、get、ls、rm)。不需下載即可證明儲存供應商仍持有你的資料(verify)。查看已用儲存空間與配額,以及方案狀態(usage、plan)。建立試用帳號或透過電子郵件註冊以提升免費配額(trial、signup_start、signup_verify)。將憑證、簽章金鑰、加密金鑰與上傳承諾備份到你指定的位置(backup_keys)。取得用於升級或管理帳務的 Stripe 連結(upgrade、portal)。
適用情境
適合需要跨工作階段、跨機器持久保存資料的助理情境,例如應用程式檔案儲存、自動備份、代理產物或記憶。也適合需要獨立確認異地副本仍被持有的情況。不適合作為 CDN、可查詢資料庫或低延遲儲存使用。
執行需求
透過 npx 在本機執行(需要 Node.js 18 或更新版本),或使用 Claude Desktop 擴充功能檔案。不需要 API 金鑰或環境變數:首次 put、get 或 ls 會自動建立免費試用帳號。12 GB 方案需要提供電子郵件以接收驗證碼。需要能連線至協調端與儲存供應商的網路。
安裝前請注意
加密金鑰與簽章金鑰存放在 ~/.obsideo/ 下,一旦遺失,加密物件將永久無法讀取,請用 backup_keys 備份。簽章金鑰需保密,不要隨意重新執行註冊,因為這會輪換憑證。rm 工具會刪除物件,put 會把資料傳送給第三方儲存供應商。upgrade 和 portal 會回傳 Stripe 付款連結,由本人於 Stripe 頁面付款。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

Obsideo MCP server

Give any MCP-capable agent (Claude Desktop, Claude Code, Cursor, Cline, ...) durable storage that is encrypted on your machine before it is uploaded and that you can independently prove is still held. Zero setup: the first put/get/ls auto-creates a free no-email trial account (100 MB, proof-of-work instead of identity), so storage just works with nothing to configure. Want more? Self-serve signup from inside the conversation upgrades to 8 GB free, no card, no CAPTCHA, no expiry; 16 GB after the account holder answers eight questions in the Drive web app.

Obsideo is S3-compatible object storage where every stored object is replicated to 3 providers and challenged with chunk-level merkle proofs on a continuous cycle; providers are paid only for proofs they pass. 8 GB free with an email, no card; 16 GB after eight questions in the Drive web app. Paid plans are 200 GB blocks at $5/month each by card (Stripe), started from the upgrade tool and paid on Stripe's own page; the plan never changes size without the human's agreement.

Privacy posture (read this first)

  • This server runs on YOUR machine. Obsideo never hosts it. Credentials, the account signing key, and the encryption key live in ~/.obsideo/ and are sent nowhere except the endpoints they authenticate against.
  • The account signing key is generated locally; only the public half is ever sent. Keep ~/.obsideo/signing.pem private. Re-running signup rotates credentials and the keypair with no overlap, so do not re-run casually.
  • Encrypted by default. put encrypts client-side (AES-256-GCM) with a locally generated, user-held key before anything leaves the machine, so the platform stores ciphertext it is architecturally incapable of reading. Pass encrypt: false only when another tool must read the stored bytes directly (S3 interop).

Back up your key

The encryption key is generated on your machine when the account is created and written to ~/.obsideo/mcp.json. Obsideo does not have a copy and cannot recover it. If that file is lost, every encrypted object is permanently unreadable, no matter how many providers still hold it and how many proofs it passes. Replication protects against providers losing your bytes; it does not protect against you losing your key. Call backup_keys with a destination right after signup and keep the archive somewhere you would still have after losing this machine. Encrypted objects are readable only with this key: there is no sharing of encrypted objects between people or machines today, so treat an account as one person's.

~/.obsideo/roots.json is written alongside it: the merkle root of each object as committed at upload time. It holds no secrets, and it is what lets verify prove providers hold your bytes without re-uploading them. Encryption uses a fresh IV per upload, so ciphertext cannot be recomputed from a plaintext file later; this record is what keeps the strong proof available for encrypted objects. Losing it costs you strength of proof, not data. If it is damaged, the server moves it aside unchanged and says so in the next result, rather than overwriting it.

Install

Claude Desktop, one click: download obsideo-mcp.mcpb from the latest release, then Settings -> Extensions and drag the file in. No Node or npm setup needed.

Everything else, via npx:

json
{  "mcpServers": {    "obsideo": {      "command": "npx",      "args": ["-y", "obsideo-mcp"]    }  }}

(Claude Desktop: claude_desktop_config.json. Claude Code: claude mcp add obsideo -- npx -y obsideo-mcp. Cursor/Cline: their MCP settings, same command.)

Hermes Agent: paste https://obsideo.io/agent-storage to your Hermes and say "set this up". That page is a runbook the agent executes: install, first store, first proof, then the free tier (8 GB) with your email. The install it runs is one command on any OS (Node 18 or newer is required for npx):

bash
hermes mcp add obsideo --command npx --args -y obsideo-mcp

It writes the server into Hermes's own config, connects, lists the 13 tools and asks which to enable (leave out rm if you would rather the agent had no delete tool). Then /reload-mcp in a running session, or start a new one. The tools appear as mcp_obsideo_put, mcp_obsideo_get, mcp_obsideo_verify and so on. Manual alternative: the same mcpServers block as above, under the mcp_servers: key of Hermes's config.yaml. First thing to try: ask Hermes to store its own MEMORY.md on obsideo, then to verify it.

Tools

ToolWhat it does
trialCreate an instant no-email account (100 MB, ~7 days, proof-of-work, no human needed). Usually unnecessary: storage tools auto-create one on first use
signup_startEmail a 6-digit code (8 GB free; real inboxes only, refusals are labeled). With a trial configured this claims it in place: same account, keys and data, quota rises
signup_verifyComplete signup or the claim. A new account generates the signing keypair locally and stores credentials; a claim changes nothing but the quota
putStore a file or inline content, encrypted client-side by default (encrypt: false opts out). Auto-creates a trial account if none is configured
getRetrieve an object (auto-decrypts with the local key)
lsList objects, optionally by prefix
rmDelete an object
verifyProve the network still holds an object, without downloading it
usageStorage used vs quota, plus the plan line
backup_keysCopy credentials, signing key, encryption key and upload commitments to a destination you give it (a .tar.gz path or a folder). No default: without a destination it refuses. Obsideo has no copy of the key
planFree tier or paid blocks, status, period end, any offer waiting for the human
upgradeStripe checkout link for N x 200 GB blocks. Charges nothing; the human pays on Stripe's page. Never changes an existing plan
portalStripe portal link: cancel, change card, invoices

Paying, and what an agent is allowed to do

upgrade returns a link. That is all it does. The human opens it, sees the exact monthly amount, and pays or closes the tab; the quota rises after payment. An existing plan is never resized from this server: near the top of a tier Obsideo emails an agree link, and the human's click is the only thing that changes the bill. portal returns the Stripe portal link for cancelling, changing the card and downloading invoices. Cancelling keeps everything stored and readable; the account returns to its free quota at the end of the paid period.

verify

Challenges every provider holding the object directly, on one randomly chosen chunk each, and compares each answer on this machine against a merkle root. For objects this server uploaded, that is the root recorded locally at upload time, so a pass means the provider holds your bytes rather than agreeing with the others. Objects uploaded elsewhere can be checked against a file you pass as local_path. With neither, it falls back to the coordinator's root and says so.

The coordinator still chooses which providers to ask and where to reach them, issues the challenge tokens, and lists the public keys that providers' signatures are checked against. The result states which of these it relied on. When a provider fails the proof or cannot be challenged, the result says so first and speaks only for the providers that passed.

What it is good for

App file storage, automated backups (databases, snapshots, state), agent artifacts and memory that must survive sessions and machines, provable offsite copies. Not a CDN, not a queryable database, not sub-millisecond storage; Obsideo stores objects and backup artifacts.

Full integration contract (per-step postconditions, error table): obsideo.io/agents.md

Transport

From 0.7.0, put / get / ls / rm talk to the coordinator and to the storage providers it names, the same path verify has always used. There is no S3 gateway hop and no wait for freshly minted credentials to propagate: the account's coordinator API key is valid the moment signup returns, so the first put after signup works at once (measured 0.8 s on production). Configs that predate the coordinator key, or OBSIDEO_TRANSPORT=s3, keep using the S3 gateway with the SigV4 keypair; nothing about stored objects changes between the two, and the same S3 credentials still work with rclone, boto3 and any other S3 client.

Verified

Every tool in this server is exercised end to end against production before release: a freshly minted trial, then an encrypted put / byte-exact get / ls / rm over the direct transport (test/e2e_prod.mjs, which identifies itself so it is excluded from funnel measurement), plus labeled-error passthrough from the signup service. Unit tests run the transport against mock coordinator and provider servers (npm test).

License

PolyForm Shield 1.0.0 from version 0.6.2 (see LICENSE). In plain terms: you may use, read, audit, modify and redistribute this server for any purpose except building a product or service that competes with Obsideo. That keeps the client auditable, which the product depends on, without handing the work to a competitor. Versions 0.6.1 and earlier remain under MIT as published. The storage provider node (obsideo-provider) is and stays MIT.

Privacy Policy

This extension runs entirely on your machine. Credentials, your account signing key, and any client-side encryption key are stored locally in ~/.obsideo/mcp.json and are never sent to or hosted by Obsideo. Conversation content from your AI assistant is not collected; only the tool calls you make (for example an upload) reach the storage service.

Full policy: https://obsideo.io/privacy/

來源:README.md,提交 39ebdda

工具

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

版本歷史

5
  1. v0.7.5最新Sep 25, 2026
  2. v0.7.4Sep 25, 2026
  3. v0.7.3Sep 22, 2026
  4. v0.7.2Sep 16, 2026
  5. v0.7.1Sep 16, 2026

評分

已滿足適用檢查項的 40%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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

    請在儲存庫或註冊中心條目中宣告授權條款。