Anymd vs Cairn
A side-by-side look at the Anymd and Cairn MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Anymd for file systems work as a local process; choose Cairn for file systems as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Anymd when
- You need dedicated capabilities in the File Systems domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
inspect, outline, read.
Choose 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.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | File Systems | File Systems |
| Quality signal | 73/100 · Great | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1,051 | 2 |
| Directory activity | 5 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 4 | 48 |
| Full listing | View Anymd | View Cairn |
Tools & capabilities
Anymd tools 4
inspectDocument and media evidence when Markdown is not enough. video_timeline (bounded scene/cue timeline) and render_frame (actual decoded frames), and cite_check (quote/location support, not semantic truth), are anymd Pro; PDF operations: inspect (page facts, metadata), render_page (PNG images), extract_regions (crop bounding boxes), ocr_pages / analyze_regions (configured OCR or vision provider), structure (JSON with document map, elements, geometry; profile quality|research adds trust and accessibility reports), compare (page-level diff of sources[0] vs sources[1]).outlineReturn a document heading tree with stable node ids, title paths, page/slide/chapter ranges and Markdown byte ranges. PDF bookmarks or detected headings, Word headings, PowerPoint slides, EPUB chapters and headings, HTML and Markdown. format json (default) or tree. Pass a node id to read to fetch that section.readRead any document as clean Markdown: PDF, Word (DOCX), PowerPoint (PPTX), Excel (XLSX/XLS/ODS), CSV, EPUB, HTML or a web URL, Markdown/text, images (metadata + OCR), audio/video (metadata, chapters, subtitles). Pages/slides/sheets carry <!-- page N --> style markers for citation. Long documents stop at max_tokens (default 20000) and end with a cursor to continue; choose pages with pages: "1-5,8". A directory returns its readable files.searchSearch documents for text: one file, many files, whole directories (recursive, .gitignore aware), or URLs, across every format read supports. Returns each hit as file + page/slide/sheet + a snippet with the match in bold. mode auto (default) finds the exact phrase and falls back to BM25-ranked passages when there is none; literal or ranked force one. Narrow directories with glob, e.g. "*.pdf".
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
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.
Anymd
{
"mcpServers": {
"anymd": {
"command": "npx",
"args": [
"-y",
"@sylphx/anymd"
]
}
}
}
Cairn
{
"mcpServers": {
"cairn-4": {
"command": "uvx",
"args": [
"cairn-mcp-server"
]
}
}
}
Frequently asked questions
Anymd is categorized under File Systems and uses a local stdio subprocess. Cairn belongs to File Systems and uses a local stdio subprocess. Pick Anymd for file systems work and Cairn 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.
Anymd is listed as free. Auth: no auth required. Cairn has no declared pricing — check the project's own site. 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 anymd and cairn-4 as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Anymd has a quality signal of 73/100 (Great) with 5 views, 0 installs and 1,051 GitHub stars. Cairn has 56/100 (Good) with 3 views, 0 installs and 2 GitHub stars.