# anymd (npm · @sylphx/anymd)

Any file → clean Markdown for AI agents: PDF, Office, EPUB, HTML, images, audio/video. Local MCP.

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-26

## Components

- npm · `@sylphx/anymd`: 67/100 (this document), [markdown](https://verifymcp.io/servers/sylphxai-anymd/sylphx-anymd.md), [page](https://verifymcp.io/servers/sylphxai-anymd/sylphx-anymd)

## Channel facts

- Registry: `npm`
- Package: `@sylphx/anymd`
- Version: `8.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-26.

- **Supply Chain Security**: 63/100
  - No malware found by supply-chain analysis.
  - Known CVEs could not be checked: the version this server declares is not published in its registry.
  - No install/post-install scripts declared.
  - Dependency health could not be checked: the version this server declares is not published in its registry.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to SylphxAI/anymd).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 61/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 951 tokens (~317/item across 3 items; 3 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 83/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 50% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 3 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 4 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the anymd MCP server?

anymd runs locally as an npm package, launched with npx -y @sylphx/anymd. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

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

### Cursor

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

### VS Code

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

### Codex

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

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sylphxai-anymd": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@sylphx/anymd"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sylphxai-anymd --command npx --arg -y --arg @sylphx/anymd
```

### Hermes

```yaml
mcp_servers:
  sylphxai-anymd:
    command: "npx"
    args: ["-y", "@sylphx/anymd"]
```

### Netclaw

```json
{
  "McpServers": {
    "sylphxai-anymd": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@sylphx/anymd"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add sylphxai-anymd -t stdio -c npx -a -y @sylphx/anymd
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-26 (score 67, −11)

- [security regression] Known CVEs: pass → unverified
- [functional regression] Dependency health: 1.00 → unverified
- [functional improvement] Stability: unverified → 0.03
- [functional] Package version: 8.0.0 → 8.1.0

### 2026-09-25 (score 78)

First indexed and scored.

## MCP tools (3)

### `inspect` (~216 tokens)

Deep PDF inspection when Markdown is not enough. operation: 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]).

Input parameters:

- `include_image` (boolean|null)
- `include_metadata` (boolean|null)
- `languages` (array|null)
- `max_output_chars` (integer|null)
- `max_pages` (integer|null)
- `max_pixels_per_page` (integer|null)
- `max_regions` (integer|null)
- `operation` (required)
- `profile` (string|null): structure only: fast (default), quality, or research (adds safety, trust, accessibility).
- `sample_pages` (integer|null)
- `scale` (number|null)
- `sources` (array, required)
- `timeout_ms` (integer|null)

### `read` (~394 tokens)

Read 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.

Input parameters:

- `cursor` (string|null): Continue a previous read with the cursor from its last line.
- `download_whisper_model` (boolean|null, required): Implies transcript. When no whisper model is installed, download ggml base.en (~148 MB, SHA-256 verified; ANYMD_WHISPER_MODEL_SIZE picks tiny/base/small) into the anymd cache first. Default false.
- `max_tokens` (integer|null): Token budget (default 20000). Longer documents stop at a unit boundary and end with a cursor.
- `ocr` (boolean|null, required): OCR images and image-only PDF pages with a local tesseract. Default: automatic when tesseract is installed; false disables.
- `pages` (string|null): Pages (PDF), slides, sheets, or chapters to read, e.g. "1-5,8". Default: all.
- `source` (string, required): File path, http(s) URL, or directory. PDF, DOCX, PPTX, XLSX/XLS/ODS, CSV/TSV, EPUB, HTML, Markdown/text, images, audio/video, SRT/VTT. A directory returns the list of readable files.
- `transcript` (boolean|null, required): Transcribe audio/video with a local whisper.cpp. Uses ANYMD_WHISPER_MODEL or a model in the anymd cache. Default false.

### `search` (~253 tokens)

Search 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".

Input parameters:

- `case_sensitive` (boolean|null, required)
- `context_chars` (integer|null): Snippet context characters on each side (default 80).
- `glob` (string|null): Only search files matching this glob inside directories, e.g. "*.pdf" or "reports/**".
- `max_results` (integer|null): Maximum hits to return (default 20).
- `mode` (string|null): auto (default): exact phrase, falling back to ranked passages when nothing matches. literal: exact phrase only. ranked: BM25 over the query words.
- `query` (string, required): Text to find.
- `sources` (array): Files, directories (searched recursively, .gitignore respected), or URLs. Default: the current directory.
- `whole_word` (boolean|null, required)

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/sylphxai-anymd/sylphx-anymd#diagnostics

## Score history

- 2026-09-26: 67
- 2026-09-25: 78

## Common questions

### What is the anymd MCP server?

anymd is an MCP server listed in the public MCP registry as io.github.SylphxAI/anymd. Any file → clean Markdown for AI agents: PDF, Office, EPUB, HTML, images, audio/video. Local MCP. This page covers its npm package (@sylphx/anymd).

### Is the anymd MCP server safe to use?

anymd scores 67 out of 100 on VerifyMCP. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the anymd MCP server expose?

anymd exposes 3 tools: inspect, read, search. Their descriptions and schemas cost roughly 863 tokens of context every time the server is loaded.

### Is the anymd MCP server still maintained?

anymd is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the anymd MCP server under?

anymd declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@sylphx/anymd
- Socket report: https://socket.dev/npm/package/@sylphx/anymd
- Repository: https://github.com/SylphxAI/anymd
- Website: https://sylphxai.github.io/anymd/
- Changelog RSS feed: https://verifymcp.io/servers/sylphxai-anymd/sylphx-anymd.xml
- Changelog JSON feed: https://verifymcp.io/servers/sylphxai-anymd/sylphx-anymd.json
- HTML version of this page: https://verifymcp.io/servers/sylphxai-anymd/sylphx-anymd
