Skip to main content
Glama

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 build

Related MCP server: Markdown2PDF MCP Server

2. Google auth (only needed for md_to_gdoc)

  1. In Google Cloud Console, create/select a project.

  2. Enable the Google Drive API.

  3. Create OAuth client credentials → Application type Desktop app.

  4. Download the JSON and save it as:

    ~/.mcp-md-converter/credentials.json
  5. Run the one-time login:

    npm run auth

    This opens a browser, you approve access, and a token.json is 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.js

Or 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

md_to_pdf

markdown_path | markdown, out_path (required), title

md_to_gdoc

markdown_path | markdown, title, folder_id (optional Drive folder)

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 mcpServers config's env block).

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 tools
md_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).

Inputs: title, markdown, folder_id, markdown_path.

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.

Inputs: out_path (required), title, markdown, markdown_path.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 2 tools

    Disambiguation5/5

    Each tool targets a distinct output format: PDF via headless Chromium and Google Doc via Drive upload. No overlap in purpose, making selection unambiguous.

    Naming Consistency5/5

    Both tool names follow the consistent 'md_to_<format>' pattern, making the naming predictable and clear.

    Tool Count3/5

    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.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers