Ga naar inhoud

NextPDF Connect-toolcatalogus

NextPDF Connect biedt geen vast aantal tools aan. De server berekent het aantal tijdens runtime op basis van geïnstalleerde packages, de configuratie-allowlist en omgevingspoorten. Deze pagina documenteert de geverifieerde kernset en de methode waarmee het totaal wordt bepaald.

Terminal window
composer require nextpdf/server

NextPDF\Server\ToolRegistry bouwt de catalogus tijdens het opstarten op in deze volgorde:

  1. Kernniveau. Een vaste set kerntools registreert zich onvoorwaardelijk. Twee aanvullende tools registreren zich alleen als aan een voorwaarde is voldaan.
  2. Pro-niveau. De Pro-tools registreren zich zodra de Pro-providerklasse wordt geresolved; dat gebeurt wanneer nextpdf/premium is geïnstalleerd. De server slaat deze stap stilzwijgend over als de klasse niet wordt geresolved.
  3. Enterprise-niveau. De Enterprise-provider volgt hetzelfde patroon als de Pro-provider.
  4. Meegeleverde uitgebreide niveaus. De providers voor AST- en mutatietools worden meegeleverd met het serverpackage en registreren zich onder het Pro-niveau. Voor elke provider is er een omgevingspoort, en elke provider degradeert netjes wanneer de onderliggende kernondersteuning ontbreekt.
  5. Beveiligingsbeleidsfilter. De server vergelijkt elke registratie met de enabled_tools-allowlist. Een niet-lege allowlist filtert elke tool weg die er niet op staat. De niveauteller telt alleen tools mee die door het beleid zijn toegelaten.

Het initialize-antwoord van het Model Context Protocol (MCP) rapporteert de resulterende tool_count en aantallen per niveau voor de actieve server. Die waarde is gezaghebbend. Beschouw elk vast totaal in lopende tekst als verouderd.

Deze twaalf tools registreren zich altijd op het kernniveau. De server leest per tool het risiconiveau en de MCP-gedragshint uit de toolimplementatie.

ToolnaamCategorieBeschrijvingRisico
create_pdfdocumentMaak een PDF-document aan en retourneer een document_idcaution
add_textdocumentVoeg tekstinhoud toe aan een PDF-documentcaution
add_imagedocumentVoeg een afbeelding toe vanuit een bestandspad of base64-gegevenscaution
add_tabledocumentVoeg een HTML-tabel toe aan een PDF-documentcaution
set_fontdocumentStel het lettertype in voor daaropvolgende tekstbewerkingencaution
add_pagedocumentVoeg een nieuwe pagina toe aan het PDF-documentcaution
output_pdfdocumentRond de PDF af als bestand of base64approval_required
preview_layoutdocumentRetourneer een JSON-samenvatting van de lay-out zonder te renderensafe
diagnostic.doctordiagnosticVoer een statuscontrole uit; gestructureerde omgevingsdiagnostieksafe
diagnostic.capabilitiesdiagnosticGeef mogelijkheden weer met niveau en statussafe
diagnostic.inspectdiagnosticInspecteer een PDF en retourneer structurele metadatasafe
diagnostic.verifydiagnosticVerifieer de PDF-integriteit, met optionele PDF/A- of PDF/UA-controlescaution
ToolnaamVoorwaarde
generate_barcodeRegistreert zich als de geïnstalleerde nextpdf/core de kern-encoderregistry voor barcodes bevat
parse_pdfRegistreert zich alleen wanneer NEXTPDF_MCP_TOOL_PARSE_PDF_ENABLED true of 1 is

output_pdf is de enige kerntool op het risiconiveau approval_required. Schrijven naar een bestand loopt via de human-in-the-loop-poort; base64-uitvoer niet. Zie /connect/hitl-risk-niveaus/.

Tools die alleen worden toegevoegd wanneer extra packages zijn geïnstalleerd

Sectie met titel “Tools die alleen worden toegevoegd wanneer extra packages zijn geïnstalleerd”

De server controleert providerklassen met class_exists():

  • Pro-tools registreren zich wanneer nextpdf/premium is geïnstalleerd en de Pro-provider wordt geresolved.
  • Enterprise-tools registreren zich wanneer nextpdf/premium is geïnstalleerd en de Enterprise-provider wordt geresolved. De privacytools (redactie, de-identificatie, zoneredactie) zijn wrappers rond Enterprise-klassen. Ze registreren zich alleen onder het Enterprise-niveau wanneer die klassen autoloadbaar zijn.
  • AST- en mutatietools worden meegeleverd met de server en registreren zich onder het Pro-niveau. De poorten NEXTPDF_AST_TOOLS_ENABLED en NEXTPDF_MUTATION_TOOLS_ENABLED regelen ze, en beide poorten zijn standaard ingeschakeld.

Het Premium-package, niet de server, definieert de exacte inventarissen van Pro- en Enterprise-tools en documenteert die in dat package. Het contract van de server is het registratiemechanisme, niet een vaste Premium-lijst.

Toon de tools die deze installatie beschikbaar stelt, zonder een server te starten:

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

Vraag via MCP het gezaghebbende aantal op bij de actieve server:

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

De server berekent capabilities.nextpdf.tool_count en tiers in het initialize-resultaat voor het actieve proces. Via REST retourneert GET /api/v1/capabilities gelijkwaardige introspectie.

  • Er bestaat geen vaste „33 tools” — of welk vast totaal dan ook. Ouder materiaal noemt een enkel getal, maar dat getal is geen contract. Het aantal verandert met geïnstalleerde packages, de enabled_tools-allowlist en de omgevingspoorten voor parse_pdf, AST en mutatie. Lees het altijd uit de actieve server.

  • De allowlist haalt weg, maar voegt nooit toe. Een Pro-tool in enabled_tools opnemen registreert die niet wanneer nextpdf/premium ontbreekt.

  • Een ontbrekend niveau is stilzwijgend en verwacht. Een installatie met uitsluitend open source levert de kernset en rapporteert nul Pro- en nul Enterprise-tools. Dat resultaat is correct gedrag, geen fout.

  • Het niveau in de catalogus is een gedeclareerde invariant. Elke tool declareert zijn eigen niveau en risico in code. De registry leidt nooit een niveau af uit de namespace of het package.

De registryscan en niveaudetectie worden eenmalig uitgevoerd tijdens het opstarten. Het performance_budget van de pagina begrenst beide. De kosten per tool komen voort uit de onderliggende engine-bewerking, niet uit de catalogusopzoeking, die O(1) is op toolnaam.

Gebruik enabled_tools als least-privilege-controle: stel alleen de tools beschikbaar die een integratie nodig heeft. De catalogus bevat nooit een tool die door het beveiligingsbeleid is afgewezen, en de niveauteller weerspiegelt alleen toegelaten tools. Tools met hoog risico blijven afgeschermd door menselijke bevestiging, ongeacht of ze in de catalogus staan. Zie /connect/security-and-operations/.

Deze pagina beschrijft het registrymechanisme. Protocolcitaten voor de oppervlakken tools/list en initialize zijn vastgelegd op /transports/mcp/. Het risicomodel is gespecificeerd op /connect/hitl-risk-niveaus/.

De kerncatalogus dekt aanmaken, inspectie en diagnostiek. Tools voor ondertekening, redactie, compliance en forensisch onderzoek worden alleen beschikbaar wanneer nextpdf/premium naast de server is geïnstalleerd. Deze packaging-grens wordt toegepast op het moment van composer require, nooit via een runtime-prompt.

  • /connect/hitl-risk-niveaus/ — wat de risicokolom betekent en hoe handhaving werkt
  • /connect/boot-and-discovery/ — de volledige opstart- en ontdekkingssequentie
  • /connect/configuration/ — enabled_tools en de omgevingspoorten
  • /transports/mcp/ — de wire-formaten tools/list en initialize
  • /connect/overview/ — waarom de catalogus standaard runtime-afhankelijk is