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 集成