Cairn

io.github.luckyjackluo由 GitHub 帳號 luckyjackluo 發布v0.2.0更新於 Oct 24, 2026

Local-first file-organization tools for your AI agent: tag, query, and digest a folder. No cloud.

發布方自己的服務:Cairn.ink Memory

已驗證STDIO僅桌面檔案與儲存知識與記憶

概覽

AI 產生的概覽

Cairn 為 AI 助理提供本機工具,用來列出、讀取、搜尋、加上標籤、編輯、移動並語意檢索指定資料夾中的檔案。

可以做什麼
Cairn 是一套透過 MCP 提供的本機優先檔案整理工具。它提供唯讀工具,例如 list、read、search、grep 和 retrieve,以及 move、delete、edit 等破壞性工具,後者由用戶端先確認。它也能把 docx、pdf、pptx、xlsx、md 等文件匯入為可編輯的 .uni 文件,標籤存放在檔案內部。所有操作都基於一般目錄,不需要外部資料庫。
適用情境
當你希望助理整理、標記並搜尋本機上的筆記或文件資料夾時使用。它適合 Claude Code、Codex、Cursor 或任何 MCP 用戶端,並帶有操作確認提示。它不用於雲端同步或團隊共享儲存。
執行需求
透過 PyPI 套件 cairn-mcp-server 以 stdio 在本機執行,通常用 uvx 啟動,因此需要安裝 uv。設定 CAIRN_WORKSPACE 或傳入 --workspace 指定要操作的資料夾;未設定時預設為目前工作目錄。預設的詞法檢索不需要帳號或 API 金鑰;選用的向量檢索需要 OpenAI 相容端點的金鑰。
安裝前請注意
Cairn 可以移動、重新命名、刪除和編輯工作區中的檔案,首次執行建議指向副本。破壞性工具應由用戶端確認,但工作區就是資料來源,變更是真實的。選用的向量檢索會把內容傳送到所設定的 OpenAI 相容端點,並把向量存放在工作區下的本機 SQLite 索引中。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

Cairn

A local-first, open-source harness for organizing your files with an AI agent.

Point Claude Code, Codex, Cursor — any MCP client — at a folder, and your agent gains a full file-organization toolset: list, read, search, grep, edit, move, tag, import documents, and semantically retrieve. No account, no cloud, no UI required. Your files never leave your machine.

bash
claude mcp add cairn -- uvx cairn-mcp-server --workspace ~/Documents/notes

Then ask your agent to "organize this folder and tag everything" — it will, using tools that run locally over your own files.

A cairn is a stack of stones that marks a trail. This one keeps your files in order and shows the way through them.


Quickstart (2 minutes)

If you use Claude Code, setup is one command — the only prerequisite is uv, which provides uvx:

bash
# 1. Install uv if you don't have it (provides uvx)curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Add Cairn to Claude Code, pointed at a folder you want organizedclaude mcp add cairn -- uvx cairn-mcp-server --workspace ~/Documents/notes

Reopen Claude Code and ask:

"Organize this folder and tag everything."

Cairn's tools run locally over your files — reads happen freely, and any move/rename/edit asks for confirmation first. The first run auto-downloads the package (~5s); no clone, no build, no account.

[!TIP] Point --workspace at a copy of some notes for your first run — Cairn can move, rename, and edit files.

Using Codex? Same one-command flow (then run /mcp in a session to confirm):

bash
codex mcp add cairn -- uvx cairn-mcp-server --workspace ~/Documents/notes

Using Cursor or another MCP client? Same package, JSON config:

json
{ "mcpServers": { "cairn": { "command": "uvx",  "args": ["cairn-mcp-server", "--workspace", "~/Documents/notes"] } } }

~ is expanded by Cairn, so ~/Documents/notes works in the CLI and in config files alike.

Just want to poke at it, no agent?

bash
uvx cairn-cli --workspace ~/Documents/notes tree

Why a harness

The agent-harness ecosystem converged on a clear pattern: the model and the agent loop are commodities supplied by the client (Claude Code, Codex, OpenCode). The durable value is the tools and the local data. So Cairn ships tools, not an agent — the client provides the loop, the approval prompts (driven by our tool annotations), and the chat. Cairn is just the local file-organization toolset that snaps into whatever harness you already use.

Architecture

Everything is a thin adapter over one standard-library core, so the faces can never drift.

core/          cairn-core — the engine (stdlib only): the .uni document format,               file operations, tags, retrieval; optional document ingestion               (docx/pdf/pptx/xlsx/md) and embeddings-based search.mcp-server/    cairn-mcp-server  — MCP server: 26 tools with read-only/destructive               annotations, resources, and prompts.        ← the flagshipcli/           cairn-cli  — scriptable CLI, a local HTTP API (`serve`),               and an `mcp` launcher.web/           cairn-web  — optional zero-build local web UI               (browse / edit / view / tag / search).

Use it

In Claude Code / Codex / Cursor (primary):

bash
claude mcp add cairn -- uvx cairn-mcp-server --workspace ~/Documents/notes# with real-document import: uvx --with "cairn-core[convert]" cairn-mcp-server ...

The server exposes read-only tools (list, read, search, grep, retrieve) that the client runs freely, and destructive tools (move, delete, edit) that it confirms first — driven by MCP tool annotations, so you get approval prompts with no UI of ours.

As a CLI:

bash
uvx cairn-cli --workspace ~/Documents/notes treeuvx cairn-cli --workspace ~/Documents/notes retrieve "budget planning"

With the optional web UI:

bash
pip install cairn-cli cairn-webcairn --workspace ~/Documents/notes serve   # → http://127.0.0.1:4177/

The .uni format

A .uni file is a small JSON document — { uuid, content: "<html>", metadata, tags } — with tags stored in the file. A workspace is just a directory: fully portable, no external database. Source documents (docx/pdf/pptx/…) import into editable .uni docs; the originals are kept by default.

Local-first & bring-your-own-key

  • No account, no login, no cloud sync. The filesystem is the source of truth.
  • The default retriever is lexical and needs nothing. Embeddings are opt-in and bring-your-own-key (any OpenAI-compatible endpoint, including local servers like Ollama or LM Studio); vectors live in a local SQLite index under <workspace>/.cairn/ and never leave your machine.

Roadmap

Cairn is young. Rough direction, and where help is most welcome:

  • More document faces — richer frontmatter support (nested metadata, dates), and round-tripping edits back into imported source formats.
  • Smarter digests — summaries that use an embedding model when one is configured, and saved views (.cairn/views/*.md).
  • More retrieval backends — pluggable rerankers; first-class local-model presets (Ollama, LM Studio) beyond the generic OpenAI-compatible path.
  • Editor/agent integrations — thin recipes for wiring Cairn into common MCP clients and note-taking setups.
  • Packaging — signed releases and a Homebrew formula.

Have a use case that doesn't fit? Open an issue or start a discussion.

Contributing

Contributions of every size are welcome — see CONTRIBUTING.md for the project layout, dev setup, and how to add a tool. Good first issues are labeled good first issue.

Develop

bash
make setup      # uv venv (3.11) + editable install of all packages + extrasmake test       # run the suitemake serve WORKSPACE=~/Documents/notes   # web UI

License

MIT — see LICENSE.

來源:README.md,提交 c43c16c

工具

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

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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

其他 Cairn 整合