Skip to content

NextPDF Connect tool catalog

NextPDF Connect does not expose a fixed number of tools. The server computes the count at runtime from installed packages, the configuration allowlist, and environment gates. This page documents the verified core set and the method that determines the total.

Terminal window
composer require nextpdf/server

NextPDF\Server\ToolRegistry builds the catalog at boot in this order:

  1. Core tier. A fixed set of core tools registers unconditionally. Two further tools register only when a precondition holds.
  2. Pro tier. The Pro tools register when the Pro provider class resolves, which happens when nextpdf/premium is installed. The server skips this step silently when the class does not resolve.
  3. Enterprise tier. The Enterprise provider follows the same pattern as the Pro provider.
  4. Bundled extended tiers. The AST and mutation tool providers ship with the server package and register under the Pro tier. An environment gate controls each provider, and each provider degrades gracefully when its underlying core support is absent.
  5. Security-policy filter. The server intersects each registration with the enabled_tools allowlist. A non-empty allowlist drops any tool not on it. The tier counter includes only a tool that the policy admitted.

The Model Context Protocol (MCP) initialize response reports the resulting tool_count and per-tier counts for the running server. That value is authoritative. Treat any fixed total in prose as stale.

These twelve tools always register in the core tier. The server reads each risk tier and each MCP behavior hint from the tool implementation.

Tool nameCategoryDescriptionRisk
create_pdfdocumentCreate a PDF document and return a document_idcaution
add_textdocumentAdd text content to a PDF documentcaution
add_imagedocumentAdd an image from a file path or base64 datacaution
add_tabledocumentAdd an HTML table to a PDF documentcaution
set_fontdocumentSet the font for subsequent text operationscaution
add_pagedocumentAdd a new page to the PDF documentcaution
output_pdfdocumentFinalize the PDF as a file or base64approval_required
preview_layoutdocumentReturn a JSON layout summary without renderingsafe
diagnostic.doctordiagnosticRun a health check; structured environment diagnosticssafe
diagnostic.capabilitiesdiagnosticList capabilities with tier and statussafe
diagnostic.inspectdiagnosticInspect a PDF and return structural metadatasafe
diagnostic.verifydiagnosticVerify PDF integrity, with optional PDF/A or PDF/UA checkscaution
Tool nameCondition
generate_barcodeRegisters when the installed nextpdf/core includes the core barcode encoder registry
parse_pdfRegisters only when NEXTPDF_MCP_TOOL_PARSE_PDF_ENABLED is true or 1

output_pdf is the only core tool at the approval_required risk level. Writing a file passes through the human-in-the-loop gate; base64 output does not. See /connect/hitl-risk-tiers/.

Tools added only when extra packages are installed

Section titled “Tools added only when extra packages are installed”

The server probes provider classes with class_exists():

  • Pro tools register when nextpdf/premium is installed and the Pro provider resolves.
  • Enterprise tools register when nextpdf/premium is installed and the Enterprise provider resolves. The privacy tools (redaction, de-identification, zone redaction) wrap Enterprise classes. They register under the Enterprise tier only when those classes are autoloadable.
  • AST and mutation tools ship with the server and register under the Pro tier. The NEXTPDF_AST_TOOLS_ENABLED and NEXTPDF_MUTATION_TOOLS_ENABLED gates control them, and both gates are enabled by default.

The Premium package, not the server, defines the exact Pro and Enterprise tool inventories and documents them with that package. The server’s contract is the registration mechanism, not a fixed Premium list.

Print the tools that this installation exposes without starting a server:

Terminal window
./vendor/bin/generate-skills --dry-run --list-tools

Query the running server for the authoritative count over MCP:

Terminal window
./vendor/bin/nextpdf-mcp <<'EOF'
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"c","version":"1.0.0"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
EOF

The server computes capabilities.nextpdf.tool_count and tiers in the initialize result for the running process. Over REST, GET /api/v1/capabilities returns equivalent introspection.

  • There is no fixed “33 tools” — or any fixed total. Older material quotes a single number, but that number is not a contract. The count changes with installed packages, the enabled_tools allowlist, and the parse_pdf, AST, and mutation environment gates. Always read it from the running server.

  • The allowlist subtracts, it never adds. Listing a Pro tool in enabled_tools does not register it when nextpdf/premium is absent.

  • A missing tier is silent and expected. An open-source-only install serves the core set and reports zero Pro and zero Enterprise tools. That result is correct operation, not a fault.

  • Tier in the catalog is a declared invariant. Each tool declares its own tier and risk in code. The registry never infers a tier from the namespace or package.

The registry scan and tier detection run once at boot. The page performance_budget bounds them. Per-tool cost comes from the underlying engine operation, not the catalog lookup, which is O(1) by tool name.

Use enabled_tools as a least-privilege control: expose only the tools an integration needs. The catalog never includes a tool rejected by the security policy, and the tier counter reflects only admitted tools. High-risk tools remain gated by human confirmation regardless of catalog membership. See /connect/security-and-operations/.

This page describes the registry mechanism. Protocol citations for the tools/list and initialize surfaces are pinned on /transports/mcp/. The risk model is specified on /connect/hitl-risk-tiers/.

The core catalog covers creation, inspection, and diagnostics. Signing, redaction, compliance, and forensic tools appear only when nextpdf/premium is installed alongside the server. This packaging boundary is applied at composer require time, never through a runtime prompt.

  • /connect/hitl-risk-tiers/ — what the risk column means and how enforcement works
  • /connect/boot-and-discovery/ — the full boot and discovery sequence
  • /connect/configuration/ — enabled_tools and the environment gates
  • /transports/mcp/ — the tools/list and initialize wire formats
  • /connect/overview/ — why the catalog is runtime-dependent by design