About docmark
docmark is a local stdio MCP front end that forwards URLs or file contents to the hosted file2markdown service and returns its Markdown output. It is for users converting documents or web pages, with single-item and batch tools plus format and usage information.
Key features
- 01Convert public URLs to Markdown
- 02Convert base64 file contents
- 03Batch 2–10 conversion items
- 04List supported formats and tier limits
- 05Check usage status
Use cases
- 01Turning a document URL into Markdown
- 02Converting a local file's base64 contents
- 03Processing a small batch of documents
- 04Checking available formats and remaining conversions
MCP support
Exposes tools for URL, base64, and batch conversion, supported-format lookup, and usage status through a stdio MCP server. Each call is forwarded to the hosted file2markdown API; the API key is optional.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Public URL of the web page or document to convert to Markdown. |
Details
From the project READMEdocmark
docmark is a local stdio front end for a hosted document-to-Markdown conversion service. Give it a public URL, the base64 contents of a file, or a small batch of either, and it asks the hosted service to do the conversion and hands the Markdown back.
docmark does not convert anything itself. Each tool call is
forwarded as a JSON POST to the hosted file2markdown API, and the
upstream payload is returned as-is — including the service's
truncated flag when output reaches its 200,000-character cap.
Conversion quality, supported-format coverage, availability, and
tier limits are the hosted service's.
Documented input kinds include PDF, DOCX, PPTX, XLSX, CSV, JSON,
XML, HTML, EPUB, images (with OCR), audio, and ZIP archives. Call
list_supported_formats for the live list, per-tier limits, and
which features need Pro.
FILE2MARKDOWN_API_KEY is optional: the free tier works keyless.
When a key is set it is sent as Authorization: Bearer <key>;
when it is absent no Authorization header is sent. DOCMARK_API_URL
overrides the API base (default https://api.file2markdown.ai,
a labelled reconstruction of the wire shape).
Batch conversions take 2–10 items per call, enforced locally
before anything is sent. Each item is either {url} or
{content_base64, filename}.
Install
npx @reneturcios/docmark convert_url --url https://example.com/report.pdf
docker run -i ghcr.io/cloudcorprecords/docmark
CLI
docmark convert_url --url https://example.com/report.pdf
docmark convert_base64 --content-base64 aGVsbG8= --filename note.txt
docmark convert_base64 --file ./report.pdf
docmark convert_batch --items-json '[{"url":"https://example.com/a.pdf"},{"content_base64":"eA==","filename":"x.txt"}]'
docmark list_supported_formats
docmark usage_status
docmark --version
Exit codes: 0 success, 1 upstream or validation error, 2 usage error.
MCP server
npx -y @reneturcios/docmark mcp
{
"mcpServers": {
"docmark": {
"command": "npx",
"args": ["-y", "@reneturcios/docmark", "mcp"],
"env": { "FILE2MARKDOWN_API_KEY": "your-key-if-you-have-one" }
}
}
}
The env block is optional — omit it for the keyless free tier.
Tools
| Tool | Input | What it returns |
|---|---|---|
convert_url | url (string, required) | The upstream conversion of the page or document at that URL. |
convert_base64 | content_base64 (string, required), filename (string, optional) | The upstream conversion of the supplied file contents. |
convert_batch | items (array, required, 2–10 items, each {url} or {content_base64, filename}) | Per-item upstream results. |
list_supported_formats | — | Formats, per-tier limits, and what requires Pro, per the service. |
usage_status | — | The caller's tier and remaining conversions for today. |
Upstream failures — HTTP errors and unreachable hosts — are reported as tool errors with the underlying message.
Development
npm install
npm run build
npm test
npm run dev
Tests run entirely on fake-fetch fixtures; no network is used and no live call to the hosted service is made.
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.