@nubiia/mcp-freematica 0.8.0 → 0.9.0
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/README.md +12 -7
- package/dist/clients/fiql-builder.d.ts +32 -8
- package/dist/clients/fiql-builder.js +42 -14
- package/dist/clients/fiql-builder.js.map +1 -1
- package/dist/clients/freematica-client.d.ts +92 -35
- package/dist/clients/freematica-client.js +251 -98
- package/dist/clients/freematica-client.js.map +1 -1
- package/dist/schemas/cartera.d.ts +7 -5
- package/dist/schemas/cartera.js +13 -11
- package/dist/schemas/cartera.js.map +1 -1
- package/dist/schemas/facturas-ventas.d.ts +20 -16
- package/dist/schemas/facturas-ventas.js +36 -32
- package/dist/schemas/facturas-ventas.js.map +1 -1
- package/dist/schemas/pedidos-compras.d.ts +8 -6
- package/dist/schemas/pedidos-compras.js +8 -6
- package/dist/schemas/pedidos-compras.js.map +1 -1
- package/dist/server-instructions.js +19 -0
- package/dist/server-instructions.js.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/articulos.d.ts +14 -0
- package/dist/tools/articulos.js +183 -0
- package/dist/tools/articulos.js.map +1 -0
- package/dist/tools/cartera.js +2 -2
- package/dist/tools/cartera.js.map +1 -1
- package/dist/tools/contabilidad.js +7 -7
- package/dist/tools/contabilidad.js.map +1 -1
- package/dist/tools/facturas-ventas.js +12 -12
- package/dist/tools/facturas-ventas.js.map +1 -1
- package/dist/tools/localizaciones.d.ts +1 -1
- package/dist/tools/localizaciones.js +3 -12
- package/dist/tools/localizaciones.js.map +1 -1
- package/dist/tools/personal.js +13 -17
- package/dist/tools/personal.js.map +1 -1
- package/dist/tools/prl.js +15 -49
- package/dist/tools/prl.js.map +1 -1
- package/dist/tools/proveedores.d.ts +2 -2
- package/dist/tools/proveedores.js +8 -6
- package/dist/tools/proveedores.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/personal.js
CHANGED
|
@@ -13,20 +13,23 @@ const GET_TOOL_NAME = 'freematica_get_persona';
|
|
|
13
13
|
const LIST_DESCRIPTION = [
|
|
14
14
|
'Devuelve la lista paginada de personas (empleados / personal) de Freemática.',
|
|
15
15
|
'',
|
|
16
|
-
'Endpoint: GET /pers/
|
|
16
|
+
'Endpoint: GET /pers/v1/personal',
|
|
17
17
|
'',
|
|
18
18
|
'Permite filtrar por empresa (VSSPER_EMP), delegación (VSSPER_DELEG), código',
|
|
19
|
-
'de persona (VSSPER_COD), nombre (VSSPER_NOM
|
|
20
|
-
'
|
|
21
|
-
'(
|
|
22
|
-
'
|
|
19
|
+
'de persona (VSSPER_COD), nombre (VSSPER_NOM), primer apellido',
|
|
20
|
+
'(VSSPER_APELL1), NIF (VSSPER_NIF), situación (VSSPER_SIT), departamento',
|
|
21
|
+
'(VSSPER_DPTO) y sección (VSSPER_SECCION).',
|
|
22
|
+
'',
|
|
23
|
+
'AVISO: todos los filtros son de coincidencia EXACTA (el API no soporta',
|
|
24
|
+
'búsqueda parcial en este endpoint). Para localizar a una persona por nombre',
|
|
25
|
+
'parcial, lista sin filtros y filtra sobre los resultados.',
|
|
23
26
|
'',
|
|
24
27
|
'Cada item incluye `idReg` opaco para usar en freematica_get_persona.',
|
|
25
28
|
].join('\n');
|
|
26
29
|
const GET_DESCRIPTION = [
|
|
27
30
|
'Devuelve el detalle completo de una persona.',
|
|
28
31
|
'',
|
|
29
|
-
'Endpoint: GET /pers/
|
|
32
|
+
'Endpoint: GET /pers/v1/personal/{idreg}',
|
|
30
33
|
'',
|
|
31
34
|
'El parámetro `id` DEBE ser el campo `idReg` (string opaco base64) que aparece',
|
|
32
35
|
'en los items de freematica_list_personal.',
|
|
@@ -56,14 +59,13 @@ const ListPersonalSchema = {
|
|
|
56
59
|
.string()
|
|
57
60
|
.min(1)
|
|
58
61
|
.optional()
|
|
59
|
-
.describe('Nombre de la persona
|
|
60
|
-
'
|
|
62
|
+
.describe('Nombre de la persona (campo VSSPER_NOM). Coincidencia EXACTA — ' +
|
|
63
|
+
'"Juan" NO encuentra "Juan Carlos"; usa el nombre completo tal cual figura en Freemática.'),
|
|
61
64
|
apellido: z
|
|
62
65
|
.string()
|
|
63
66
|
.min(1)
|
|
64
67
|
.optional()
|
|
65
|
-
.describe('Primer apellido
|
|
66
|
-
'Introduce parte del apellido para buscar.'),
|
|
68
|
+
.describe('Primer apellido (campo VSSPER_APELL1). Coincidencia EXACTA con el apellido completo.'),
|
|
67
69
|
nif: z
|
|
68
70
|
.string()
|
|
69
71
|
.min(1)
|
|
@@ -84,11 +86,6 @@ const ListPersonalSchema = {
|
|
|
84
86
|
.min(1)
|
|
85
87
|
.optional()
|
|
86
88
|
.describe('Código de sección (campo VSSPER_SECCION en Freemática).'),
|
|
87
|
-
activo: z
|
|
88
|
-
.boolean()
|
|
89
|
-
.optional()
|
|
90
|
-
.describe('Filtra por personas activas (true → VSSPER_ACTIVO==S) o inactivas (false → VSSPER_ACTIVO==N). ' +
|
|
91
|
-
'Si se omite, devuelve todas.'),
|
|
92
89
|
};
|
|
93
90
|
// ---------------------------------------------------------------------------
|
|
94
91
|
// Register function
|
|
@@ -107,7 +104,7 @@ export function registerPersonalTools(server, client) {
|
|
|
107
104
|
// -------------------------------------------------------------------------
|
|
108
105
|
// 1. freematica_list_personal
|
|
109
106
|
// -------------------------------------------------------------------------
|
|
110
|
-
server.tool(LIST_TOOL_NAME, LIST_DESCRIPTION, ListPersonalSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, empresa, delegacion, codPersona, nombre, apellido, nif, situacion, departamento, seccion,
|
|
107
|
+
server.tool(LIST_TOOL_NAME, LIST_DESCRIPTION, ListPersonalSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, empresa, delegacion, codPersona, nombre, apellido, nif, situacion, departamento, seccion, }) => {
|
|
111
108
|
try {
|
|
112
109
|
const result = await client.listPersonal({
|
|
113
110
|
page,
|
|
@@ -121,7 +118,6 @@ export function registerPersonalTools(server, client) {
|
|
|
121
118
|
situacion,
|
|
122
119
|
departamento,
|
|
123
120
|
seccion,
|
|
124
|
-
activo,
|
|
125
121
|
});
|
|
126
122
|
return okList({ items: result.items, total: result.total, page, itemsPerPage: items });
|
|
127
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personal.js","sourceRoot":"","sources":["../../src/tools/personal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEjD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAClD,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG;IACvB,8EAA8E;IAC9E,EAAE;IACF,iCAAiC;IACjC,EAAE;IACF,6EAA6E;IAC7E
|
|
1
|
+
{"version":3,"file":"personal.js","sourceRoot":"","sources":["../../src/tools/personal.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/prl.js
CHANGED
|
@@ -31,10 +31,10 @@ const LIST_VS_DESCRIPTION = [
|
|
|
31
31
|
'',
|
|
32
32
|
'Endpoint: GET /pprl/v1/vigilancia-salud',
|
|
33
33
|
'',
|
|
34
|
-
'
|
|
35
|
-
'
|
|
36
|
-
'
|
|
37
|
-
'
|
|
34
|
+
'ÚNICO filtro soportado: `idRegPersona` (el campo `idReg` de la persona en',
|
|
35
|
+
'freematica_list_personal). El API ignora cualquier otro filtro en este',
|
|
36
|
+
'endpoint, así que para acotar por empresa, tipo de revisión o fechas hay',
|
|
37
|
+
'que filtrar sobre los resultados.',
|
|
38
38
|
'',
|
|
39
39
|
'Campos principales: PERVS_EMP, PERVS_DELEG, PERVS_PERSO, PERVS_TIPO_REVISION,',
|
|
40
40
|
'PERVS_RESULTADO, PERVS_FCH_CITA, idReg.',
|
|
@@ -104,49 +104,22 @@ export const FichaPrevClienteRefinedSchema = z
|
|
|
104
104
|
message: 'Se requiere al menos un identificador: codCliente, grupoCliente, codLocalizacionServicio o codigoFicha. ' +
|
|
105
105
|
'Llamar sin ningún filtro devolvería el dataset completo.',
|
|
106
106
|
});
|
|
107
|
-
/**
|
|
107
|
+
/**
|
|
108
|
+
* Schema para freematica_list_vigilancia_salud.
|
|
109
|
+
*
|
|
110
|
+
* Solo paginación + idRegPersona: el API ignora silenciosamente el parámetro
|
|
111
|
+
* `rquery` en este endpoint (verificado contra producción: cualquier FIQL,
|
|
112
|
+
* incluso con campos inexistentes, devuelve 200 con el dataset completo), así
|
|
113
|
+
* que exponer filtros FIQL aquí sería engañoso.
|
|
114
|
+
*/
|
|
108
115
|
const ListVigilanciaSaludShape = {
|
|
109
116
|
...PaginationSchema,
|
|
110
117
|
idRegPersona: z
|
|
111
118
|
.string()
|
|
112
119
|
.min(1)
|
|
113
120
|
.optional()
|
|
114
|
-
.describe('idReg opaco de la persona (
|
|
115
|
-
|
|
116
|
-
.string()
|
|
117
|
-
.min(1)
|
|
118
|
-
.optional()
|
|
119
|
-
.describe('Código de empresa (campo PERVS_EMP en Freemática).'),
|
|
120
|
-
delegacion: z
|
|
121
|
-
.string()
|
|
122
|
-
.min(1)
|
|
123
|
-
.optional()
|
|
124
|
-
.describe('Código de delegación (campo PERVS_DELEG en Freemática).'),
|
|
125
|
-
codPersona: z
|
|
126
|
-
.string()
|
|
127
|
-
.min(1)
|
|
128
|
-
.optional()
|
|
129
|
-
.describe('Código natural de la persona (campo PERVS_PERSO en Freemática).'),
|
|
130
|
-
tipoRevision: z
|
|
131
|
-
.string()
|
|
132
|
-
.min(1)
|
|
133
|
-
.optional()
|
|
134
|
-
.describe('Tipo de revisión médica (campo PERVS_TIPO_REVISION en Freemática).'),
|
|
135
|
-
resultado: z
|
|
136
|
-
.string()
|
|
137
|
-
.min(1)
|
|
138
|
-
.optional()
|
|
139
|
-
.describe('Resultado de la revisión (campo PERVS_RESULTADO en Freemática).'),
|
|
140
|
-
fechaCitaDesde: z
|
|
141
|
-
.string()
|
|
142
|
-
.regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:\d{2})?)?$/, 'Debe ser una fecha ISO 8601 (YYYY-MM-DD)')
|
|
143
|
-
.optional()
|
|
144
|
-
.describe('Fecha inicio del rango de cita (campo PERVS_FCH_CITA, ISO 8601, inclusive).'),
|
|
145
|
-
fechaCitaHasta: z
|
|
146
|
-
.string()
|
|
147
|
-
.regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:\d{2})?)?$/, 'Debe ser una fecha ISO 8601 (YYYY-MM-DD)')
|
|
148
|
-
.optional()
|
|
149
|
-
.describe('Fecha fin del rango de cita (campo PERVS_FCH_CITA, ISO 8601, inclusive).'),
|
|
121
|
+
.describe('idReg opaco de la persona (campo "idReg" en los items de freematica_list_personal). ' +
|
|
122
|
+
'Único filtro que soporta el API en este endpoint.'),
|
|
150
123
|
};
|
|
151
124
|
// ---------------------------------------------------------------------------
|
|
152
125
|
// Register function
|
|
@@ -197,19 +170,12 @@ export function registerPrlTools(server, client) {
|
|
|
197
170
|
// -------------------------------------------------------------------------
|
|
198
171
|
// 2. freematica_list_vigilancia_salud
|
|
199
172
|
// -------------------------------------------------------------------------
|
|
200
|
-
server.tool(LIST_VS_TOOL_NAME, LIST_VS_DESCRIPTION, ListVigilanciaSaludShape, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, idRegPersona
|
|
173
|
+
server.tool(LIST_VS_TOOL_NAME, LIST_VS_DESCRIPTION, ListVigilanciaSaludShape, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, idRegPersona }) => {
|
|
201
174
|
try {
|
|
202
175
|
const result = await client.listVigilanciaSalud({
|
|
203
176
|
page,
|
|
204
177
|
items,
|
|
205
178
|
idRegPersona,
|
|
206
|
-
empresa,
|
|
207
|
-
delegacion,
|
|
208
|
-
codPersona,
|
|
209
|
-
tipoRevision,
|
|
210
|
-
resultado,
|
|
211
|
-
fechaCitaDesde,
|
|
212
|
-
fechaCitaHasta,
|
|
213
179
|
});
|
|
214
180
|
return okList({ items: result.items, total: result.total, page, itemsPerPage: items });
|
|
215
181
|
}
|
package/dist/tools/prl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prl.js","sourceRoot":"","sources":["../../src/tools/prl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEjD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAC7D,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG;IACxB,2EAA2E;IAC3E,EAAE;IACF,2CAA2C;IAC3C,EAAE;IACF,gFAAgF;IAChF,kEAAkE;IAClE,gFAAgF;IAChF,EAAE;IACF,8EAA8E;IAC9E,+BAA+B;IAC/B,EAAE;IACF,sEAAsE;IACtE,sDAAsD;CACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,mBAAmB,GAAG;IAC1B,oEAAoE;IACpE,EAAE;IACF,yCAAyC;IACzC,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"prl.js","sourceRoot":"","sources":["../../src/tools/prl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEjD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAC7D,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG;IACxB,2EAA2E;IAC3E,EAAE;IACF,2CAA2C;IAC3C,EAAE;IACF,gFAAgF;IAChF,kEAAkE;IAClE,gFAAgF;IAChF,EAAE;IACF,8EAA8E;IAC9E,+BAA+B;IAC/B,EAAE;IACF,sEAAsE;IACtE,sDAAsD;CACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,mBAAmB,GAAG;IAC1B,oEAAoE;IACpE,EAAE;IACF,yCAAyC;IACzC,EAAE;IACF,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,mCAAmC;IACnC,EAAE;IACF,+EAA+E;IAC/E,yCAAyC;CAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,kBAAkB,GAAG;IACzB,wEAAwE;IACxE,EAAE;IACF,iDAAiD;IACjD,EAAE;IACF,+EAA+E;IAC/E,mDAAmD;CACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,8EAA8E;AAC9E,kFAAkF;AAClF,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,oFAAoF,CAAC;IACjG,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,qGAAqG,CAAC;IAClH,uBAAuB,EAAE,CAAC;SACvB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,KAAK,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,6GAA6G,CAAC;IAC1H,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;CAC3F,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC,qBAAqB,CAAC;KAC7B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,KAAK,SAAS;IAC1B,CAAC,CAAC,YAAY,KAAK,SAAS;IAC5B,CAAC,CAAC,uBAAuB,KAAK,SAAS;IACvC,CAAC,CAAC,WAAW,KAAK,SAAS,EAC7B;IACE,OAAO,EACL,0GAA0G;QAC1G,0DAA0D;CAC7D,CACF,CAAC;AAEJ;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAG;IAC/B,GAAG,gBAAgB;IACnB,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,sFAAsF;QACpF,mDAAmD,CACtD;CACJ,CAAC;AAEF,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,MAAwB;IAC1E,4EAA4E;IAC5E,uCAAuC;IACvC,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CACT,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EACnE,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,EAA2B,EAAE;QACpG,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,UAAU,GAAG,6BAA6B,CAAC,SAAS,CAAC;YACzD,UAAU;YACV,YAAY;YACZ,uBAAuB;YACvB,WAAW;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAmB,CAAC;QACjD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;gBAC9C,UAAU;gBACV,YAAY;gBACZ,uBAAuB;gBACvB,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAmB,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,eAAe;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAmB,CAAC;YACxE,OAAO,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAC;QACtF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,4EAA4E;IAC5E,sCAAsC;IACtC,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EACnE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAA2B,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;gBAC9C,IAAI;gBACJ,KAAK;gBACL,YAAY;aACb,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAmB,CAAC;QAC3G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,eAAe;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAmB,CAAC;YACxE,OAAO,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAC;QACtF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,4EAA4E;IAC5E,qCAAqC;IACrC,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,kBAAkB,EAClB;QACE,EAAE,EAAE,CAAC;aACF,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,sHAAsH,CACvH;KACJ,EACD,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EACnE,KAAK,EAAE,EAAE,EAAE,EAAE,EAA2B,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC/C,OAAO,EAAE,CAAC,EAAE,CAAmB,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,eAAe;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAmB,CAAC;YACxE,OAAO,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAC;QACtF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -4,8 +4,8 @@ import type { FreematicaClient } from '../clients/freematica-client.js';
|
|
|
4
4
|
* Registra las tools de proveedores en el servidor MCP.
|
|
5
5
|
*
|
|
6
6
|
* Tools registradas:
|
|
7
|
-
* - `freematica_list_proveedores`: lista paginada con filtros FIQL (
|
|
8
|
-
*
|
|
7
|
+
* - `freematica_list_proveedores`: lista paginada con filtros FIQL (nombre por coincidencia
|
|
8
|
+
* exacta y filtro activo/inactivo vía FECHA_BAJA).
|
|
9
9
|
* - `freematica_get_proveedor`: detalle por idReg opaco.
|
|
10
10
|
*
|
|
11
11
|
* @param server - Instancia del servidor MCP.
|
|
@@ -13,10 +13,12 @@ const LIST_DESCRIPTION = [
|
|
|
13
13
|
'',
|
|
14
14
|
'Paginación 1-indexed.',
|
|
15
15
|
'',
|
|
16
|
-
'El filtro `activo` es un booleano: true = FECHA_BAJA nula (proveedores activos
|
|
16
|
+
'El filtro `activo` es un booleano: true = FECHA_BAJA nula (proveedores activos,',
|
|
17
|
+
'filtrado sobre la página recibida — el total refleja el dataset sin filtrar);',
|
|
17
18
|
'false = FECHA_BAJA informada (dados de baja).',
|
|
18
19
|
'',
|
|
19
|
-
'El filtro `nombre`
|
|
20
|
+
'El filtro `nombre` es de coincidencia EXACTA con el nombre completo',
|
|
21
|
+
'(el API no soporta búsqueda parcial en este endpoint).',
|
|
20
22
|
].join('\n');
|
|
21
23
|
const GET_DESCRIPTION = [
|
|
22
24
|
'Devuelve el detalle completo de un proveedor.',
|
|
@@ -45,8 +47,8 @@ const LIST_SCHEMA = {
|
|
|
45
47
|
.string()
|
|
46
48
|
.min(1)
|
|
47
49
|
.optional()
|
|
48
|
-
.describe('Nombre del proveedor (NOMBRE_PRO).
|
|
49
|
-
'
|
|
50
|
+
.describe('Nombre del proveedor (NOMBRE_PRO). Coincidencia EXACTA con el nombre completo ' +
|
|
51
|
+
'tal cual figura en Freemática — "García" NO encuentra "García S.L.".'),
|
|
50
52
|
activo: z
|
|
51
53
|
.boolean()
|
|
52
54
|
.optional()
|
|
@@ -72,8 +74,8 @@ const LIST_SCHEMA = {
|
|
|
72
74
|
* Registra las tools de proveedores en el servidor MCP.
|
|
73
75
|
*
|
|
74
76
|
* Tools registradas:
|
|
75
|
-
* - `freematica_list_proveedores`: lista paginada con filtros FIQL (
|
|
76
|
-
*
|
|
77
|
+
* - `freematica_list_proveedores`: lista paginada con filtros FIQL (nombre por coincidencia
|
|
78
|
+
* exacta y filtro activo/inactivo vía FECHA_BAJA).
|
|
77
79
|
* - `freematica_get_proveedor`: detalle por idReg opaco.
|
|
78
80
|
*
|
|
79
81
|
* @param server - Instancia del servidor MCP.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proveedores.js","sourceRoot":"","sources":["../../src/tools/proveedores.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,cAAc,GAAG,6BAA6B,CAAC;AACrD,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAEjD,MAAM,gBAAgB,GAAG;IACvB,0DAA0D;IAC1D,EAAE;IACF,mGAAmG;IACnG,gGAAgG;IAChG,8CAA8C;IAC9C,EAAE;IACF,uBAAuB;IACvB,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"proveedores.js","sourceRoot":"","sources":["../../src/tools/proveedores.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nubiia/mcp-freematica",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "MCP server for the Freemática ERP REST API: invoicing, accounts receivable, suppliers, accounting and HR data for AI assistants like Claude. Built by Nubiia.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|