Skip to content
VS Code

docgen mcp server for VS Code

io.github.cyanheads/docgen-mcp-server

Render HTML/markdown to PDF, export rows to xlsx, and fill AcroForm PDFs.

client:VS Code transport:stdio runtime:npm

Install docgen mcp server in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "mcp-log-level",
      "description": "MCP_LOG_LEVEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "docgen-document-ttl-seconds",
      "description": "DOCGEN_DOCUMENT_TTL_SECONDS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "docgen-max-document-bytes",
      "description": "DOCGEN_MAX_DOCUMENT_BYTES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "docgen-render-timeout-ms",
      "description": "DOCGEN_RENDER_TIMEOUT_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "docgen-inline-max-bytes",
      "description": "DOCGEN_INLINE_MAX_BYTES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "docgen-pdf-engine",
      "description": "DOCGEN_PDF_ENGINE",
      "password": true
    }
  ],
  "servers": {
    "docgen-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/docgen-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "${input:mcp-log-level}",
        "DOCGEN_DOCUMENT_TTL_SECONDS": "${input:docgen-document-ttl-seconds}",
        "DOCGEN_MAX_DOCUMENT_BYTES": "${input:docgen-max-document-bytes}",
        "DOCGEN_RENDER_TIMEOUT_MS": "${input:docgen-render-timeout-ms}",
        "DOCGEN_INLINE_MAX_BYTES": "${input:docgen-inline-max-bytes}",
        "DOCGEN_PDF_ENGINE": "${input:docgen-pdf-engine}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

docgen mcp server in other clients