Skip to main content
Glama
2b3pro

markdown2pdf-mcp

by 2b3pro

Servidor MCP de Markdown2PDF (markdown2pdf-mcp)

Un servidor MCP para convertir documentos Markdown a archivos PDF. Este servidor proporciona una forma sencilla y eficiente de generar PDF a partir de contenido Markdown, con resaltado de sintaxis y estilos personalizados. También permite añadir marcas de agua en la página 1.

Inspirado en el PDF de rebajas de Alan Shaw.

Características

  • Convierte Markdown a PDF con un solo comando

  • Resaltado de sintaxis para bloques de código

  • Estilo CSS personalizado para salida PDF

  • Compatibilidad con el formato Markdown estándar

  • Generación moderna de PDF mediante el motor de renderizado de Chrome

  • Excelente soporte para fuentes y funciones web modernas

  • Carga y renderizado de recursos confiables

Related MCP server: MD-PDF MCP Server

Limitaciones

Los siguientes elementos de Markdown no son compatibles:

  • Ecuaciones matemáticas LaTeX (por ejemplo, $x^2$ o $$\sum_{i=1}^n x_i$$ )

  • Fórmulas matemáticas complejas o notación científica

Apéguese a estos elementos de rebajas admitidos:

  • Encabezados (todos los niveles)

  • Formato de texto (negrita, cursiva, tachado)

  • Listas (ordenadas y desordenadas)

  • Bloques de código con resaltado de sintaxis

  • Tablas

  • Citas en bloque

  • Campo de golf

  • Imágenes (tanto archivos locales como URL externas)

  • Listas de tareas

Instalación

# Clone the repository
git clone https://github.com/2b3pro/markdown2pdf-mcp.git

# Navigate to the project directory
cd markdown2pdf-mcp

# Install dependencies
npm install

# Build the project
npm run build

Uso

Iniciando el servidor

npm start

Uso de la herramienta MCP

El servidor proporciona una única herramienta create_pdf_from_markdown con los siguientes parámetros:

{
  // Required parameters
  markdown: string;    // Markdown content to convert

  // Optional parameters with defaults
  outputFilename?: string;  // Filename for the PDF (e.g., "output.pdf")
  paperFormat?: string;     // 'letter' (default), 'a4', 'a3', 'a5', 'legal', 'tabloid'
  paperOrientation?: string; // 'portrait' (default), 'landscape'
  paperBorder?: string;     // '2cm' (default), accepts decimal values with CSS units (e.g., '1.5cm', '2.5mm', '0.5in', '10.5px')
  watermark?: string;       // Optional watermark text (max 15 characters, uppercase)
}

Ejemplo con opciones:

await use_mcp_tool({
  server_name: "markdown2pdf",
  tool_name: "create_pdf_from_markdown",
  arguments: {
    markdown: "# Hello World\n\nThis is a test document.",
    outputFilename: "output.pdf",
    paperFormat: "a4",
    paperOrientation: "landscape",
    paperBorder: "1.5cm",
    watermark: "DRAFT",
  },
});

Ejemplo de uso mínimo:

await use_mcp_tool({
  server_name: "markdown2pdf",
  tool_name: "create_pdf_from_markdown",
  arguments: {
    markdown: "# Hello World\n\nThis is a test document.",
    outputFilename: "output.pdf",
  },
});

Configuración

Directorio de salida

Puedes configurar el directorio de salida en tu archivo de configuración de MCP para aplicaciones que usan MCP, como Cline o Claude. Si no se configura, se guardarán los archivos en $HOME:

{
  "mcpServers": {
    "markdown2pdf": {
      "command": "node",
      "args": ["path/to/markdown2pdf-mcp/build/index.js"],
      "env": {
        "M2P_OUTPUT_DIR": "/path/to/output/directory"
      }
    }
  }
}

La herramienta maneja automáticamente los conflictos de nombres de archivos agregando números incrementales (por ejemplo, salida.pdf, salida-1.pdf, salida-2.pdf).

Dependencias

Versión de Chrome

Este paquete usa Chrome v131.0.6778.204 para una generación de PDF consistente en todas las instalaciones. Esta versión se instala automáticamente al ejecutar npm install .

  • tmp - Manejo de archivos temporales

Desarrollo

# Build the project
npm run build

# Start the server
npm start

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Contribuyendo

  1. Bifurcar el repositorio

  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )

  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )

  4. Empujar a la rama ( git push origin feature/amazing-feature )

  5. Abrir una solicitud de extracción

Available Tools

1 tool
create_pdf_from_markdownA

Convert markdown content to PDF. Supports basic markdown elements like headers, lists, tables, code blocks, blockquotes, images (both local and external URLs), and Mermaid diagrams. Note: Cannot handle LaTeX math equations. Mermaid syntax errors will be displayed directly in the PDF output.

ParametersJSON Schema
NameRequiredDescriptionDefault
markdownYesMarkdown content to convert to PDF
outputFilenameNoCreate a filename for the PDF file to be saved (default: "final-output.pdf"). The environmental variable M2P_OUTPUT_DIR sets the output path directory. If directory is not provided, it will default to user's HOME directory.
paperBorderNoBorder margin for the PDF (default: 2cm). Use CSS units (cm, mm, in, px)20mm
paperFormatNoPaper format for the PDF (default: letter)letter
paperOrientationNoPaper orientation for the PDF (default: portrait)portrait
watermarkNoOptional watermark text (max 15 characters, uppercase), e.g. "DRAFT", "PRELIMINARY", "CONFIDENTIAL", "FOR REVIEW", etc

TDQS

A4/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 full burden and does well by disclosing key behavioral traits: it describes the conversion process, notes limitations (cannot handle LaTeX math), and specifies how errors (Mermaid syntax errors) are handled in the output. It also hints at file-saving behavior via the outputFilename parameter context.

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 appropriately sized and front-loaded, starting with the core purpose, then listing supported elements, and ending with limitations. Every sentence adds value without redundancy, making it efficient and easy to parse.

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?

Given the tool's complexity (6 parameters, no output schema, no annotations), the description is quite complete: it covers purpose, supported features, limitations, and behavioral aspects. However, it could improve by mentioning the output format (PDF file) more explicitly or noting any side effects like file creation, though some of this is inferred from parameters.

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?

The schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description does not add any parameter-specific semantics beyond what the schema provides, such as explaining interactions between parameters or usage nuances. This meets the baseline for high schema coverage.

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 purpose with a specific verb ('Convert') and resource ('markdown content to PDF'), and distinguishes it by listing supported elements (headers, lists, tables, etc.) and limitations (no LaTeX math, Mermaid errors displayed). With no sibling tools, this level of detail is excellent.

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 usage by specifying what markdown elements are supported and what is not handled (LaTeX math), but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., other PDF generators or markdown processors). With no sibling tools, this is adequate but lacks broader context.

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. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedcreate_pdf_from_markdown

TDQS

A3.9/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct by default.

Naming Consistency5/5

A single tool inherently has consistent naming, as there are no other tools to compare against. The name 'create_pdf_from_markdown' follows a clear verb_noun pattern.

Tool Count2/5

One tool is too few for a server's purpose, as it severely limits functionality and flexibility. The server's scope (markdown to PDF conversion) could reasonably support additional tools for customization, validation, or batch processing.

Completeness2/5

The tool surface is severely incomplete for markdown-to-PDF conversion. While the core conversion is covered, there are obvious gaps such as no tools for configuring PDF settings (e.g., margins, page size), handling errors gracefully, or managing multiple conversions efficiently.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/2b3pro/markdown2pdf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server