Zum Inhalt springen
getnextpdf.com

Pro Edition

MCP-Tools

NextPDF Pro ergänzt acht Model-Context-Protocol-(MCP-)Tools, mit denen ein KI-Agent fortgeschrittene PDF-Operationen über NextPDF Server ausführen kann. Die Tools erscheinen automatisch, sobald sowohl nextpdf/pro als auch nextpdf/server installiert sind — ein separater Registrierungsschritt ist nicht erforderlich.

Diese Fähigkeit wird in NextPDF Pro (nextpdf/pro) ausgeliefert und aktiviert sich mit einem Lizenz-Envelope der Pro-Stufe. Ein Deployment ohne diese Berechtigung lädt die Klassen der Fähigkeit nicht. Editionen vergleichen und Lizenz erwerben.

Die MCP-Basis-Oberfläche — Dokumenterstellung, Text, Tabellen, Diagnostik — wird mit dem Open-Source-NextPDF-Server ausgeliefert und benötigt keine Lizenz. Die acht Tools auf dieser Seite benötigen eine Pro-Lizenz und registrieren sich nur, wenn das Paket nextpdf/pro beim Boot aufgelöst wird. Das pro-Tool-Tier schaltet das gesamte Set frei: Jedes Tool deklariert sein Tier explizit, und es gibt kein Flag pro Tool — die Installation von nextpdf/pro neben nextpdf/server aktiviert das Set.

  • Die acht Pro-MCP-Tools registrieren sich automatisch, wenn sowohl nextpdf/pro als auch nextpdf/server beim Boot aufgelöst werden, unter dem pro-Tier, über den standardmäßigen MCP-Ablauf tools/list und tools/call. Es gibt kein Flag pro Tool und keine Codeänderung in der konsumierenden Anwendung.
  • Jedes Tool akzeptiert ein PDF über eine document_id aus einem früheren create_pdf-Aufruf, eine Inline-source (Dateipfad, base64 oder data:-URI) oder — bei compare_pdfs — zwei solche Quellen. Tools geben strukturiertes JSON zurück.
  • Jedes Tool deklariert eine HITL-Risikoklasse, die der Server durchsetzt: safe (automatische Ausführung, schreibgeschützt), review (Ausgabe, die missbraucht werden könnte) und approval-required. sign_pdf ist approval-required und wird zurückgehalten, bis ein Mensch es bestätigt. Ein Operator kann die Risikoklasse eines Tools nur verschärfen, niemals lockern.
  • sign_pdf erzeugt ausschließlich eine PAdES-B-B-(Baseline-)Signatur — keinen vertrauenswürdigen Zeitstempel und kein Langzeitvalidierungsmaterial. Langzeit-Profile (B-LT / B-LTA), Hardware-Schlüsselverwahrung und Audit-Trail-Signierung gehören zum Enterprise-Tier und werden von diesen Tools nicht bereitgestellt; B-T (eine Signatur mit Zeitstempel) ist in der Core-Engine verfügbar, wenn ein Zeitstempel-Anbieter konfiguriert ist.
  • redact_pii führt eine Mustererkennung und Maskierung auf der Textebene durch, keine visuelle Schwärzung; check_accessibility ist eine strukturelle Heuristik, kein PDF/UA- oder WCAG-Konformitätsverdikt. Das maßgebliche Eingabe-/Ausgabe-Schema ist die Live-tools/list-Antwort des Servers, nicht diese Seite.

NextPDF Server ist die deterministische MCP-Ausführungsschicht für NextPDF. Er entdeckt Tool-Provider beim Boot über eine Klassen-Existenz-Probe, sodass das Pro-Paket nicht in den Abhängigkeiten des Servers aufgeführt sein muss. Ist das Pro-Paket vorhanden, registriert der Server seine acht Tools unter dem pro-Tier und stellt sie über den standardmäßigen MCP-Ablauf tools/list und tools/call über den von Ihnen konfigurierten Transport bereit.

Jedes Pro-Tool akzeptiert ein PDF aus einer von drei Quellen: einer document_id, die von einem früheren create_pdf-Aufruf zurückgegeben wurde, einer Inline-source (Dateipfad, base64-String oder data:-URI) oder — beim Vergleichswerkzeug — zwei solchen Quellen. Tools geben strukturierte JSON-Ergebnisse zurück: extrahierten Text, Diff-Regionen, maskierten Text, Segmentbäume, Accessibility-Findings oder ein signiertes PDF.

Jedes Pro-Tool trägt eine Risikoklassifizierung, die der Server für die Human-in-the-Loop-(HITL-)Durchsetzung verwendet. Schreibgeschützte Analyse-Tools werden als safe eingestuft und automatisch ausgeführt. Tools, die Ausgaben erzeugen, die ein Aufrufer missbrauchen könnte, werden für review eingestuft. Das Signierwerkzeug wird als approval-required eingestuft, sodass der Server es zurückhält, bis ein Mensch es bestätigt. Das Tool selbst deklariert diese Klassifizierung; ein Operator kann sie zur Laufzeit nur verschärfen — niemals lockern.

Die MCP-Tool-Oberfläche ist bewusst von der Pro-PDF-Engine getrennt. Die Tools sind dünne Adapter: Sie validieren Eingaben, lösen das PDF auf, delegieren an eine Pro-Engine-Komponente und serialisieren das Ergebnis. Sie sind keine zweite API für die Engine und nicht Teil der öffentlichen Pro-PHP-API — der unterstützte Integrationspunkt ist das von NextPDF Server bereitgestellte MCP-Protokoll.

Die acht Pro-MCP-Tools, nach MCP-Protokollname. Die Risikostufen folgen dem HITL-Modell des Servers: safe (automatische Ausführung, schreibgeschützt), review (erzeugt Ausgaben, die missbraucht werden könnten; in den Agentenanweisungen mit Warnung versehen) und approval-required (muss von einem Menschen bestätigt werden).

  • Zweck: Textextraktion. Extrahiert die Textebene eines PDFs, optional auf einen 1-indizierten Seitenbereich beschränkt.
  • Eingaben: Ein PDF (document_id oder source); optional page_start und page_end.
  • Ausgaben: Extrahierter Text und Gesamtseitenanzahl.
  • Risiko: Safe. Schreibgeschützt und idempotent.
  • Grenze: Extrahiert die vorhandene Textebene. Es führt keine OCR auf gescannten oder reinen Bildseiten durch.
  • Zweck: Strukturelle Segmentierung. Teilt ein PDF in logische Abschnitte auf — Titel, Überschriften, Fließtext, Tabellen, Abbildungen.
  • Eingaben: Ein PDF (document_id oder source).
  • Ausgaben: Eine Segmentanzahl und eine strukturierte Liste von Segmenten.
  • Risiko: Safe. Schreibgeschützt und idempotent.
  • Grenze: Strukturelle Segmentierung auf Basis einer Layout-Analyse; es ist keine semantische Gliederung und kein Tagged-PDF-Strukturbaum.
  • Zweck: Struktureller Diff. Vergleicht zwei PDFs und gibt einen strukturierten Diff ihres Textinhalts zurück.
  • Eingaben: Zwei PDFs (source_a und source_b, jeweils ein Pfad, base64, Data-URI oder document_id).
  • Ausgaben: Ein Identical-Flag, die Gesamtanzahl der Änderungen, seitenweise Seitenanzahlen pro Dokument und eine Liste geänderter Regionen mit Seiten- und Zeilenindizes.
  • Risiko: Safe. Schreibgeschützt und idempotent.
  • Grenze: Diff des Textinhalts. Es vergleicht nicht das visuelle Rendering, eingebettete Fonts oder die Binärstruktur.
  • Zweck: PII-Erkennung und Maskierung. Erkennt personenbezogene Daten in der Textebene eines PDFs und gibt eine maskierte Ansicht des Textes zurück.
  • Eingaben: Ein PDF (document_id oder source); optionaler types-Filter (email, phone, ssn, credit_card).
  • Ausgaben: Ein Has-PII-Flag, die erkannte Anzahl, maskierter Text und die Liste der geprüften Typen.
  • Risiko: Review. Die maskierte Ausgabe könnte missbraucht werden, wenn sie als bereinigtes Dokument behandelt wird.
  • Grenze: Dies ist eine Mustererkennung und Maskierung auf der Textebene, keine visuelle Schwärzung. Es entfernt oder überschreibt keine Glyphen im gerenderten PDF, und der Musterabgleich garantiert nicht, dass jede Instanz sensibler Daten gefunden wird. Behandeln Sie die Ausgabe nicht als Garantie für eine vollständige PII-Entfernung. Für eine Schwärzung auf Dokumentebene, die den zugrunde liegenden Inhalt zerstört, verwenden Sie die dedizierte Schwärzungsoberfläche in den Open-Source-Server-Tools oder der Enterprise-Edition.
  • Zweck: AcroForm-Ausfülldaten. Erzeugt XFDF-(ISO 19444-1-)Daten, die PDF-AcroForm-Felder aus einer Zuordnung von Feldnamen zu Werten ausfüllen.
  • Eingaben: Eine fields-Zuordnung von Feldname zu String-Wert; optionaler pdf_filename, eingebettet als XFDF-Referenz.
  • Ausgaben: Das erzeugte XFDF-Dokument und die Feldanzahl.
  • Risiko: Review. Es erzeugt Formulardaten, die zur Anwendung auf ein Dokument bestimmt sind.
  • Grenze: Es erzeugt standardkonformes XFDF; es schreibt die Werte nicht selbst in ein PDF zurück. Wenden Sie das XFDF mit einem beliebigen konformen Reader oder Verarbeitungswerkzeug an.
  • Zweck: AcroForm-Rücklesung. Extrahiert AcroForm-Feldnamen und -werte aus in ein PDF eingebettetem XFDF.
  • Eingaben: Ein PDF (document_id oder source).
  • Ausgaben: Eine Feldanzahl und eine Zuordnung von Feldnamen zu Werten; ein expliziter Hinweis, wenn keine eingebetteten Formulardaten vorhanden sind.
  • Risiko: Safe. Schreibgeschützt und idempotent.
  • Grenze: Liest eingebettete XFDF-(ISO 19444-1-)Streams. Ein PDF, das Formularwerte nur in AcroForm-Objekten ohne eingebettetes XFDF hält, liefert ein leeres Ergebnis.
  • Zweck: Strukturelle Accessibility-Analyse. Analysiert die strukturelle Barrierefreiheit eines PDFs — Überschriften, Absätze, Tabellen und Bilder — und meldet wahrscheinliche Probleme mit WCAG-Referenzen.
  • Eingaben: Ein PDF (document_id oder source).
  • Ausgaben: Eine strukturelle Bewertung (0–100), eine Liste von Problemen und eine Segmentzusammenfassung.
  • Risiko: Safe. Schreibgeschützt und idempotent.
  • Grenze: Dies ist eine strukturelle Heuristik, kein Konformitätsverdikt. Vollständiges PDF/UA- und WCAG-Konformitätstesting — Tag-Baum, Lesereihenfolge, Farbkontrast — erfordert eine dedizierte Accessibility-Engine. Eine hohe Bewertung ist keine Aussage über PDF/UA-Konformität.
  • Zweck: Digitale PAdES-B-B-Signatur. Wendet eine digitale PAdES-B-B-(Baseline-)Signatur mit einem lokalen X.509-Zertifikat und privaten Schlüssel auf ein PDF an.
  • Eingaben: Ein PDF (document_id oder source); ein PEM-Zertifikat und ein PKCS#8-Privatschlüssel; ein optionaler Algorithmus (RSA-SHA256 als Standard, RSA + SHA-3 256/384/512 oder Ed25519); optionaler Unterzeichnername und Grund; ein optionaler AES-GCM-Transport-Envelope um die Privatschlüssel-Payload.
  • Ausgaben: Das signierte PDF, die Signaturanzahl, ein Completion-Flag sowie der verwendete Algorithmus, die OID und der Digest.
  • Risiko: Approval-required. Das Signieren ist eine rechtlich bedeutsame, destruktive Operation; der Server verlangt eine explizite menschliche Bestätigung, bevor es ausgeführt wird.
  • Grenze: Dieses Tool erzeugt eine PAdES-B-B-(Baseline-)Signatur — es bettet keinen vertrauenswürdigen Zeitstempel und kein Langzeitvalidierungsmaterial ein. Langzeit-Profile (B-LT / B-LTA), hardwaregestützte Schlüsselverwahrung und Audit-Trail-Signierung sind Teil der Enterprise-Edition; B-T (eine Signatur mit Zeitstempel) ist in der Core-Engine verfügbar, wenn ein Zeitstempel-Anbieter konfiguriert ist. Siehe die Pro-Signier-Oberfläche für die umfassenderen Signierfähigkeiten des Pro-Pakets und die Enterprise-Edition für B-LT/B-LTA.
Terminal-Fenster
composer require nextpdf/pro
composer require nextpdf/server

Mit beiden installierten Paketen starten Sie NextPDF Server mit Ihrem gewählten Transport. Der Server entdeckt das Pro-Tier beim Boot, und die acht Tools erscheinen in der MCP-tools/list-Antwort unter dem pro-Tier neben den Open-Source-Core-Tools. Ihre Anwendung benötigt keine Codeänderung — die Entdeckung läuft automatisch ab, und ein fehlendes Tier blockiert niemals das Laden der anderen.

Das maßgebliche Eingabe- und Ausgabe-Schema für jedes Tool ist das Schema, das der Server in seiner tools/list-Antwort veröffentlicht. Behandeln Sie diese Antwort — nicht diese Seite — als Contract: Dieser Katalog beschreibt Absicht und Grenzen; das Live-Schema beschreibt exakte Feldnamen und Typen.

Die Pro-Tools werden über das MCP-Protokoll konsumiert, nicht über eine Pro-PHP-API. Die hostseitige Integration besteht im Starten von NextPDF Server. Ist nextpdf/pro vorhanden, registrieren sich die acht Tools über die Laufzeit-Entdeckung — ohne Verdrahtung pro Tool — und der Host stellt sie dann den Agenten bereit.

serve-mcp.php
<?php
declare(strict_types=1);
use NextPDF\Server\Mcp\McpServer;
require __DIR__ . '/vendor/autoload.php';
// Runtime discovery registers the Pro tier when nextpdf/pro is installed
// alongside nextpdf/server. The consuming application changes no code.
$server = McpServer::create();
// A Pro tool name resolves only when the Pro package is present.
$signTool = $server->getToolRegistry()->get('sign_pdf');
\fwrite(\STDERR, $signTool !== null
? "Pro MCP tools active.\n"
: "Pro MCP tools unavailable; install nextpdf/pro.\n");
// Serve the MCP protocol over stdio (Claude Desktop, Cursor, local agents).
$server->run();

Härten Sie den Boot-Pfad. Laden Sie eine explizite Policy-Datei, verweigern Sie den Start bei einem ungültigen Risikostufen-Override und bestätigen Sie, dass das Pro-Tier erschienen ist, bevor Sie bereitstellen. Die Verdrahtung in McpServer::create() wirft InvalidArgumentException, wenn ein risk_level_overrides-Block versucht, ein approval-required-Tool wie sign_pdf abzuschwächen, sodass eine fehlkonfigurierte Policy vor der Serving-Schleife fail-closed scheitert.

serve-mcp-production.php
<?php
declare(strict_types=1);
use NextPDF\Server\Mcp\McpServer;
use NextPDF\Server\Tools\ToolInterface;
require __DIR__ . '/vendor/autoload.php';
// A downgrade of an approval-required tool's HITL gate is rejected at boot,
// never silently applied — the server refuses to start on such a policy.
try {
$server = McpServer::create(__DIR__ . '/nextpdf-mcp.yaml');
} catch (\InvalidArgumentException $e) {
\fwrite(\STDERR, 'Refusing to start: invalid MCP policy. ' . $e->getMessage() . "\n");
exit(1);
}
// Confirm the Pro tier surfaced before advertising it to agents.
$signTool = $server->getToolRegistry()->get('sign_pdf');
if (!$signTool instanceof ToolInterface) {
\fwrite(\STDERR, "nextpdf/pro is not resolving; Pro MCP tools are unavailable.\n");
exit(1);
}
// sign_pdf is approval-required; the server holds it for human confirmation.
$risk = $signTool->riskLevel()->label();
\fwrite(\STDERR, "Pro MCP tools ready. sign_pdf risk: {$risk}.\n");
$server->run();
  • HITL-Gating. Halten Sie sign_pdf hinter einer menschlichen Bestätigung. Der Server setzt dies anhand der vom Tool deklarierten Risikostufe durch; konfigurieren Sie Ihren Agenten nicht so, dass er sie umgeht. Ein Operator kann die Risikostufe eines Tools nur verschärfen, niemals lockern.
  • Quellenbehandlung. Bevorzugen Sie document_id für Dokumente, die bereits in der Sitzung vorliegen. Für Inline-Daten akzeptieren die Tools base64 und data:-URIs; sehr große Inline-Payloads laufen langsamer als ein referenziertes Dokument.
  • PII-Erwartungen. Setzen Sie die Erwartungen des Aufrufers explizit: redact_pii ist ein Erkennungs- und Maskierungshilfsmittel, keine Bereinigungsgarantie. Für eine unwiderrufliche Entfernung leiten Sie an eine dedizierte Schwärzungsoberfläche weiter.
  • Signierschlüssel. Liefern Sie Schlüssel über den Transport-Verschlüsselungs-Envelope, wenn der Transport nicht durchgängig vertraulich ist. Behandeln Sie privates Schlüsselmaterial in der Tool-Call-Logging-Richtlinie Ihres Agenten als Geheimnis.
  • Audit-Logging. Tools oberhalb der safe-Stufe werden vom Server in Audit-Logs erfasst. Stellen Sie sicher, dass Ihr Deployment diese Logs gemäß Ihren Compliance-Anforderungen aufbewahrt.
  • Seitenbereiche von extract_text sind 1-indiziert und auf die reale Seitenanzahl des Dokuments begrenzt; ein außerhalb des Bereichs liegendes Ende führt nicht zu einem Fehler.
  • compare_pdfs benötigt beide Quellen; das Übergeben einer einzigen liefert einen klaren Validierungsfehler statt eines partiellen Diffs.
  • extract_form_data gibt für PDFs ohne eingebettetes XFDF ein befülltes, explizites „keine eingebetteten Formulardaten“-Ergebnis statt eines Fehlers zurück.
  • sign_pdf lehnt nicht unterstützte Algorithmus-Identifikatoren mit der Liste der unterstützten Werte ab; Ed25519 erfordert die libsodium-Erweiterung und SHA-3-Varianten erfordern einen OpenSSL-Build mit SHA-3-Unterstützung.
  • check_accessibility bewertet reine Bild-PDFs absichtlich schlecht — es kennzeichnet das Fehlen einer lesbaren Textebene, statt zu scheitern.
  • Das Signierwerkzeug ist das einzige approval-required-Tool; der Server führt es nicht automatisch aus.
  • Der optionale AES-GCM-Envelope um den privaten Schlüssel authentifiziert die Payload; eine Tag-Diskrepanz scheitert fail-closed mit einem Entschlüsselungsfehler und fällt niemals auf die Verwendung des Chiffretexts zurück.
  • redact_pii verändert das Quell-PDF nicht; es gibt eine maskierte Textrepräsentation zurück. Es ist kein Ersatz für eine Inhaltszerstörung.
  • Das Tool validiert Eingaben vor jeder Engine-Arbeit; es lehnt fehlerhafte Quellen, Data-URIs und base64-Payloads mit expliziten Fehlern ab.
  • Formular-Tools erzeugen und konsumieren XFDF gemäß ISO 19444-1:2019 (XML Forms Data Format).
  • sign_pdf erzeugt eine PAdES-Baseline-(B-B-)Signatur, ausgerichtet an der PAdES-Familie ETSI EN 319 142; Langzeit-Profile sind eine Enterprise-Fähigkeit, und B-T ist in der Core-Engine verfügbar, wenn ein Zeitstempel-Anbieter konfiguriert ist.
  • check_accessibility meldet Findings mit Verweisen auf WCAG-Erfolgskriterien (zum Beispiel 1.1.1, 1.3.1, 2.4.6) als heuristische Orientierung, nicht als Konformitätsattestierung.

NextPDF Pro steuert genau acht MCP-Tools bei, alle im pro-Tier. Die Enterprise-Edition liefert ihr eigenes, separates MCP-Tool-Set im enterprise-Tier — abdeckend Compliance-Prüfung, forensische Analyse, Langzeitvalidierungs-Gesundheit, KI-Bereitschaftszertifizierung sowie Dokumentensuche und -einbettung. Diese Tools, ihre Eingaben und ihre Interna liegen außerhalb des Umfangs dieser Seite; siehe die Enterprise-MCP-Tools. Die eigene Dokumentation des Servers behandelt die Core-(Open-Source-)Tools, die mit ihm ausgeliefert werden. Der Server entdeckt die drei Tiers unabhängig voneinander, und ein fehlendes Tier deaktiviert niemals die anderen.

Pro steuert genau acht MCP-Tools im pro-Tier bei. Die Enterprise-Edition liefert ein separates MCP-Tool-Set im enterprise-Tier (Compliance-Prüfung, forensische Analyse, Langzeitvalidierungs-Gesundheit, KI-Bereitschaftszertifizierung, Dokumentensuche und -einbettung) sowie die Signaturprofile mit Zeitstempel/Langzeit; diese werden vom Pro-Tier nicht bereitgestellt. Siehe den Abschnitt Editionsgrenze oben für die vollständige Tier-Aufschlüsselung.

Der Open-Source-NextPDF-Server gibt jedem KI-Agenten ein deterministisches Core-PDF-Toolset (Dokumenterstellung, Text, Tabellen, Diagnostik) ohne Lizenz. Die acht fortgeschrittenen Tools auf dieser Seite sind Pro-Ergänzungen. Siehe /connect/tools/.

Diese Seite dokumentiert ausschließlich extern beobachtbares Verhalten und die unterstützte öffentliche API-Oberfläche. Interne Namespace-Pfade, Hilfsklassen, Mechanismus-Tabellen, Runbook-Dateinamen und Ticket-Präfixe liegen außerhalb des Umfangs.