Cairn vs Filestash

A side-by-side look at the Cairn and Filestash MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Cairn logoCairnFile Systems · Local subprocess (stdio)Local-first file-organization tools for your AI agent: tag, query, and digest a folder. No cloud.56GoodAuth: not declaredFilestash logoFilestashFile Systems · Remote HTTP/SSERemote Storage Access: SFTP, S3, FTP, SMB, NFS, WebDAV, GIT, FTPS, gcloud, azure blob, sharepoint, etc.51GoodAuth: no auth required

Verdict: choose Cairn for file systems work as a local process; choose Filestash for file systems over a hosted endpoint. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Cairn logoChoose Cairn when

  • You need dedicated capabilities in the File Systems domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like list_dir, get_file_tree, read_detail.
Explore Cairn

Filestash logoChoose Filestash when

  • You need dedicated capabilities in the File Systems domain.
  • You prefer a remote HTTP/SSE transport.
  • Its auth model fits you: No auth required.
Explore Filestash

Feature & specification comparison

Rows where the two servers differ are marked.

SpecCairn logoCairnFilestash logoFilestash
CategoryFile SystemsFile Systems
Quality signal56/100 · Good51/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Remote HTTP/SSE
AuthNot declaredNo auth required
PricingNot declaredFree
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars214,823
Directory activity 3 views 0 installs 0 upvotes 3 views 0 installs 0 upvotes
Tools48Not listed

Tools & capabilities

Cairn tools 48

  • list_dirList files and folders directly under a workspace-relative directory.
  • get_file_treeReturn the nested file/folder tree under a directory (default: whole workspace).
  • read_detailRead a file. For .uni docs returns HTML content, flattened text, and tags; for text/.md files returns raw text plus any YAML frontmatter tags & metadata.
  • search_filesFind files/folders whose name contains `query` (case-insensitive).
  • grepSearch file contents for `pattern`; returns {path, line, text} matches.
  • get_file_tagsReturn a document's tags — from a .uni's tags array or a text file's YAML frontmatter.
  • get_tag_treeReturn {tag: [file paths]} aggregated across the workspace.
  • find_by_metaFind documents whose metadata matches all `filters` (exact, not fuzzy). Reads .uni JSON fields and .md YAML frontmatter alike. Scalar fields match case-insensitively; `tags` (or any list field) matches when every requested value is present. Example: {"status": "to-read", "project": "amazon"}.
  • list_tasksList tasks (documents with `category: task`), sorted by due date. A task is an ordinary frontmatter note with a lifecycle; this is the task view over it. `status` defaults to the open set (todo/doing/blocked) — pass "all" to include done, or a specific status / comma-separated list. `project` and `context` (e.g. "@errand") are exact case-insensitive filters; `due_before` (YYYY-MM-DD) keeps only tasks due before that date. Each result carries derived `overdue` and `today` flags relative to the current date.
  • digest_workspaceReturn a token-efficient map of the workspace: one entry (title, date, tags, summary) per document, grouped by `folder`, `tag`, or a metadata field like `status`/`project`. Read this before loading individual files.
  • list_templatesList available document templates (built-ins + workspace .cairn/templates).
  • semantic_retrieveReturn the documents most relevant to `query`. Uses embeddings when an embedding endpoint is configured (env), else lexical scoring.
  • +36 more on the listing page

Filestash tools

No tool names declared yet. Check the project README from the listing page.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Cairn

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "cairn-4": {
      "command": "uvx",
      "args": [
        "cairn-mcp-server"
      ]
    }
  }
}

Filestash

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mickaelkerjean-filestash": {
      "url": "https://demo.filestash.app/sse"
    }
  }
}

Frequently asked questions

Cairn is categorized under File Systems and uses a local stdio subprocess. Filestash belongs to File Systems and uses a remote HTTP/SSE transport. Pick Cairn for file systems work and Filestash for file systems.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Cairn has no declared pricing — check the project's own site. Filestash is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add cairn-4 and mickaelkerjean-filestash as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Cairn has a quality signal of 56/100 (Good) with 3 views, 0 installs and 2 GitHub stars. Filestash has 51/100 (Good) with 3 views, 0 installs and 14,823 GitHub stars.