Skip to content

Getting started ​

anymd is one binary that runs as an MCP server for your agent and as a command-line converter. Every MCP client runs the same command:

bash
npx -y @sylphx/anymd

Node 18+ is the only requirement; npm installs the native binary for your platform. No API key, no account.

To add anymd to every MCP client on your machine at once (Claude Code, Codex, Cursor, VS Code, Claude Desktop, Windsurf, Gemini CLI):

bash
npx -y @sylphx/anymd setup     # --dry-run to preview, --remove to undo

It is safe to run again. The sections below add it to one client by hand.

Prefer Docker? It runs the same prebuilt binary, with no Node needed:

bash
docker run --rm -v "$PWD:/data" ghcr.io/sylphxai/anymd report.pdf > report.md
docker run -i --rm ghcr.io/sylphxai/anymd    # MCP server on stdio (amd64 and arm64)

The image uses glibc 2.17 or newer, so Alpine (musl) needs cargo install anymd instead.

Python wheels and a Python API are prepared in this repository but are not published to PyPI yet. Use npm or Docker until publication; pip install anymd and uvx anymd do not currently install this project.

On Windows, winget install Sylphx.anymd installs the same prebuilt binary. On macOS and Linux, brew install sylphxai/tap/anymd. With Scoop, add https://github.com/SylphxAI/scoop-bucket and run scoop install anymd.

Prefer Cargo? cargo install anymd builds the same binary from crates.io. It needs Rust 1.95+, CMake and a C++ compiler, and includes bundled ASR. Local doc-VLM OCR is a separate engine: anymd setup ocr downloads it (a small executable, SHA-256 verified) with the pinned models, or build with --features ocr-vlm to link it in; without setup, automatic OCR keeps using installed tesseract. Audio and video still use optional ffmpeg.

Claude Code ​

bash
claude mcp add anymd -- npx -y @sylphx/anymd

Codex ​

bash
codex mcp add anymd -- npx -y @sylphx/anymd

or in ~/.codex/config.toml:

toml
[mcp_servers.anymd]
command = "npx"
args = ["-y", "@sylphx/anymd"]

Cursor ​

Add to Cursor with one click, or in .cursor/mcp.json:

json
{ "mcpServers": { "anymd": { "command": "npx", "args": ["-y", "@sylphx/anymd"] } } }

VS Code ​

Install in VS Code with one click, or from a terminal:

bash
code --add-mcp '{"name":"anymd","command":"npx","args":["-y","@sylphx/anymd"]}'

or in .vscode/mcp.json:

json
{ "servers": { "anymd": { "type": "stdio", "command": "npx", "args": ["-y", "@sylphx/anymd"] } } }

Claude Desktop ​

One click: download anymd-<version>.mcpb from the latest release and open it in Claude Desktop. anymd-<version>-<platform>.mcpb carries one platform's binary and is smaller. Or by hand:

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

json
{ "mcpServers": { "anymd": { "command": "npx", "args": ["-y", "@sylphx/anymd"] } } }

Windsurf, Zed, Cline, and other clients ​

Any client that speaks MCP over stdio: command npx, args ["-y", "@sylphx/anymd"].

To keep the server inside one folder, add --allow-dir:

json
{ "command": "npx", "args": ["-y", "@sylphx/anymd", "--allow-dir=/path/to/docs"] }

CLI only ​

bash
npm install -g @sylphx/anymd     # or run it once with: npx -y @sylphx/anymd <file>
# or: docker run --rm -v "$PWD:/data" ghcr.io/sylphxai/anymd <file>
anymd report.pdf > report.md

Verify a download ​

Every release asset (the .tar.gz and .zip binaries and the .mcpb bundles) is listed in SHA256SUMS and carries a signed GitHub artifact attestation that names the workflow run that built it. The release also attaches a CycloneDX software bill of materials (anymd-<version>.cdx.json).

bash
# download an asset and SHA256SUMS from the release, then:
sha256sum -c SHA256SUMS --ignore-missing        # macOS: shasum -a 256 -c SHA256SUMS --ignore-missing
gh attestation verify anymd-darwin-arm64.tar.gz --repo SylphxAI/anymd

Try it ​

Ask your agent something that needs a document:

Summarize the results table in papers/attention.pdf and cite the page.

The agent calls read and gets Markdown back with <!-- page N --> anchors, so it can cite the page. For a folder of files, it calls search first.

Run anymd doctor to see which optional tools (OCR, audio/video) anymd found on your machine. See Formats.