プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Docgen MCP Server

作者:cyanheadsバージョン 0.3.0i★ –iパソコンで動く
レジストリ名io.github.cyanheads/docgen-mcp-server

インストール

概要

作者による説明(英語の原文)

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

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio, Streamable HTTP
  • カテゴリ: 文書・表計算・事務作業

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: MCP_LOG_LEVEL, DOCGEN_DOCUMENT_TTL_SECONDS, DOCGEN_MAX_DOCUMENT_BYTES, DOCGEN_RENDER_TIMEOUT_MS, DOCGEN_INLINE_MAX_BYTES, DOCGEN_PDF_ENGINE

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "docgen": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/docgen-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "DOCGEN_DOCUMENT_TTL_SECONDS": "your-value",
        "DOCGEN_MAX_DOCUMENT_BYTES": "your-value",
        "DOCGEN_RENDER_TIMEOUT_MS": "your-value",
        "DOCGEN_INLINE_MAX_BYTES": "your-value",
        "DOCGEN_PDF_ENGINE": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add docgen --env MCP_LOG_LEVEL=your-value --env DOCGEN_DOCUMENT_TTL_SECONDS=your-value --env DOCGEN_MAX_DOCUMENT_BYTES=your-value --env DOCGEN_RENDER_TIMEOUT_MS=your-value --env DOCGEN_INLINE_MAX_BYTES=your-value --env DOCGEN_PDF_ENGINE=your-value -- npx -y @cyanheads/docgen-mcp-server

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "docgen": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/docgen-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "DOCGEN_DOCUMENT_TTL_SECONDS": "your-value",
        "DOCGEN_MAX_DOCUMENT_BYTES": "your-value",
        "DOCGEN_RENDER_TIMEOUT_MS": "your-value",
        "DOCGEN_INLINE_MAX_BYTES": "your-value",
        "DOCGEN_PDF_ENGINE": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "docgen": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/docgen-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "DOCGEN_DOCUMENT_TTL_SECONDS": "your-value",
        "DOCGEN_MAX_DOCUMENT_BYTES": "your-value",
        "DOCGEN_RENDER_TIMEOUT_MS": "your-value",
        "DOCGEN_INLINE_MAX_BYTES": "your-value",
        "DOCGEN_PDF_ENGINE": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').
  • DOCGEN_DOCUMENT_TTL_SECONDS env
    How long a rendered document is retrievable before it expires, in seconds.
  • DOCGEN_MAX_DOCUMENT_BYTES env
    Hard ceiling on a single rendered artifact in bytes; exceeding it aborts the render.
  • DOCGEN_RENDER_TIMEOUT_MS env
    Per-render wall-clock budget in milliseconds; exceeding it aborts the render.
  • DOCGEN_INLINE_MAX_BYTES env
    Artifacts at or under this byte size are returned inline as base64; larger ones omit it.
  • DOCGEN_PDF_ENGINE env
    PDF rendering engine. Only 'lightweight' is implemented; 'chromium' is reserved and rejected at startup.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント cyanheads で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

文書・表計算・事務作業のほかのサーバーとの比較i

  • このカテゴリのほかの2197件のうち0%よりスターが多い
  • このカテゴリのほかの2197件のうち54%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの2197件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Docgen MCP Serverは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.3.0)がレジストリに届いたのは25 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Excel MCP Server

作者:haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

パソコンで動く★ 4,276MIT6 日前更新
インストール

MCP Server for Excel

作者:sbroenne

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

パソコンで動く★ 847MIT4 日前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

@cyanheads/docgen-mcp-server Render HTML/markdown to PDF, export rows to xlsx, and fill AcroForm PDFs via MCP. STDIO or Streamable HTTP. 5 Tools • 1 Resource


Overview

Generate documents from an agent: render HTML, markdown, or template data to PDF, export rows to Excel, and fill PDF forms. Everything renders locally on a bundled stack (pdf-lib, exceljs, marked).

Tools
ToolDescription
docgen_render_pdfRender HTML, markdown, or a {{key}} template + data object to a downloadable PDF
docgen_export_spreadsheetRender one or more named worksheets of row objects to a downloadable .xlsx workbook
docgen_fill_formFill the AcroForm fields of a supplied PDF (base64 or https URL) and optionally flatten it
docgen_list_form_fieldsInspect exact AcroForm field names, types, required flags and choice options without changing the PDF
docgen_get_documentRe-fetch a previously rendered document by the id a render/export/fill tool returned
Resources
ResourceDescription
docgen://document/{documentId}A rendered document by id — raw bytes as a blob plus a JSON metadata block

All document data is also reachable via the tool surface — docgen_get_document is the tool-only twin of this resource.

Capability reference

docgen_render_pdf tool
  • Provide exactly one source: { html }, { markdown }, or { template, data } for {{key}} interpolation. pageOptions controls page size/orientation, CSS-length margins, headers/footers ({{page}}, {{total}}, {{date}}) and page numbers.
  • Returns a DocumentEnvelope with pageCount; degraded: true means CSS, images or scripts were dropped, or characters were replaced with ?. The lightweight engine renders headings, paragraphs, lists and tables.
  • Typed failures: invalid_source, template_render_failed, document_too_large, render_timeout.

docgen_export_spreadsheet tool
  • Supply at least one sheet with a unique name (1–31 characters) and scalar rows[]; empty rows yield a header-only sheet. Optional columns[] sets headers, type (string / number / date / boolean), width and Excel format.
  • Omitted columns use all row keys in first-seen order. Boolean columns accept true/1/yes/on and false/0/no/off, case-insensitive; other strings stay text.
  • Returns a DocumentEnvelope with sheetCount. Typed failures: empty_workbook, invalid_sheet_name, document_too_large, render_timeout.

docgen_fill_form tool
  • Provide exactly one sourcePdf: { base64 } or { url } (public https serving application/pdf), plus fields mapping exact, case-sensitive AcroForm field names to values. Flat or XFA-only PDFs return not_a_form.
  • Obtain exact names and choice options with docgen_list_form_fields before filling an unfamiliar PDF.
  • Returns a DocumentEnvelope with pageCount and unmatchedFields[] for names with no matching field.
  • flatten: true makes the filled values non-editable (default false).

docgen_list_form_fields tool
  • Accepts the same sourcePdf base64-or-URL source as docgen_fill_form. Returns { fields: [{ name, type, required, options? }] } without modifying the PDF or storing a document.
  • Types: text, checkbox, dropdown, optionList, radioGroup, signature, button. Only dropdown, optionList and radioGroup entries include options; signatures and buttons are discovery only.
  • Nested names retain their exact paths. PDFs without AcroForm fields return not_a_form.

docgen_get_document tool
  • Supply the documentId an earlier render/export/fill returned (doc_ plus 24 url-safe characters).
  • Re-fetches its DocumentEnvelope without rendering again; an expired or unknown id returns document_expired.

docgen://document/{documentId} resource
  • Use the documentId from a render/export/fill result (doc_ plus 24 url-safe characters).
  • Returns a base64 blob with the document's MIME type and JSON metadata (documentId, byteSize, pageCount/sheetCount, createdAt, ttlSecondsRemaining). Reads the same store as docgen_get_document; expired or unknown ids return document_expired.

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

docgen-specific:

  • No external API — a bundled rendering stack (pdf-lib, exceljs, marked), so renders are local and deterministic with no upstream to fail
  • One shared DocumentEnvelope across the four document delivery tools; field inspection returns its inventory directly
  • Bounded renders — a byte ceiling (DOCGEN_MAX_DOCUMENT_BYTES) and a timeout (DOCGEN_RENDER_TIMEOUT_MS) turn a runaway render into a typed error instead of a hang
  • Tenant-scoped, expiring storage — a document id resolves only for the tenant that created it, and documents expire rather than accumulate
  • SSRF-guarded form fetch — both form tools check every address, including each redirect hop, and block private, loopback and link-local destinations

Agent-friendly output:

  • Dual-surface delivery — every envelope field appears in both structuredContent and the markdown output, including the documentId, resource URI, size, and TTL
  • Inline by size — inlineBase64 is populated only at or under DOCGEN_INLINE_MAX_BYTES; larger documents are delivered through the resource URI
  • Partial-fill reporting — docgen_fill_form returns unmatchedFields[] so the agent sees which field names didn't match
  • Typed errors with recovery hints (invalid_source, template_render_failed, document_too_large, render_timeout, not_a_form, source_unfetchable, document_expired, …); semantic validation uses ValidationError (-32007) and malformed arguments InvalidParams (-32602)

Getting started

Add the following to your MCP client configuration file. No API keys are required.

{

"mcpServers": { "docgen-mcp-server": { "type": "stdio", "command": "bunx", "args": ["@cyanheads/docgen-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info" } } } }

Or with npx (no Bun required):

{

"mcpServers": { "docgen-mcp-server": { "type": "stdio", "command": "npx", "args": ["-y", "@cyanheads/docgen-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info" } } } }

Or with Docker:

{

"mcpServers": { "docgen-mcp-server": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/docgen-mcp-server:latest" ] } } }

For Streamable HTTP, set the transport and start the server:

MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http

Server listens at http://localhost:3010/mcp

Documents are delivered by the docgen://document/{id} resource (and inline base64 when small enough) over every transport. The envelope's downloadUrl field is reserved for a future HTTP download route and is not emitted in this version.

Prerequisites
  • Bun v1.4.0 or higher (or Node.js v24+); development uses Bun v1.4.3.
Installation
  1. Clone the repository:
git clone https://github.com/cyanheads/docgen-mcp-server.git
  1. Navigate into the directory:
cd docgen-mcp-server
  1. Install dependencies:
bun install
  1. Configure environment:
cp .env.example .env

edit .env to override any defaults

Configuration

All configuration is optional — docgen runs with no required environment variables.

VariableDescriptionDefault
DOCGEN_DOCUMENT_TTL_SECONDSHow long a rendered document is retrievable before it expires, in seconds.900
DOCGEN_MAX_DOCUMENT_BYTESHard ceiling on a single rendered artifact in bytes; exceeding it aborts the render.26214400
DOCGEN_RENDER_TIMEOUT_MSPer-render wall-clock budget in milliseconds; exceeding it aborts the render.30000
DOCGEN_INLINE_MAX_BYTESArtifacts at or under this byte size are returned inline as base64; larger ones omit it.5242880
DOCGEN_PDF_ENGINEPDF rendering engine. Only lightweight is implemented; chromium is reserved and rejected at startup.lightweight
MCP_TRANSPORT_TYPETransport: stdio or http.stdio
MCP_HTTP_PORTPort for the HTTP server.3010
MCP_SESSION_MODEHTTP session mode: auto, stateful, or stateless.stateless
MCP_AUTH_MODEAuth mode: none, jwt, or oauth.none
MCP_PUBLIC_URLPublic origin behind a TLS proxy.—
MCP_LOG_LEVELLog level (RFC 5424).info
LOG_TOOL_FAILURE_PAYLOADSLog failed arguments/results, redacted by key name and capped by LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTES (default 16384). Free-form values may retain secrets.false
STORAGE_PROVIDER_TYPEStorage backend for document bytes + metadata.in-memory
OTEL_ENABLEDEnable OpenTelemetry instrumentation (spans, metrics, completion logs).false
OTEL_EXPORTER_OTLP_ENDPOINTBase OTLP URL; traces use /v1/traces, metrics use /v1/metrics. Signal-specific endpoints override it.—
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTOpt-in log endpoint, used as-is; the base URL never enables log export.—

See .env.example for the full list of optional overrides.

The def

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く