Operate PdfCraft through its structured automation interfaces. Preserve the user's requested document and editing workflow.
PdfCraft documents automation in two bundled snapshots, captured from upstream on 2026-11-02:
Both are distributed under the
bundled MIT license. Relative links inside the snapshots resolve against
https://github.com/storytold/pdfcraft/blob/main/docs/
. The desktop control channel is described in the
upstream README; discover installed commands and flags rather than borrowing schemas from other ArtCraft applications.
Discover available executables and sessions first and reuse a running session when possible. If the required connection or executable is missing, report the concrete prerequisite; this skill does not install PdfCraft or register MCP servers.
The MCP surface maps document work to five common tools:
command_list {doc?, filter?, enabled_only?}
,
command_run {id, params?}
,
command_batch {steps, stop_on_error?}
,
, and
render_preview {doc?, page?, max_side?}
; existing task tools (
,
,
,
,
,
, …) remain available.
and
resources mirror
and
. Discover command ids and mapped tool schemas before running commands; unknown top-level MCP arguments are refused with JSON-RPC
, and a failed batch reports per-step errors. Inspect the returned
id after
and pass it to dependent commands.
Read and write roots are separate launch-time capabilities: every file a tool reads must lie inside the read root and every file it writes inside the write root; a root left out grants none of that access. Paths are resolved (links followed) and compared by whole folder names; a refused path is an ordinary, correctable tool error — do not bypass it with ambient filesystem commands.
confines everything and can be combined with the automation roots (both must accept the path). Keychain or certificate-store signing identities and printer jobs are not file access and are not covered.
Exports complete synchronously; there is no background progress or cancellation. Save the requested deliverable (edited PDF in place or to a new path) and verify outputs exist and render: re-open or
the saved file and
the pages that matter, checking text, annotations, form fields, and page order. For batches, read the JSON report and surface skipped files and per-file errors.