Skip to main content
Glama

Server Details

Convert documents and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scanned files, any URL.

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

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation4/5

convert_base64 and convert_url both produce Markdown but have clearly different input methods (raw base64 content vs. fetching a URL), and the descriptions explicitly steer users between them. list_supported_formats and usage_status are distinct supporting utilities with no overlap.

Naming Consistency4/5

Most tools follow a verb_noun pattern: convert_base64, convert_url, list_supported_formats. usage_status is the only outlier, using a noun phrase instead of a verb, but all names are snake_case and predictable.

Tool Count5/5

Four tools is well-scoped for a file-to-Markdown conversion server: two conversion entry points plus supported formats and usage monitoring. Each tool earns its place without unnecessary overlap or bloat.

Completeness5/5

The tool set covers the core conversion workflows (base64 and URL inputs), provides a source of truth for supported formats, and lets agents check quota before converting. Quality checking is embedded in the conversion responses, so there are no obvious missing operations or dead ends.

Available Tools

4 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.
ParametersJSON Schema
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_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.
ParametersJSON Schema
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.

ParametersJSON Schema
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.

ParametersJSON Schema
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. 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"
        +}
  2. 4 tool updates
    • First observedconvert_base64
    • First observedconvert_url
    • First observedlist_supported_formats
    • First observedusage_status

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.