MCP.Market

ezmd MCP server

by larpey·io.github.larpey/ezmd·v0.1.1

Convert files, URLs and text to LLM-ready Markdown with paging, provenance and warnings.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

0 stars171 downloads/wk

Reviews

Write one

Nobody has reviewed ezmd yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

ezmd tools (5)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • convert_file

    Convert a local file (PDF, DOCX, PPTX, XLSX, HTML, CSV, images, audio, ...) to Markdown. path must be absolute and inside the server's allowed directories. Clients without a filesystem may instead pass data_url (a base64 data: URL under 1 MB). Returns page 1, sections, warnings and next_cursor. options: as for convert_url (output options; limits may only be lowered).

  • convert_text

    Convert pasted text, HTML, CSV, JSON, Markdown or any string to clean Markdown. source_hint is a MIME type or extension ("text/html", "csv") used to break ties; detection runs on the content.

  • convert_url

    Convert a web page or document URL (http/https) to Markdown. Returns page 1 of the result (at most max_tokens, default 8000, max 50000), the section list, warnings, and next_cursor for get_job. profile: full | compact | rag | agent (default agent). options: output options such as {"ocr": false, "languages": ["en"], "max_pages": 50}; limits (max_pages, max_bytes, max_seconds, max_duration_seconds)

  • get_job

    Return a job's status while it runs, otherwise the page at cursor (or page 1). This is the pagination endpoint for all convert tools: pass the previous result's next_cursor unchanged. A cursor is bound to its job and profile.

  • list_capabilities

    Supported input types and converters (with the extra each needs when not installed), profiles, limits, and whether URL fetching is allowed. Call it to decide whether to try an input or ask the user to upload it instead.

Public scan report

scanner v0.1.10 · 2026-10-24 · same rubric, same numbers if you re-run it

no findings
  • Code scan14 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 0 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How ezmd compares

Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
83/100
higher than 68% of 4,460 AI and agents servers
Tools
5
the typical AI and agents server has 6
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
Downloads a week
171
more than 72% of 1,538 AI and agents servers with a package

What its tools let an agent do: 5 read

Install ezmd in Claude Code, Cursor or VS Code

claude mcp add ezmd -- uvx ezmd-mcp
Add to Cursor

What the publisher says

From the ezmd repository's README, as published. We do not edit it. Read it on GitHub

ezmd

Anything in. Clean Markdown out. ezmd turns PDFs, Office files, web pages, data files, code and archives into Markdown that AI models read well, keeps a record of where every part came from, and tells you what it could not convert.

<!-- readme: skip (installs from the network) -->

pip install ezmd                       # Python 3.12 or newer; or: uv tool install ezmd
ezmd convert paper.pdf                 # Markdown on stdout, warnings on stderr
ezmd convert https://example.com -o page.md

Apache-2.0. Runs on a CPU with no model downloads. Works as a CLI, a Python library, an MCP server for Claude, Cursor and other agents, a REST API with a web UI, and a self-hosted Docker stack.

What you get

Converting the Mamba paper (36 pages, CC BY 4.0) with the default install takes about four seconds and gives one Markdown file:

---
title: "Mamba: Linear-Time Sequence Modeling with Selective State Spaces"
source: "mamba.pdf"
source_type: pdf
pages: 36
word_count: 22409
tokens: {o200k_base: 44058, cl100k_base: 44292, claude_approx: 47583}
warnings: [removed_script_or_macro, engine_fallback, removed_running_header_footer, injection_suspected]
---
# Mamba: Linear-Time Sequence Modeling with Selective State Spaces

## 1 Introduction {#sec-1}
...
## 3 Selective State Space Models {#sec-3}
### 3.1 Motivation: Selection as a Means of Compression {#sec-3-1}

Every conversion comes with three things:

content hash, and the list of warning codes. An agent can decide what to do with a document before reading it.

  • A header of facts. Title, source, page count, word count, token counts under three tokenizers, a

superscripts stay superscripts (10²⁰, not 1020), lists stay lists, links keep their targets. Running headers, footers and page numbers are removed; words broken across lines are joined.

  • Structure, kept. Headings follow the document's own outline, with anchors. Tables stay tables,

a count, the pages involved and a suggestion: pages with no text layer, glyphs the PDF's fonts cannot map to text, a table that lost its header, content that looks like instructions to an AI. The full list is in docs/warnings.md.

  • Warnings, not silence. Everything ezmd detects it could not convert becomes a warning with a code,

With --sidecar, a JSON file beside the Markdown records the page and position of every block, so answers can cite the page they came from.

Use it from

The command line

<!-- readme: run -->

uv run ezmd convert fixtures/office/docx-review/input.docx --profile compact
uv run ezmd convert fixtures/pdf/born-digital-report/input.pdf --profile rag
uv run ezmd convert fixtures/text/markdown-kitchen-sink/input.md --json
uv run ezmd detect fixtures/pdf/born-digital-report/input.pdf
uv run ezmd batch fixtures/text --recursive --out out/text

The commands above run from a source checkout and use files from fixtures/, so you can paste them as they are; installed, drop the uv run. Warnings go to stderr as WARN [code] message. ezmd batch skips unchanged inputs when run again. URLs are fetched through an SSRF guard that refuses private and loopback addresses:

<!-- readme: skip (needs network access) -->

uv run ezmd convert https://example.com --profile compact

Every command and option: docs/cli.md.

Python

<!-- readme: run -->

import ezmd

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

ezmd: common questions

Is ezmd MCP server safe?
Mostly: it is graded B (83/100). Read the ezmd safety report
How do I install ezmd?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does ezmd need an API key?
Yes. The registry entry asks for EZMD_API_KEY.
Is ezmd maintained?
The last commit was 11 days ago (2026-10-24). The latest release is v0.1.1.
What can I use instead of ezmd?
Servers from other publishers that do the same job: Basic Memory MCP server, DataSinking MCP server and PaperBanana MCP server.
How does ezmd compare with other AI and agents MCP servers?
safety score 83/100 (higher than 68% of 4,460 AI and agents servers); tools 5 (the typical AI and agents server has 6); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to ezmd

Same job from other publishers: the closest match first, then the best rated.

  • Basic Memory
    Local-first knowledge management with bi-directional LLM sync via Markdown files.
    B
  • DataSinking
    Full-text financial reports (US, China, Japan, Korea, Taiwan, UK) as clean Markdown for RAG agents.
    A
  • PaperBanana
    Generate academic diagrams and statistical plots from text using multi-agent AI.
    A
  • IWE (iwe.md)
    Markdown knowledge base as agent memory. Runs against the notes directory it is started in.
    A
  • Agent Recall
    Correction-first agent memory. Precision KPI tracks if agents heed warnings. 5 layers, local-only.
    A