Skip to main content
Glama
2b3pro

markdown2pdf-mcp

by 2b3pro

Markdown2PDF MCP 服务器 (markdown2pdf-mcp)

一个用于将 Markdown 文档转换为 PDF 文件的 MCP 服务器。该服务器提供了一种简单高效的方式,可以从 Markdown 内容生成 PDF,并支持语法高亮和自定义样式。此外,还支持在第 1 页添加水印。

受到 Alan Shaw 的markdown-pdf的启发。

特征

  • 使用单个命令将 Markdown 转换为 PDF

  • 代码块的语法高亮

  • PDF 输出的自定义 CSS 样式

  • 支持标准 Markdown 格式

  • 使用 Chrome 渲染引擎生成现代 PDF

  • 对现代网络功能和字体的出色支持

  • 可靠的资源加载和渲染

Related MCP server: pymupdf4llm-mcp

限制

不支持以下 Markdown 元素:

  • LaTeX 数学方程式(例如, $x^2$$$\sum_{i=1}^n x_i$$

  • 复杂的数学公式或科学计数法

坚持使用以下受支持的 markdown 元素:

  • 标题(所有级别)

  • 文本格式(粗体、斜体、删除线)

  • 列表(有序和无序)

  • 带有语法高亮的代码块

  • 表格

  • 区块引用

  • 链接

  • 图像(本地文件和外部 URL)

  • 任务列表

安装

# 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

用法

启动服务器

npm start

使用 MCP 工具

服务器提供了一个单独的工具create_pdf_from_markdown其参数如下:

{
  // 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)
}

带有选项的示例:

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",
  },
});

最小使用示例:

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",
  },
});

配置

输出目录

您可以在 MCP 设置文件中为使用 MCP 的应用程序(例如 Cline 或 Claude)配置输出目录。如果未配置,则会将文件保存到 $HOME:

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

该工具通过附加增量数字(例如,output.pdf、output-1.pdf、output-2.pdf)自动处理文件名冲突。

依赖项

Chrome 版本

此软件包使用 Chrome v131.0.6778.204 在所有安装版本中生成一致的 PDF。运行npm install时会自动安装此版本。

发展

# Build the project
npm run build

# Start the server
npm start

执照

麻省理工学院

贡献

  1. 分叉存储库

  2. 创建你的功能分支( git checkout -b feature/amazing-feature

  3. 提交您的更改( git commit -m 'Add some amazing feature'

  4. 推送到分支( git push origin feature/amazing-feature

  5. 打开拉取请求

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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