
Cairn
io.github.luckyjackluoPublished by GitHub account luckyjackluov0.2.0Updated Oct 24, 2026
Local-first file-organization tools for your AI agent: tag, query, and digest a folder. No cloud.
The publisher's own server: Cairn.ink Memory
Overview
Cairn gives an AI assistant local tools to list, read, search, tag, edit, move, and semantically retrieve files in a chosen folder.
- What you can do
- Cairn is a local-first file-organization toolset exposed over MCP. It offers read-only tools such as list, read, search, grep, and retrieve, plus destructive tools such as move, delete, and edit that the client confirms first. It can also import documents like docx, pdf, pptx, xlsx, and md into editable .uni documents, with tags stored inside the files. Everything runs over a plain directory, with no external database.
- When to use it
- Use it when you want an assistant to organize, tag, and search a folder of notes or documents on your own machine. It suits Claude Code, Codex, Cursor, or any MCP client where you want local file operations with approval prompts. It is not for cloud sync or shared team storage.
- Requirements
- Runs locally over stdio via the PyPI package cairn-mcp-server, typically launched with uvx, so uv must be installed. Set CAIRN_WORKSPACE or pass --workspace to point at the folder to operate on; if unset it defaults to the current working directory. No account or API key is needed for the default lexical retriever; optional embeddings require an OpenAI-compatible endpoint key.
Installation
In SourceWeft
- Open Cairn in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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.
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:
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
--workspaceat 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):
Using Cursor or another MCP client? Same package, JSON config:
~ is expanded by Cairn, so ~/Documents/notes works in the CLI and in config files alike.
Just want to poke at it, no agent?
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.
Use it
In Claude Code / Codex / Cursor (primary):
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:
With the optional web UI:
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
License
MIT — see LICENSE.
Source: README.md at commit c43c16c
Tools
0Version history
1- v0.2.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Cairn integrations

Cairn.ink Memory
ink.cairnOfficial publisher
Cairn.ink Memory is a hosted MCP endpoint that lets an assistant save, recall, inspect, correct and forget cross-session memories, each with a Source Receipt.

Cairn Commons (read-only)
Published by GitHub account cairncommons
Read-only remote MCP server that lets a coding assistant look up checked, version-pinned records of dependency bugs by error text, package and version.

Cairn Remembers
Published by GitHub account CairnRemembers
Local-first episodic memory for AI agents: stores decisions, notes and corrections in one SQLite vault that any MCP-capable assistant can search and add to.

Cairn
Published by GitHub account jasondostal
Self-hosted persistent memory server that lets an assistant store, search and recall decisions, facts and patterns across sessions and projects.

Cairn
Published by GitHub account cybort360
Logs Claude Code work sessions, file edits and tasks to a Cairn account, giving the assistant tools to record activity and project notes.