Convert-Markdown-PDF
Markdown To PDF Conversion MCP
claude mcp add --transport stdio seanivore-convert-markdown-pdf-mcp uvx md-pdf-mcp
How to use
This MCP server, md-pdf-mcp, converts Markdown content into styled PDFs, leveraging VS Code's Markdown styling conventions and Python's ReportLab for layout and typography. It provides a simple note storage system as resources, where each note has a name, description, and text/plain mimetype. The server offers one tool, add-note, to append new notes to its state, and one prompt, summarize-notes, which generates a summarized report of all stored notes. You can interact with the server using MCP-compatible clients via the uvx runtime, and you can debug through the MCP Inspector if needed. To use, run the server with your preferred MCP runtime, then invoke add-note to populate notes and summarize-notes to produce concise or detailed overviews of your collection.
How to install
Prerequisites:
- Python 3.8+ (for the underlying Python implementation)
- uvx (or an MCP runtime capable of running Python-based MCPs)
- Access to the network as required for publishing or testing
Installation steps:
-
Install the MCP runtime (uvx) if you haven't already. This can typically be done via your package manager or by following the MCP runtime's installation instructions.
-
Ensure Python dependencies are installed for the md-pdf-mcp package (if provided via PyPI or a local distribution). For a local development setup, install requirements.txt if present:
pip install -r requirements.txt
-
Install or install from source the md-pdf-mcp package in your environment. If using PyPI or a local wheel, install with:
pip install md-pdf-mcp
-
Run the server using uvx with the published command:
uvx md-pdf-mcp
-
Verify the server starts correctly by checking logs for readiness and attempting a basic operation like listing resources or adding a note.
Optional for development:
- Use the Inspector during development to monitor MCP messages and state transitions.
- If using a local development setup, start the server with verbose logging to capture initialization details.
Additional notes
Notes and tips:
- The server exposes a simple note storage system accessible via a custom note:// URI scheme for individual notes. Each note includes a name, description, and text/plain content.
- The summarize-notes prompt can accept an optional style parameter (e.g., brief or detailed) to control the depth of the generated summaries.
- The add-note tool requires two string arguments: name and content. After adding a note, the server notifies connected clients of resource changes.
- If you plan to publish your MCP server, ensure your packaging includes proper metadata and that the md-pdf-mcp package is accessible in your PyPI index or package repository.
- Debugging over stdio can be challenging; use the MCP Inspector for a clearer view of messages and state changes.
Related MCP Servers
Lambda
Creates a simple MCP tool server with "streaming" HTTP.
asterisk
Asterisk Model Context Protocol (MCP) server.
taskflow
A task management Model Context Protocol (MCP) server that helps AI assistants break down user requests into manageable tasks with subtasks, dependencies, and notes. Enforces a structured workflow with user approval steps.
mcp-community
Easily run, deploy, and connect to MCP servers
Zammad
A Model Context Protocol (MCP) server for Zammad integration, enabling AI assistants to interact with tickets, users, and organizations.
mcp -python-template
This template provides a streamlined foundation for building Model Context Protocol (MCP) servers in Python. It's designed to make AI-assisted development of MCP tools easier and more efficient.