Skip to main content
Glama

Server Details

Convert docs and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scans, URLs. Batch of 10.

Ownership verified
Status
Healthy
Uptime
99.8% over 61 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Robinhill85/file2markdown-mcp
GitHub Stars
0

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation4/5

The three conversion tools (convert_base64, convert_url, convert_batch) share an obvious theme, and convert_batch technically overlaps by handling both URL and base64 items. However, the descriptions clearly delineate when to use each (single programmatic input, single URL, or parallel multi-item), so an agent can select correctly.

Naming Consistency4/5

Four of five tools follow a clear verb_noun snake_case pattern (convert_base64, convert_batch, convert_url, list_supported_formats). The lone exception is usage_status, which omits a verb, a minor deviation from an otherwise predictable scheme.

Tool Count5/5

Five tools is well-scoped for a file-to-Markdown conversion service: two single-input converters, one batch converter, a discovery tool, and a quota check.

Completeness5/5

The surface covers the full conversion lifecycle for its domain: single URL input, single base64 input, batched conversion, format/limit discovery, and usage/quota status. No obvious gaps for the stated purpose.

Available Tools

5 tools
convert_base64AInspect

Convert base64-encoded file contents to Markdown.

filename is required and drives format detection (e.g. "report.docx").
Intended for programmatic MCP clients; for anything with a URL, prefer
convert_url.

quality_check: "basic" (default) attaches local output-health checks in
the `quality` field; "ai" additionally sends selected excerpts of the
converted text to TypeSafe for narrow yes/no judgments. See convert_url.
NameRequiredDescriptionDefault
filenameYes
quality_checkNobasic
content_base64Yes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the behavioral burden. It discloses that 'basic' quality checks attach local output-health checks in the quality field and that 'ai' sends selected excerpts to TypeSafe, which is useful privacy/behavioral context. It stops short of describing error handling or output shape, but the main side effects are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight paragraphs front-load the core operation, then add routing guidance and parameter detail. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a conversion tool with no output schema or annotations, the description covers purpose, the key input semantics, routing, and the quality field. It does not spell out the final return envelope or failure modes, but nothing essential to invoking the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero parameter descriptions, so the description must compensate. It explains filename's role in format detection, implies content_base64 from the first sentence, and details quality_check values and defaults. This covers all three parameters, though content_base64 could be more explicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence uses a specific verb ('Convert') and object ('base64-encoded file contents to Markdown'), and the reference to filename-driven format detection further defines scope. It also distinguishes itself from convert_url by naming the sibling, so an agent can disambiguate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states intended context ('programmatic MCP clients') and tells the agent to prefer convert_url for anything with a URL. Qualifies the quality_check parameter with exact behavior for 'basic' vs 'ai', giving clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

convert_batchAInspect

Convert 2-10 documents to Markdown in one call (Pro API key required).

Each item is either {"url": ..., "filename_hint"?: ...} or
{"content_base64": ..., "filename": ...}; types may be mixed. Items are
converted in parallel and isolated: one bad URL or file never fails the
batch — its slot returns ok:false with the error. The combined markdown
shares one output budget, split evenly across items (per-item `truncated`
flags apply). Set include_markdown=false to get only metadata + quality
per item (health-check a folder without flooding your context).

Anonymous callers: use convert_url / convert_base64 individually.
NameRequiredDescriptionDefault
itemsYes
quality_checkNobasic
include_markdownNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so: it discloses parallel execution, per-item isolation so one bad URL never fails the batch, the ok:false error slot shape, the shared output budget split evenly across items, per-item truncated flags, and the Pro API key requirement. These are exactly the non-obvious traits an agent cannot infer from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the batch size and API-key constraint, then structured line-by-line by concern (item shapes, isolation semantics, output budget, opt-out flag, alternatives). Every sentence carries information an agent needs; nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description adequately conveys the return shape (per-item ok/error, truncated flags, metadata-only mode). The one residual gap is quality_check, whose accepted values and effect are undocumented anywhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It thoroughly documents items — both accepted object shapes, the filename_hint/filename distinction, and that types may be mixed — and explains include_markdown's effect on the response. The quality_check parameter (default 'basic') is never mentioned, leaving one of three parameters undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (convert documents to Markdown), the batch size bounds (2-10), and the credential requirement (Pro API key). It also explicitly distinguishes itself from convert_url and convert_base64 by naming them as the right choice for anonymous callers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing: use this for 2-10 items in one call, and use convert_url / convert_base64 individually when anonymous. It also names a distinct use case for include_markdown=false (health-checking a folder without flooding context), which tells an agent when the metadata-only mode is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

convert_urlAInspect

Fetch a URL (web page, PDF, Office doc, and more) and convert it to Markdown.

Works on publicly accessible URLs. Web pages are converted from their
served HTML; JavaScript-rendered content may be incomplete. Optional
filename_hint (e.g. "report.pdf") helps format detection when the URL
has no file extension.

The result carries a `quality` object (output-health check of the returned
Markdown: status review / no_issues_detected / not_evaluated, coverage and
a list of issues with line locations). quality_check="basic" (default)
runs only local deterministic checks. quality_check="ai" additionally
sends selected excerpts of the CONVERTED text to TypeSafe for narrow
yes/no judgments (garbled text, hard-wrapped prose, broken tables); it is
off unless requested. No check compares against the source document.
NameRequiredDescriptionDefault
urlYes
filename_hintNo
quality_checkNobasic

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that JavaScript-rendered content may be incomplete, which is a behavioral limitation. It details the quality object and the two quality_check modes, noting that AI checks are off unless requested and that no source comparison is performed. This is rich behavioral context beyond what schema provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is multi-paragraph but each sentence contributes useful information. It front-loads the core purpose and then details parameters and behaviors. It could be slightly more concise, but the length is justified given the complexity of quality_check. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters and no annotations or output schema, this description is quite complete. It explains the return quality object, the parameter usage, and limitations. Minor gaps: it doesn't mention error handling for invalid URLs, authentication requirements (beyond public access), or response structure for success/failure. But overall, it covers the essentials for an agent to decide and call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains the purpose of filename_hint and quality_check, adding meaning to those parameters. However, it doesn't detail the format or constraints of the 'url' parameter beyond 'publicly accessible', which is already in the description. Overall, it adds value but could be more detailed on URL validation or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (fetch and convert), the resource (URL), and the output (Markdown). It distinguishes from siblings by indicating it handles URLs, whereas convert_base64 presumably handles base64-encoded input. The mention of supported document types adds specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states it works on publicly accessible URLs, mentions the filename_hint for format detection, and clarifies the quality_check options. While it doesn't explicitly say when NOT to use it, it implies using other tools for non-URL inputs. The distinction between basic and AI quality checks is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_supported_formatsAInspect

List supported input formats, per-tier limits, and which features need Pro.

Single source of truth — do not claim capabilities beyond what this returns.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral burden. It discloses that the tool is authoritative and exhaustive ('Single source of truth') and warns against extrapolating beyond its output. The verb 'List' also implies a read-only operation, though it does not explicitly confirm absence of side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no filler. The first sentence states what the tool returns; the second adds an important authority constraint. Every word contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers what the response contains (formats, tier limits, Pro features) and its authoritative nature. With no output schema, it could go slightly further in describing the response shape or grouping, but for a zero-parameter reference tool this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100%, so there is nothing for the description to add about parameters. Per the calibration rule, this earns the zero-parameter baseline of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and a clear resource ('supported input formats'), and further specifies the content categories: per-tier limits and Pro feature requirements. This distinguishes it from sibling conversion and usage tools without requiring schema inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Single source of truth — do not claim capabilities beyond what this returns' sentence provides clear context: use this tool as the authoritative reference before asserting supported capabilities. It does not explicitly name sibling tools or spell out when not to use it, so it falls just short of full exclusionary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

usage_statusAInspect

Check your tier and remaining conversions before burning a call.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does convey that this is a read-only status check and implies the check itself does not consume a conversion, but it does not explicitly state side effects, whether the call is free, or how it behaves when no conversions remain. Adequate but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, very concise, with the core action ('check tier and remaining conversions') front-loaded and the usage context appended. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema tool, the description covers what the tool reports (tier and remaining conversions) and when to call it. It does not specify output structure or numeric formats, but that is likely unnecessary for invoking the tool successfully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is empty, so there are no parameter details to add. The description correctly focuses on behavior rather than redundant parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('check') and resource ('your tier and remaining conversions'), and the phrase 'before burning a call' clarifies its role as a preflight status check. It is clearly distinct from the sibling conversion tools, which perform different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly indicates when to use the tool: before consuming a call/conversion. It does not name alternatives or exclusion conditions, but the sibling tools are unrelated enough that no further routing is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedconvert_batch
  2. 2 tool updates
    • Changedconvert_base641 field changed
      • addedInput schema / properties / quality_check
        Added value: +{
        +  "default": "basic",
        +  "title": "Quality Check",
        +  "type": "string"
        +}
    • Changedconvert_url1 field changed
      • addedInput schema / properties / quality_check
        Added value: +{
        +  "default": "basic",
        +  "title": "Quality Check",
        +  "type": "string"
        +}
  3. 4 tool updates
    • First observedconvert_base64
    • First observedconvert_url
    • First observedlist_supported_formats
    • First observedusage_status

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Converts PDF, Word, PowerPoint, Excel, and HTML documents into Markdown, handling files up to 8 MB in a single call and routing larger or scanned files through an OCR and table-detection queue that returns Markdown plus a JSON structure file. Results arrive either by polling or a signed webhook.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Convert PDFs, Word documents, Excel/CSV files, and YouTube videos into clean, structured Markdown for AI agents, LLMs, and knowledge tools.
    1
    -
  • A
    license
    A
    quality
    A
    maintenance
    Converts documents to clean Markdown for AI agents from a URL or base64 — no API key, built for remote hosting. Supports PDF (tables preserved as Markdown/CSV/JSON), DOCX, PPTX, XLSX, EPUB, HTML and CSV; scanned PDFs and images go through offline OCR. Includes full-text search, page-range reading, metadata inspection, PDF split/merge and image export, with SSRF-protected fetching, 30 MB limits and
    10
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.