Ir al contenido

Catálogo de herramientas de NextPDF Connect

El número de herramientas que expone un despliegue de NextPDF Connect no es una constante fija. El servidor lo calcula en tiempo de ejecución a partir de los paquetes instalados, la lista de permitidos configurada y un conjunto de controles de entorno. Esta página documenta el conjunto básico verificado y cómo se determina el total.

Ventana de terminal
composer require nextpdf/server

NextPDF\Server\ToolRegistry construye el catálogo en el arranque en este orden:

  1. Nivel básico. Un conjunto fijo de herramientas básicas se registra de forma incondicional. Otras dos herramientas se registran solo si se cumple la condición previa correspondiente.
  2. Nivel Pro. Las herramientas Pro se registran cuando se resuelve la clase del proveedor Pro, lo que ocurre cuando nextpdf/premium está instalado. El servidor omite este paso de forma silenciosa cuando la clase no se resuelve.
  3. Nivel Enterprise. El proveedor Enterprise sigue el mismo patrón que el proveedor Pro.
  4. Niveles extendidos incluidos. Los proveedores de las herramientas de AST y de mutación se distribuyen con el paquete del servidor y se registran bajo el nivel Pro. Cada proveedor está gobernado por un control de entorno y se degrada de forma controlada cuando falta su soporte básico subyacente.
  5. Filtro de la política de seguridad. El servidor intersecta cada registro con la lista de permitidos enabled_tools. Una lista de permitidos no vacía descarta cualquier herramienta que no esté en ella. El contador del nivel solo incluye las herramientas admitidas por la política.

La respuesta MCP initialize informa del tool_count resultante y de los recuentos por nivel del servidor en ejecución. Ese valor es el número autoritativo. Considerar obsoleto cualquier total fijo que aparezca en el texto.

Herramientas básicas verificadas y siempre disponibles

Sección titulada «Herramientas básicas verificadas y siempre disponibles»

Estas doce herramientas se registran de forma incondicional en el nivel básico. El servidor lee el nivel de riesgo y cada sugerencia de comportamiento MCP desde la implementación de cada herramienta.

Nombre de la herramientaCategoríaDescripciónRiesgo
create_pdfdocumentoCrea un nuevo documento PDF y devuelve un document_idprecaución
add_textdocumentoAgrega texto a un documento PDFprecaución
add_imagedocumentoAgrega una imagen desde una ruta de archivo o datos en base64precaución
add_tabledocumentoAgrega una tabla HTML a un documento PDFprecaución
set_fontdocumentoEstablece la fuente para las operaciones de texto posterioresprecaución
add_pagedocumentoAgrega una nueva página al documento PDFprecaución
output_pdfdocumentoFinaliza el PDF en un archivo o en base64approval_required
preview_layoutdocumentoDevuelve un resumen en JSON de la disposición sin renderizarseguro
diagnostic.doctordiagnósticoEjecuta una comprobación de estado y diagnósticos de entorno estructuradosseguro
diagnostic.capabilitiesdiagnósticoEnumera las capacidades con su nivel y estadoseguro
diagnostic.inspectdiagnósticoInspecciona un PDF y devuelve metadatos estructuralesseguro
diagnostic.verifydiagnósticoVerifica la integridad del PDF, con comprobación opcional de PDF/A o PDF/UAprecaución

Herramientas básicas de registro condicional

Sección titulada «Herramientas básicas de registro condicional»
Nombre de la herramientaCondición
generate_barcodeSe registra cuando el registro de codificadores de códigos de barras del núcleo está presente en la instalación de nextpdf/core
parse_pdfSe registra solo cuando NEXTPDF_MCP_TOOL_PARSE_PDF_ENABLED es true o 1

output_pdf es la única herramienta básica en el nivel de riesgo approval_required. La escritura de un archivo pasa por el control con intervención humana; el modo de salida en base64 no lo hace. Consultar /connect/hitl-risk-tiers/.

Herramientas que se agregan solo cuando se instalan paquetes adicionales

Sección titulada «Herramientas que se agregan solo cuando se instalan paquetes adicionales»

El servidor comprueba las clases de proveedor con class_exists():

  • Las herramientas Pro se registran cuando nextpdf/premium está instalado y el proveedor Pro se resuelve.
  • Las herramientas Enterprise se registran cuando nextpdf/premium está instalado y el proveedor Enterprise se resuelve. Las herramientas de privacidad (redacción, desidentificación, redacción por zonas) envuelven clases Enterprise. Se registran bajo el nivel Enterprise solo cuando esas clases pueden cargarse automáticamente.
  • Las herramientas de AST y de mutación se distribuyen con el servidor y se registran bajo el nivel Pro. Los controles NEXTPDF_AST_TOOLS_ENABLED y NEXTPDF_MUTATION_TOOLS_ENABLED los gobiernan, y ambos controles están habilitados de forma predeterminada.

El paquete Premium, no el servidor, define los inventarios exactos de herramientas Pro y Enterprise y los documenta junto con ese paquete. El contrato del servidor es el mecanismo de registro, no una lista Premium fija.

Imprime las herramientas que expone esta instalación, sin iniciar un servidor:

Ventana de terminal
./vendor/bin/generate-skills --dry-run --list-tools

Consultar mediante MCP el recuento autoritativo del servidor en ejecución:

Ventana de terminal
./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

A partir del resultado de initialize, el servidor calcula los valores capabilities.nextpdf.tool_count y tiers para el proceso en ejecución. A través de REST, GET /api/v1/capabilities devuelve la introspección equivalente.

  • No existe un total fijo de «33 herramientas» ni ningún otro total fijo. El material más antiguo cita un único número, que no es un contrato. El recuento varía según los paquetes instalados, la lista de permitidos enabled_tools y los controles de entorno de parse_pdf, AST y mutación. Leer siempre el valor del servidor en ejecución.

  • La lista de permitidos resta; nunca agrega. Incluir una herramienta Pro en enabled_tools mientras nextpdf/premium está ausente no la registra.

  • La ausencia de un nivel es silenciosa y esperada. Una instalación únicamente de código abierto expone el conjunto básico e informa de cero herramientas Pro y cero herramientas Enterprise. Ese resultado es un funcionamiento correcto, no un fallo.

  • El nivel en el catálogo es una invariante declarada. Cada herramienta declara su propio nivel y riesgo en el código. El registro nunca infiere un nivel a partir del espacio de nombres ni del empaquetado.

El escaneo del registro y la detección del nivel se ejecutan una sola vez en el arranque. El valor performance_budget de la página los acota. El costo por herramienta es la operación subyacente del motor, no la búsqueda en el catálogo, que es O(1) por nombre de herramienta.

Usar enabled_tools como control de privilegio mínimo: exponer solo las herramientas que necesita una integración. El catálogo nunca incluye una herramienta que la política de seguridad rechazó, y el contador del nivel refleja únicamente las herramientas admitidas. Las herramientas de alto riesgo permanecen controladas por confirmación humana, independientemente de su pertenencia al catálogo. Consultar /connect/security-and-operations/.

Esta página describe el mecanismo del registro. Las citas del protocolo para las superficies tools/list e initialize están fijadas en /transports/mcp/. El modelo de riesgo está especificado en /connect/hitl-risk-tiers/.

El catálogo básico está completo para la creación, la inspección y los diagnósticos. Las herramientas de firma, redacción, cumplimiento y análisis forense aparecen solo cuando nextpdf/premium está instalado junto al servidor. Se trata de un límite de empaquetado, aplicado en el momento de composer require, nunca de un aviso en tiempo de ejecución.

  • /connect/hitl-risk-tiers/ — qué significa la columna de riesgo y cómo se aplica
  • /connect/boot-and-discovery/ — la secuencia completa de arranque y descubrimiento
  • /connect/configuration/ — enabled_tools y los controles de entorno
  • /transports/mcp/ — tools/list e initialize en formato de cable
  • /connect/overview/ — por qué el catálogo depende del tiempo de ejecución por diseño