Anymd logo

Anymd

Converts documents, media, web pages, and directories into searchable, citation-ready Markdown over local MCP.

Install Anymd

Run the project’s own setup commands, in order.

Setup steps from the project

anymd installs with its own commands rather than a config we can generate, so these are copied as-is. Run them in order in a terminal. Source: github.com

  1. 1. Add to your MCP client
    npx -y @sylphx/anymd setup              # add anymd to every MCP client on this machine
    
  2. 2. Run
    npx -y @sylphx/anymd setup     # --dry-run to preview, --remove to undo
    
  3. 3. Add to Claude Code
    claude mcp add anymd -- npx -y @sylphx/anymd
    
  4. 4. Add to Codex
    codex mcp add anymd -- npx -y @sylphx/anymd
    
  5. 5. Add to VS Code
    code --add-mcp '{"name":"anymd","command":"npx","args":["-y","@sylphx/anymd"]}'
    
  6. 6. Install
    npm install -g @sylphx/anymd     # or run it once with: npx -y @sylphx/anymd <file>
    

Overview

anymd is a local Rust MCP server that converts PDFs, Office files, EPUBs, HTML, images, and media into Markdown for AI agents. Its read, search, outline, and inspect tools support document extraction, section retrieval, cross-file search, page rendering, OCR, and evidence checks. It runs through stdio using a packaged native binary, with Node.js 18+ required for the npm installation. Reach for anymd when an agent needs local access to mixed-format files with page, slide, sheet, or chapter references.

Use cases

  • Convert mixed document folders into agent-readable Markdown
  • Search PDFs, spreadsheets, web pages, and Office files for source passages
  • Retrieve specific sections using stable outline node IDs
  • Inspect PDF pages, regions, and document structure
  • Extract OCR text and media metadata for local analysis

Key features

  • Multi-format Markdown conversion
  • Recursive cross-file and URL search
  • Citation markers and cursor-based long-document reading
  • Outline trees with stable node IDs
  • PDF rendering, OCR, structure, and comparison
  • Audio and video metadata, subtitles, and transcripts

Tools4

What Anymd lets your agent do. Expand a tool for its parameters.

Verified live~3.5k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

41/41 checks healthy over the last 37d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1.1kStargazers on the source repository.
Last commit4d agoMost recent push to the default branch.
Tools exposed4Callable tools this server registers over MCP.
Directory activity10 viewsConfig copies, upvotes, and views on AllMCPs.

How Anymd works

What anymd does

anymd turns a broad set of local and web-readable sources into Markdown that agents can process. Supported inputs include PDF, DOCX, PPTX, XLSX, XLS, ODS, CSV, EPUB, HTML, Markdown, text files, images, audio, video, web URLs, and directories. Depending on the format, output can include OCR text, metadata, chapters, subtitles, transcripts, tables, and page or slide markers such as <!-- page 3 --> for citations.

The server exposes four core document workflows: read content, search across files or URLs, inspect document evidence, and retrieve an outline. It is suited to local knowledge work, document question answering, and agents that need to locate source passages rather than rely on one large conversion result.

How it works

The MCP process communicates over standard input and output. The npm package installs or invokes a native binary for the host platform, and the server performs conversion on the local machine. Directories can be searched recursively with .gitignore awareness, and a glob can narrow the search, such as *.pdf.

read returns clean Markdown and accepts page ranges such as 1-5,8. Long results stop at a configurable token limit, defaulting to 20,000 tokens, and provide a cursor for continuation. outline returns stable node IDs, title paths, page, slide, or chapter ranges, and Markdown byte ranges; passing a node ID to read retrieves that section.

Setup and configuration

Node.js 18 or newer is required for the npm route:

Terminal
npx -y @sylphx/anymd setup

This setup command adds anymd to supported MCP clients on the machine. A manual stdio configuration runs npx -y @sylphx/anymd. The server can be restricted to a directory with --allow-dir=/path/to/docs.

The package also supports global npm installation, Homebrew on macOS and Linux, Docker images for amd64 and arm64, and a Rust installation with cargo install anymd. Prebuilt binaries are supplied through npm, pip, and Docker; building from source requires Rust 1.95+, CMake, and a C++ compiler.

OCR and local speech-to-text require explicit opt-in to download or use their supporting models. OCR can use installed local document-vision models or Tesseract, while transcripts use ffmpeg and the bundled Qwen3-ASR model.

Tools and capabilities

  • read converts supported documents, media, images, URLs, and directories into Markdown.
  • search finds exact or ranked passages in one file, multiple files, directories, or URLs. Results identify the source and page, slide, or sheet and bold the matching text.
  • outline builds heading trees for PDFs, Word, PowerPoint, EPUB, HTML, and Markdown.
  • inspect provides PDF facts and metadata, rendered pages, cropped regions, OCR or vision analysis, structure JSON, and page-level comparison. Pro capabilities include video timelines, decoded video frames, and quote-location checks.
  • PDF structure profiles can add document-map, trust, and accessibility reports; quality and research profiles control the additional reporting.

Limitations and notes

The server is designed for local execution and does not upload files in its local mode. OCR and audio transcription depend on optional local components and models. Large documents may require multiple read calls using the returned cursor. The cite_check capability checks quote and location support, not whether a claim is semantically true.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Anymd

anymd is an MCP server that connects AI agents to local documents, media, directories, and web pages. Its main tools are read for Markdown extraction, search for cross-file or URL queries, outline for section navigation, and inspect for PDF, media, OCR, rendering, structure, and evidence operations.

Run `npx -y @sylphx/anymd setup` to add anymd to supported MCP clients, or configure a client to launch `npx -y @sylphx/anymd` over stdio. Node.js 18 or newer is required for the npm installation.

Yes, anymd works with Cursor through its stdio MCP configuration. Add a server named `anymd` with command `npx` and arguments `-y` and `@sylphx/anymd`, or use Cursor’s MCP installation link.

Yes, the `search` tool recursively searches directories and respects `.gitignore` rules. It can search across supported formats, return file and page-related locations with snippets, and narrow results with a glob such as `*.pdf`.

anymd stops long `read` results at a token limit, which defaults to 20,000 tokens, and returns a cursor for continuation. You can also request selected pages with a range such as `1-5,8` or read a section by passing an outline node ID.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewAnymd AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/anymd?style=directory)](https://allmcps.com/mcp/anymd)
HTML Embed
<a href="https://allmcps.com/mcp/anymd"><img src="https://allmcps.com/api/badge/anymd?style=directory" alt="Anymd on AllMCPs" /></a>