Catalogue des outils NextPDF Connect
Le nombre d’outils exposés par un déploiement NextPDF Connect n’est pas une constante fixe. Le serveur le calcule à l’exécution à partir des packages installés, de la liste d’autorisation de la configuration et d’un ensemble de gates d’environnement. Cette page documente l’ensemble de base vérifié et la méthode qui détermine le total.
Installation
Section intitulée « Installation »composer require nextpdf/serverVue d’ensemble conceptuelle
Section intitulée « Vue d’ensemble conceptuelle »NextPDF\Server\ToolRegistry construit le catalogue au démarrage dans cet ordre :
- Niveau de base. Un ensemble fixe d’outils de base est enregistré sans condition. Deux outils supplémentaires ne sont enregistrés que lorsqu’une condition préalable est remplie.
- Niveau Pro. Les outils Pro sont enregistrés lorsque la classe du fournisseur Pro peut être résolue, ce qui se produit lorsque
nextpdf/premiumest installé. Le serveur ignore cette étape sans erreur lorsque la classe ne peut pas être résolue. - Niveau Enterprise. Le fournisseur Enterprise suit le même modèle que le fournisseur Pro.
- Niveaux étendus fournis avec le package. Les fournisseurs d’outils AST et de mutation sont livrés avec le package du serveur et sont enregistrés sous le niveau Pro. Une gate d’environnement contrôle chaque fournisseur, et chaque fournisseur se dégrade proprement lorsque la prise en charge sous-jacente dont il dépend est absente.
- Filtre de politique de sécurité. Le serveur croise chaque enregistrement avec la liste d’autorisation
enabled_tools. Une liste d’autorisation non vide écarte tout outil qui n’y figure pas. Le compteur de niveau ne compte que les outils admis par la politique.
La réponse MCP initialize renvoie le tool_count résultant et les comptes par niveau pour le serveur en cours d’exécution. Cette valeur est le nombre faisant autorité. Considère comme obsolète tout total fixe mentionné dans le texte.
Surface d’API
Section intitulée « Surface d’API »Outils de base vérifiés et toujours disponibles
Section intitulée « Outils de base vérifiés et toujours disponibles »Ces douze outils sont enregistrés sans condition dans le niveau de base. Le serveur lit chaque niveau de risque et chaque indication de comportement MCP à partir de l’implémentation de l’outil.
| Nom de l’outil | Catégorie | Description | Risque |
|---|---|---|---|
create_pdf | document | Crée un nouveau document PDF et renvoie un document_id | caution |
add_text | document | Ajoute du contenu textuel à un document PDF | caution |
add_image | document | Ajoute une image à partir d’un chemin de fichier ou de données base64 | caution |
add_table | document | Ajoute un tableau HTML à un document PDF | caution |
set_font | document | Définit la police pour les opérations de texte suivantes | caution |
add_page | document | Ajoute une nouvelle page au document PDF | caution |
output_pdf | document | Finalise le PDF dans un fichier ou en base64 | approval_required |
preview_layout | document | Résumé JSON de la mise en page sans rendu | safe |
diagnostic.doctor | diagnostic | Lance un diagnostic de santé ; diagnostics d’environnement structurés | safe |
diagnostic.capabilities | diagnostic | Liste les capacités avec leur niveau et leur statut | safe |
diagnostic.inspect | diagnostic | Inspecte un PDF et renvoie ses métadonnées structurelles | safe |
diagnostic.verify | diagnostic | Vérifie l’intégrité du PDF ; contrôle PDF/A ou PDF/UA en option | caution |
Outils de base enregistrés sous condition
Section intitulée « Outils de base enregistrés sous condition »| Nom de l’outil | Condition |
|---|---|
generate_barcode | Est enregistré lorsque le registre d’encodeurs de codes-barres de base est présent dans l’installation de nextpdf/core |
parse_pdf | Est enregistré uniquement lorsque NEXTPDF_MCP_TOOL_PARSE_PDF_ENABLED vaut true ou 1 |
output_pdf est le seul outil de base dont le niveau de risque est approval_required. L’écriture d’un fichier passe par la gate de validation humaine ; le mode de sortie base64, non. Voir /connect/hitl-risk-tiers/.
Outils ajoutés uniquement lorsque des packages supplémentaires sont installés
Section intitulée « Outils ajoutés uniquement lorsque des packages supplémentaires sont installés »Le serveur sonde les classes de fournisseur avec class_exists() :
- Les outils Pro sont enregistrés lorsque
nextpdf/premiumest installé et que le fournisseur Pro peut être résolu. - Les outils Enterprise sont enregistrés lorsque
nextpdf/premiumest installé et que le fournisseur Enterprise peut être résolu. Les outils de confidentialité (caviardage, dépersonnalisation, caviardage par zone) encapsulent des classes Enterprise. Ils sont enregistrés sous le niveau Enterprise uniquement lorsque ces classes sont chargeables par l’autoloader. - Les outils AST et de mutation sont livrés avec le serveur et sont enregistrés sous le niveau Pro. Les gates
NEXTPDF_AST_TOOLS_ENABLEDetNEXTPDF_MUTATION_TOOLS_ENABLEDles contrôlent, et les deux gates sont activées par défaut.
C’est le package Premium qui définit les inventaires exacts d’outils Pro et Enterprise, pas le serveur, et il les documente avec ce package. Le contrat du serveur porte sur le mécanisme d’enregistrement, pas sur une liste Premium fixe.
Exemple de code — Démarrage rapide
Section intitulée « Exemple de code — Démarrage rapide »Affiche les outils exposés par cette installation, sans démarrer de serveur :
./vendor/bin/generate-skills --dry-run --list-toolsExemple de code — Production
Section intitulée « Exemple de code — Production »Interroge le serveur en cours d’exécution pour obtenir le compte faisant autorité via MCP :
./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":{}}EOFDans le résultat initialize, le serveur calcule le capabilities.nextpdf.tool_count et les tiers du processus en cours d’exécution. En REST, GET /api/v1/capabilities renvoie l’introspection équivalente.
Cas limites et pièges
Section intitulée « Cas limites et pièges »-
Il n’existe pas de total fixe, pas même « 33 outils ». D’anciens documents citent un nombre unique, mais ce n’est pas un contrat. Le compte évolue avec les packages installés, la liste d’autorisation
enabled_toolset les gates d’environnementparse_pdf, AST et de mutation. Lis-le toujours depuis le serveur en cours d’exécution. -
La liste d’autorisation retranche, elle n’ajoute jamais. Lister un outil Pro dans
enabled_toolsalors quenextpdf/premiumest absent ne l’enregistre pas. -
Un niveau absent est silencieux et attendu. Une installation strictement open source sert l’ensemble de base et rapporte zéro outil Pro et zéro outil Enterprise. Ce résultat est un fonctionnement correct, pas une panne.
-
Le niveau indiqué dans le catalogue est un invariant déclaré. Chaque outil déclare son propre niveau et son risque dans le code. Le registre ne déduit jamais un niveau à partir de l’espace de noms ou de l’empaquetage.
Performance
Section intitulée « Performance »L’analyse du registre et la détection de niveau s’exécutent une seule fois au démarrage. Le champ performance_budget de cette page les borne. Le coût par outil correspond à l’opération sous-jacente du moteur, pas à la recherche dans le catalogue, qui est en O(1) par nom d’outil.
Notes de sécurité
Section intitulée « Notes de sécurité »Utilise enabled_tools comme contrôle de moindre privilège : n’expose que les outils dont une intégration a besoin. Le catalogue n’inclut jamais un outil que la politique de sécurité a rejeté, et le compteur de niveau ne reflète que les outils admis. Les outils à haut risque restent contrôlés par confirmation humaine, indépendamment de leur appartenance au catalogue. Voir /connect/security-and-operations/.
Conformité
Section intitulée « Conformité »Cette page décrit le mécanisme du registre. Les citations de protocole pour les surfaces tools/list et initialize sont indiquées dans /transports/mcp/. Le modèle de risque est défini dans /connect/hitl-risk-tiers/.
Contexte commercial
Section intitulée « Contexte commercial »Le catalogue de base couvre la création, l’inspection et les diagnostics. Les outils de signature, de caviardage, de conformité et d’investigation n’apparaissent que lorsque nextpdf/premium est installé aux côtés du serveur. C’est une frontière d’empaquetage, appliquée au moment du composer require, jamais une invite à l’exécution.
Voir aussi
Section intitulée « Voir aussi »- /connect/hitl-risk-tiers/ — la signification de la colonne risque et son mode d’application
- /connect/boot-and-discovery/ — la séquence complète de démarrage et de découverte
- /connect/configuration/ —
enabled_toolset les gates d’environnement - /transports/mcp/ —
tools/listetinitializeau format filaire - /connect/overview/ — pourquoi le catalogue dépend de l’exécution par conception