Skip to main content
Glama

Server Details

Convert Markdown, HTML, and web pages to high-quality PDF with Prince.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinctly different input source: HTML content, Markdown content, and a URL. There is no overlap in purpose, making selection unambiguous.

Naming Consistency5/5

All tool names follow the exact same verb_noun pattern: html_to_pdf, markdown_to_pdf, url_to_pdf. This is perfectly consistent and predictable.

Tool Count5/5

With only 3 tools, the server is tightly scoped to its core function of PDF conversion from three common input types. Each tool earns its place.

Completeness4/5

The set covers the most common conversion inputs (HTML, Markdown, URL). A minor gap is lack of direct file input, but these three cover the majority of use cases.

Available Tools

3 tools
html_to_pdfA
Read-only
Inspect

Convert HTML content to PDF using Prince.

Args:
    content: HTML content to convert
    style: Additional CSS to apply (inline stylesheet content)
    page_size: Page size (e.g., A4, letter)
    page_margin: Page margins (e.g., 20mm)
    javascript: Enable JavaScript execution
    pdf_profile: PDF profile (e.g., PDF/A-3b, PDF/UA-1)
    output_filename: Output filename for the PDF (default: "output.pdf")
ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo
contentYes
page_sizeNo
javascriptNo
page_marginNo
pdf_profileNo
output_filenameNo
Behavior3/5

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

Annotations already cover safety hints (readOnly, destructive). The description adds engine detail (Prince) and default filename, but does not disclose return value or file output behavior. While output_filename suggests file creation, readOnlyHint=true is not directly contradicted, so no contradiction is flagged.

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?

The description is front-loaded with a one-line purpose followed by a structured Args list. Every line contributes value, with no redundancy or filler.

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

Completeness3/5

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

Given 7 parameters, no output schema, and only base annotations, the description should explain return behavior and side effects. It does not mention where the PDF is written or what is returned. It also lacks notes on limitations or integration with sibling tools, leaving noticeable gaps.

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 descriptions are absent (0% coverage), so the description must compensate. It explains all parameters with concise purposes, examples for page_size and page_margin, and default for output_filename. However, values for pdf_profile and page_size are not fully enumerated.

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 'Convert HTML content to PDF using Prince', specifying both input and output, and naming the engine. This distinguishes it from siblings like markdown_to_pdf and url_to_pdf.

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

Usage Guidelines3/5

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

The description implies use when HTML content needs conversion to PDF, but does not explicitly mention alternatives or when-not-to-use scenarios. Context is clear but exclusions are absent.

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

markdown_to_pdfA
Read-only
Inspect

Convert Markdown content to PDF using Prince.

Args:
    content: Markdown content to convert
    style: Additional CSS to apply (inline stylesheet content)
    page_size: Page size (e.g., A4, letter)
    page_margin: Page margins (e.g., 20mm)
    javascript: Enable JavaScript execution
    pdf_profile: PDF profile (e.g., PDF/A-3b, PDF/UA-1)
    output_filename: Output filename for the PDF (default: "output.pdf")
ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo
contentYes
page_sizeNo
javascriptNo
page_marginNo
pdf_profileNo
output_filenameNo
Behavior3/5

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

Annotations already provide readOnlyHint and destructiveHint. The description adds behavioral context by naming the Prince engine and the JavaScript execution flag. But it doesn't describe return format or side effects (e.g., whether file is saved to disk), so partial transparency.

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 front-loaded with a clear main sentence and follows with a structured, concise Args list. Each parameter description is useful, though the list is somewhat long.

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

Completeness3/5

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

The description covers parameters well but lacks explanation of the output format or file handling. No output schema exists, so this gap affects completeness. The tool is relatively simple but could state what the returned value is.

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?

With zero schema description coverage, the description's Args section compensates well by providing meaningful descriptions for each parameter, including examples and defaults. It adds value beyond the schema's titles.

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 'Convert Markdown content to PDF using Prince' with a specific verb and resource. It clearly differentiates from sibling tools html_to_pdf and url_to_pdf by specifying Markdown as input format.

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 clearly implies usage for Markdown content, providing context. However, it does not explicitly mention alternatives or exclusions, like 'for HTML use html_to_pdf', so it falls short of a 5.

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

url_to_pdfA
Read-only
Inspect

Fetch a URL and convert it to PDF using Prince.

Args:
    url: URL of a document to fetch and convert
    style: Additional CSS to apply (inline stylesheet content)
    page_size: Page size (e.g., A4, letter)
    page_margin: Page margins (e.g., 20mm)
    javascript: Enable JavaScript execution
    pdf_profile: PDF profile (e.g., PDF/A-3b, PDF/UA-1)
    output_filename: Output filename for the PDF (default: "output.pdf")
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
styleNo
page_sizeNo
javascriptNo
page_marginNo
pdf_profileNo
output_filenameNo
Behavior4/5

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

The description adds valuable context beyond the annotations by explaining that the tool fetches a URL and uses Prince, plus it gives details about JavaScript execution and PDF profiles. Annotations already declare readOnlyHint and openWorldHint, but the description enriches these with meaningful conversion specifics without contradicting them.

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?

The description is concise and well-structured: a one-sentence summary followed by a clean, tabular args list. Every line adds value, with no redundant phrases or extraneous details.

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

Completeness3/5

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

The description covers all parameters but omits the return format (e.g., PDF binary or saved file path) and error behavior, especially since there is no output schema. It also lacks guidance on prerequisites like network access or Prince installation, leaving some gaps for a moderately complex tool.

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

Parameters5/5

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

With 0% schema description coverage, the description carries the full burden of explaining parameters. It provides clear, concise explanations for all seven parameters, including examples for page_size, page_margin, and pdf_profile, making the schema far more understandable.

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 tool's function with a specific verb and resource: 'Fetch a URL and convert it to PDF using Prince.' This distinctly differentiates it from sibling tools html_to_pdf and markdown_to_pdf, which handle HTML and markdown inputs respectively.

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 clearly implies the tool is for URLs, providing clear context on when to use it. However, it does not explicitly mention alternatives or exclusions, such as 'use html_to_pdf for HTML strings,' so it falls short of a 5.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources