autoform-mcp-server 1.7.2 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import { handleGenerateBatch, generateBatchSchema } from './tools/generateBatch.
|
|
|
13
13
|
import { handleListTemplates, listTemplatesSchema } from './tools/manageTemplates.js';
|
|
14
14
|
import { handleImportTemplate, importTemplateSchema } from './tools/importTemplate.js';
|
|
15
15
|
import { withMetrics } from './services/metricsLogger.js';
|
|
16
|
-
const server = new Server({ name: 'autoform', version: '1.7.
|
|
16
|
+
const server = new Server({ name: 'autoform', version: '1.7.4' }, { capabilities: { tools: {} } });
|
|
17
17
|
// Register all tools
|
|
18
18
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
19
19
|
tools: [
|
|
@@ -13,6 +13,7 @@ IMPORTANTE — Codificación de texto:
|
|
|
13
13
|
IMPORTANTE — Casillas de verificación (checkboxes) en PDFs estaticos:
|
|
14
14
|
- Si detectas opciones tipo checkbox, SOLO marcalas si puedes VER el PDF visualmente (adjuntado al chat). Si no puedes verlo, pide al usuario que lo adjunte.
|
|
15
15
|
- Para marcar: text="X", fontSize=10, en las coordenadas exactas del cuadrado.
|
|
16
|
+
- CHECKBOXES MUTUAMENTE EXCLUYENTES: si el formulario tiene opciones donde solo una puede estar marcada (ej: ALUMNO / DOCENTE / ADMINISTRATIVO), cada fila de data_rows debe tener "X" en EXACTAMENTE UN campo checkbox y "" en los demas. NUNCA pongas "X" en multiples checkboxes de la misma fila.
|
|
16
17
|
|
|
17
18
|
IMPORTANTE — Verificación visual:
|
|
18
19
|
- Si el usuario adjunto el PDF al chat Y tambien dio la ruta, APROVECHA la imagen visual para verificar que tus coordenadas son correctas antes de generar.
|
|
@@ -9,9 +9,20 @@ NO USAR SI: No tienes template guardado → usa autoform_fill_batch_at_coordinat
|
|
|
9
9
|
|
|
10
10
|
DATOS: Pasa los datos como array de objetos JSON en el parametro "data". Si el usuario tiene un archivo (Excel, CSV, etc.), leelo primero y convierte a JSON.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
- "
|
|
14
|
-
- "
|
|
12
|
+
CHECKBOXES MUTUAMENTE EXCLUYENTES:
|
|
13
|
+
- Si el template tiene campos tipo checkbox (ej: es_alumno, es_docente, es_administrativo) donde SOLO UNO debe marcarse por documento, asegurate de que CADA fila de data tenga "X" en EXACTAMENTE UN campo de checkbox y "" (string vacio) en todos los demas.
|
|
14
|
+
- NUNCA pongas "X" en multiples checkboxes de la misma fila.
|
|
15
|
+
- Si un error produce checkboxes mal marcados, el error esta en tus datos, NO en el MCP. Revisa y corrige los datos antes de culpar al sistema.
|
|
16
|
+
|
|
17
|
+
DIRECTORIO DE SALIDA: Si no se especifica output_dir, guarda en el mismo directorio del PDF base del template.
|
|
18
|
+
|
|
19
|
+
NO GENERES PDF DE PRUEBA: Genera el batch completo directamente.
|
|
20
|
+
|
|
21
|
+
Modos de distribucion (DEFAULT: "repeat"):
|
|
22
|
+
- "repeat" (DEFAULT, recomendado para la mayoria de formularios): cada fila de datos genera UN documento completo. Todos los campos del template reciben sus valores de ESA fila. Usa este modo siempre que cada campo del template tenga un nombre UNICO (formularios normales, certificados, constancias).
|
|
23
|
+
- "sequential": SOLO usar cuando el template tiene campos REPETIDOS con el mismo nombre (ej: una tabla con 10 campos "nombre" donde cada uno debe llenarse con una fila diferente). Si no estas seguro, usa "repeat".
|
|
24
|
+
|
|
25
|
+
REGLA SIMPLE: si cada campo del template aparece solo 1 vez → "repeat". Si hay campos repetidos con el mismo fieldName → "sequential".`,
|
|
15
26
|
inputSchema: {
|
|
16
27
|
type: 'object',
|
|
17
28
|
properties: {
|
|
@@ -30,7 +41,7 @@ Modos de distribucion:
|
|
|
30
41
|
distribution_mode: {
|
|
31
42
|
type: 'string',
|
|
32
43
|
enum: ['sequential', 'repeat'],
|
|
33
|
-
description: 'Modo de distribucion: "
|
|
44
|
+
description: 'Modo de distribucion. Default: "repeat" (cada fila = 1 documento). Usar "sequential" SOLO si el template tiene campos repetidos con el mismo nombre.'
|
|
34
45
|
},
|
|
35
46
|
merge_into_single: {
|
|
36
47
|
type: 'boolean',
|
|
@@ -54,7 +65,7 @@ Modos de distribucion:
|
|
|
54
65
|
}
|
|
55
66
|
};
|
|
56
67
|
export async function handleGenerateBatch(args) {
|
|
57
|
-
const { template_name, distribution_mode = '
|
|
68
|
+
const { template_name, distribution_mode = 'repeat', merge_into_single = false, output_dir } = args;
|
|
58
69
|
// data puede llegar como string JSON o como array
|
|
59
70
|
let data = args.data;
|
|
60
71
|
if (typeof data === 'string') {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "autoform-mcp-server",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.4",
|
|
4
4
|
"description": "MCP server for bulk PDF form filling. Detect fields, fill templates, and generate hundreds of PDFs from data — directly from Claude.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|