mcp-md-converter
Allows converting Markdown to Google Docs by uploading HTML to Google Drive.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-md-converterConvert README.md to PDF and save as output.pdf"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-md-converter
MCP server exposing two tools so an AI coding agent (Claude Code, etc.) can turn a Markdown file it just wrote into a PDF or a Google Doc.
md_to_pdf— renders Markdown → HTML → PDF locally via headless Chromium (puppeteer). No network, no Google account needed.md_to_gdoc— uploads Markdown (as HTML) to Google Drive, which auto-converts it into a native, formatted Google Doc (headings, lists, tables, code blocks).
1. Install
cd mcp-md-converter
npm install
npm run buildRelated MCP server: Markdown2PDF MCP Server
2. Google auth (only needed for md_to_gdoc)
In Google Cloud Console, create/select a project.
Enable the Google Drive API.
Create OAuth client credentials → Application type Desktop app.
Download the JSON and save it as:
~/.mcp-md-converter/credentials.jsonRun the one-time login:
npm run authThis opens a browser, you approve access, and a
token.jsonis cached in~/.mcp-md-converter/. Refresh tokens auto-renew after that — no repeat login.
Scope used: drive.file (the app can only see/create files it makes — not your whole Drive).
3. Register with Claude Code
claude mcp add md-converter -- node /Users/bheshrajneupane/Agent/mcp-md-converter/dist/main.jsOr add directly to your MCP config (.mcp.json / Claude Code settings):
{
"mcpServers": {
"md-converter": {
"command": "node",
"args": ["/Users/bheshrajneupane/Agent/mcp-md-converter/dist/main.js"]
}
}
}4. Usage
Once registered, ask the agent things like:
"Convert README.md to a PDF at ~/Desktop/readme.pdf"
"Turn this markdown into a Google Doc titled 'Design Spec'"
Tool params:
Tool | Params |
|
|
|
|
Troubleshooting
PDF render fails to launch Chromium (sandboxed/restricted shells, some CI): point puppeteer at a system Chrome install instead of its bundled one:
export PUPPETEER_EXECUTABLE_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"Set this env var wherever the MCP server process launches (shell profile, or in the
mcpServersconfig'senvblock).
Notes
PDF rendering downloads a Chromium build via puppeteer on
npm install(~150MB, one-time).Google Doc conversion relies on Drive's HTML→Docs import, so formatting fidelity matches what you'd get pasting HTML into Drive's "New > File upload" — solid for headings, lists, tables, bold/italic, code blocks; very exotic Markdown extensions may not map 1:1.
Available Tools
2 toolsmd_to_gdocConvert Markdown to Google DocA
Upload a Markdown file (or raw Markdown text) to Google Drive as a native Google Doc, preserving headings/lists/tables/code formatting. Requires prior one-time auth (run npm run auth in the mcp-md-converter project).
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Google Doc title (defaults to filename or 'Document') | |
| markdown | No | Raw markdown text to convert (alternative to markdown_path) | |
| folder_id | No | Google Drive folder ID to place the doc in (optional) | |
| markdown_path | No | Absolute path to the .md file to convert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses the auth prerequisite and formatting preservation, but does not mention what happens if a doc with the same title exists, whether the operation can overwrite, or error behavior. The write nature is implied by 'Upload... upload' but not explicitly flagged as a mutating action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences, front-loaded with the primary action, followed by the auth prerequisite. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 optional parameters, no output schema, and no annotations, the description covers the core purpose, input formats, formatting behavior, and prerequisite auth. It does not describe return values, but since there is no output schema, this is a minor gap. The description is sufficiently complete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so a baseline of 3 applies. The description adds meaningful guidance by noting the two input alternatives ('Markdown file or raw Markdown text'), which clarifies the relationship between markdown_path and markdown. It also mentions title defaults, reinforcing the schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Upload') and clearly identifies the resource ('Markdown file... to Google Drive as a native Google Doc') and the action's scope (preserving formatting). It also distinguishes from the sibling md_to_pdf by targeting Google Docs rather than PDF output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage—converting markdown into a Google Doc—but does not explicitly state when to use this tool versus the sibling md_to_pdf. It does provide context (requires auth) but lacks exclusion criteria or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
md_to_pdfConvert Markdown to PDFA
Render a Markdown file (or raw Markdown text) to a PDF file on disk, using a headless Chromium render. No network or Google account needed.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Document title (used in <title>) | |
| markdown | No | Raw markdown text to convert (alternative to markdown_path) | |
| out_path | Yes | Absolute path to write the output .pdf file to | |
| markdown_path | No | Absolute path to the .md file to convert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses the render mechanism (headless Chromium), supports both file and raw text input, and clarifies offline operation. It does not mention overwrite behavior or error handling, but for a straightforward converter, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary action, and contains no extraneous information. Every word contributes to understanding the tool's purpose and key traits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, a full output schema is not necessary. The description, combined with a well-documented schema, covers the tool's purpose, mechanism, and offline nature. It lacks explicit return-value or error-handling details, but these are not critical for a conversion tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with clear descriptions for all 4 parameters, so the baseline is 3. The description adds minimal param-level information beyond what the schema already states, though it does highlight the dual input modes (markdown_path vs markdown), which is already captured in the schema. No significant additional semantic value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'Render a Markdown file (or raw Markdown text) to a PDF file on disk,' with a specified mechanism ('headless Chromium'). It distinguishes itself from the sibling tool md_to_gdoc by emphasizing 'No network or Google account needed,' which is a clear differentiation between a local offline converter and a Google-Docs-based one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong context for when to use this tool: it is offline and requires no network/Google account, which implicitly contrasts with the sibling tool. However, it does not explicitly name the sibling or provide 'when not to use' guidance, so it falls short of a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct output format: PDF via headless Chromium and Google Doc via Drive upload. No overlap in purpose, making selection unambiguous.
Both tool names follow the consistent 'md_to_<format>' pattern, making the naming predictable and clear.
With only two tools, the server feels slightly thin for a general-purpose Markdown converter, but it is still reasonably scoped for the specific PDF and Google Doc workflows.
The server covers two common conversion targets (PDF and Google Doc) with no missing operations within those workflows. Minor gaps exist such as no HTML or DOCX output, but the core purpose is satisfied.
Maintenance
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
Generate PDF, Word (.docx) and PowerPoint (.pptx) documents from Markdown over MCP.
Convert documents and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scanned files, any URL.
Markdown in, any format out. PDFs merged, split, watermarked. Runs on our own doc engines.
Convert Markdown, HTML, and web pages to high-quality PDF with Prince.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables conversion of Markdown content into PDF documents with customizable paper formats and orientations. Supports both inline Markdown text and file path inputs, automatically generating PDFs using Playwright and Chromium.182ISC
- AlicenseAqualityDmaintenanceConverts Markdown documents to PDF files with support for syntax highlighting, custom styling, Mermaid diagrams, optional page numbers, and configurable watermarks.176MIT
- FlicenseNot gradedqualityDmaintenanceConverts Markdown files and standalone Mermaid diagrams into high-quality PDF or PNG documents using Puppeteer and SVG rendering. It supports custom CSS styling and provides tools for professional document generation from markdown-based content.4
- AlicenseNot gradedqualityDmaintenanceConverts markdown files into professional PDF documents with automatic table of contents and interactive navigation.8MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/BheshRajNeupane/mcp-md-converter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server