PDF Writer (PDF Agent Stack)
Create and edit PDFs: text, Markdown, tables, metadata and pages, with Japanese font embedding.
Connector by shuji-bonji · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/shuji-bonji-pdf-writer-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 0 read · 18 write · 2 delete
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 20
Read from the source code; the running server may list different tools.
Write 18 · Create, change, send or run things.
add_annotationadd_bookmarksadd_watermarkattach_filecreate_markdown_pdfcreate_table_pdfcreate_text_pdfensure_pdfaensure_taggedextract_pagesfill_formmerge_pdfs
Show 6 more tools
reorder_pagesrotate_pagesset_metadatasplit_pdfstamp_page_numberstag_form_fields
Delete 2 · Delete, drop, revoke or wipe things.
delete_pagesflatten_form
Tools (20)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_annotationAdd AnnotationAdd one annotation to a page: sticky note (text), highlight, or rectangle (square). Coordinates are in PDF space (origin bottom-left, pt). For signed PDFs, preserveSignatures: true appends an incremental update without invalidating existing signatures (in tagged documents the enclosure in an Annot structure element rides the same update, preserving PDF/UA conformance).
add_bookmarksAdd Bookmarks (Outline)Set the bookmarks (outline) of a PDF. Existing bookmarks are replaced. Nest with children. For signed PDFs, preserveSignatures: true sets them while keeping the signatures intact.
add_watermarkAdd WatermarkOverlay a diagonal watermark across the middle of each page ("社外秘" / "DRAFT" / "COPY", etc.). Drawn faintly behind the content by default. In tagged PDFs it is wrapped as an Artifact, preserving PDF/UA conformance. CJK watermarks need fontPath or the PDF_WRITER_FONT environment variable.
attach_fileAttach File (Embedded File)Embed (attach) a file into a PDF. Registers it under /Names /EmbeddedFiles and the catalog /AF, with an AFRelationship. For PDF/A-3 (ISO 19005-3) and Japanese e-bookkeeping-law (電子帳簿保存法) workflows that bundle "a human-readable invoice PDF + machine-readable data (CSV/XML)" into one file.
create_markdown_pdfCreate PDF from MarkdownCreate a PDF from Markdown. Supports headings, paragraphs, bullet/numbered lists, code blocks, quotes, horizontal rules and tables. Inline decoration markers are stripped and the text rendered plain (single font).
create_table_pdfCreate Table PDFCreate a ruled table PDF from headers and row data. Column widths are computed from the content, cells wrap, and the header row is redrawn after page breaks.
create_text_pdfCreate PDF from Plain TextCreate a PDF from plain text. Honours line breaks (\n) and treats blank lines as paragraph breaks. Long lines wrap automatically.
delete_pagesDelete Pagescan change or delete dataCreate a new PDF with the given pages removed. Deleting every page is an error. Pages are copied into a new document, so document-level information (tagged structure, XMP, attachments, AcroForm, bookmarks, etc.) is not carried over. Anything lost is reported in warnings; follow up on the output with attach_file / ensure_tagged / add_bookmarks / set_metadata as needed.
ensure_pdfaEnsure PDF/A (archival conformance scaffold)Put an existing PDF onto the PDF/A "vessel" (the PDF/A counterpart of ensure_tagged). Choose the flavour: "pdfa-3b" (default) / "pdfa-4" / "pdfa-4f". Supplies only the missing document-level requirements: the trailer /ID (ISO 32000-1 14.4), an sRGB OutputIntent (GTS_PDFA1; an ICC profile is generated and embedded), and XMP pdfaid. **The -4 flavours additionally set the header to PDF 2.0 and delete the Info dictionary** (-4 forbids Info unless the catalog has /PieceInfo — stricter than ISO 32000-2 14.3.3). **Content, structure tree and fonts are never touched.** **Documents with attachments mus…
ensure_taggedEnsure Tagged (PDF/UA scaffold & repair)Put an existing PDF onto the PDF/UA-1 "vessel". If it is already tagged, the structure tree is untouched and only missing document-level requirements are supplied (MarkInfo / Lang / DisplayDocTitle / XMP pdfuaid:part and dc:title). For untagged documents, a minimal structure tree (each page = one P element) is created so the content becomes reachable by assistive technology. **IMPORTANT**: machines cannot infer meaning — headings, tables, lists, reading order and figure alt text are NOT created. The new tree is a scaffold, not an accessible document; it needs human review. If you can build the…
extract_pagesExtract PagesCreate a new PDF containing only the given pages. The given order is preserved, so extraction doubles as reordering. Pages are copied into a new document, so document-level information (tagged structure, XMP, attachments, AcroForm, bookmarks, etc.) is not carried over. Anything lost is reported in warnings; follow up on the output with attach_file / ensure_tagged / add_bookmarks / set_metadata as needed.
fill_formFill Form (AcroForm)Fill field values into an existing PDF's interactive form (AcroForm). If you do not know the field names, pass a nonexistent one — the error lists every field name and type. CJK values need fontPath or the PDF_WRITER_FONT environment variable. flatten: true makes the form non-interactive after filling, but on a tagged PDF that breaks PDF/UA conformance and additionally requires allowBreakingTags: true. XFA forms are not supported.
flatten_formFlatten Formcan change or delete dataFlatten an existing PDF's interactive form (AcroForm), keeping the filled appearance while removing interactivity. Use it to freeze values before distribution. If existing values contain CJK text, set fontPath or PDF_WRITER_FONT in case appearances must be regenerated. On tagged PDFs, Widget annotations disappear and Form structure elements are left dangling, so it refuses by default (allowBreakingTags: true to force).
merge_pdfsMerge PDFsMerge multiple PDFs into one, in the given order. Document metadata is carried over from the first file. Pages are copied into a new document, so document-level information (tagged structure, XMP, attachments, AcroForm, bookmarks, etc.) is not carried over. Anything lost is reported in warnings; follow up on the output with attach_file / ensure_tagged / add_bookmarks / set_metadata as needed.
reorder_pagesReorder PagesReorder pages. order must list every page exactly once, in the new order. Pages are copied into a new document, so document-level information (tagged structure, XMP, attachments, AcroForm, bookmarks, etc.) is not carried over. Anything lost is reported in warnings; follow up on the output with attach_file / ensure_tagged / add_bookmarks / set_metadata as needed.
Show 5 more tools
rotate_pagesRotate PagesRotate pages clockwise (90/180/270 degrees). All pages when pages is omitted.
set_metadataSet PDF MetadataUpdate an existing PDF's metadata (the Info dictionary). Only the given fields change; the rest are preserved. At least one of title / author / subject / keywords / creator / tdmReservation is required. In documents with XMP (/Metadata), dc:title etc. are synchronized to prevent divergence. tdmReservation (0 | 1) and tdmPolicy (URL) write the W3C TDM Reservation Protocol statement to XMP (tdm:reservation / tdm:policy, namespace http://www.w3.org/ns/tdmrep/); a document without XMP gets one. When the document declares PDF/A, the tdmrep schema is also described in pdfaExtension:schemas, so veraP…
split_pdfSplit PDFSplit a PDF into multiple files by page range. Each element of ranges becomes one file, named "<prefix>1.pdf", "<prefix>2.pdf", and so on. Pages are copied into a new document, so document-level information (tagged structure, XMP, attachments, AcroForm, bookmarks, etc.) is not carried over. Anything lost is reported in warnings; follow up on the output with attach_file / ensure_tagged / add_bookmarks / set_metadata as needed.
stamp_page_numbersStamp Page NumbersStamp a page number on each page. In tagged PDFs the stamp is wrapped as an Artifact, preserving PDF/UA conformance. Formats containing CJK text need fontPath or the PDF_WRITER_FONT environment variable.
tag_form_fieldsTag Form Fields (PDF/UA repair)Repair a tagged PDF's form to PDF/UA-1: enclose Widget annotations in Form structure elements (7.18.4-1), set /Tabs S on the affected pages (7.18.3-1), and give fields alternate names /TU (7.18.1-3). Pass human-readable names for screen readers via labels. Widgets already bound to the structure tree are skipped, so it is safe to run repeatedly. Untagged documents are out of scope (rebuild with the create tools' tagged: true, or run ensure_tagged first). For signed PDFs, preserveSignatures: true repairs while keeping the signatures intact (approval signatures only; certification signatures are …
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 12, 2026 (16 days ago)
- Last release
- Oct 12, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.shuji-bonji/pdf-writer-mcp- Version
- 0.22.0
- Auth
- No auth
- Packages
- npm @shuji-bonji/pdf-writer-mcp
- License
- MIT
- Repository
- github.com/shuji-bonji/pdf-writer-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from shuji-bonji
- 0.619score
PDF Reader (PDF Agent Stack)
shuji-bonji
Read PDF internals: text, structure, fonts, signatures and tags, with what was not read declared.
ConnectorAFreshness: ALocalRead-only★ 2Claude Code +5 - 0.619score
PDF Spec (PDF Agent Stack)
shuji-bonji
Look up ISO 32000 (PDF) clauses, requirements and terms.
ConnectorAFreshness: ALocalRead-only★ 2Claude Code +5 - 0.614score
Houki Nta MCP
shuji-bonji
Japan NTA tax notices (tsutatsu) and Q&A, marked with legal_status and linked back to the law.
ConnectorAFreshness: ALocal★ 2Claude Code +5 - 0.614score
Houki Egov MCP
shuji-bonji
Japanese statutes from e-Gov Law API v2 — laws and ordinances per article, with law number and URL.
ConnectorAFreshness: ALocal★ 2Claude Code +5 - 0.584score
PDF Verify (PDF Agent Stack)
shuji-bonji
Verify PDF signatures, detect tampering, and identify PDF/A and PAdES conformance levels.
ConnectorAFreshness: ALocalRead-onlyClaude Code +5
Cite this page
PDF Writer (PDF Agent Stack) MCP server. Agent Mart. https://agentmart.dev/connectors/shuji-bonji-pdf-writer-mcp (last updated 2026-10-24)