New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@nubiia/mcp-freematica

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nubiia/mcp-freematica

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.

latest
Source
npmnpm
Version
0.11.2
Version published
Maintainers
1
Created
Source

mcp-freematica

npm version license: MIT by Nubiia

MCP server que expone operaciones del API REST de Freemática (ERP: facturación, cartera, proveedores, contabilidad, personal) para ser consumidas por asistentes de IA como Claude.

Built and maintained by Nubiia — automatización e integraciones con IA para negocios (MCP, Holded, Pipedrive y más). ¿Quieres algo así para tu empresa? Escríbenos en nubiia.es.

Stack

  • TypeScript + Node.js ≥20
  • @modelcontextprotocol/sdk (stdio + Streamable HTTP transports)
  • Express + axios + zod
  • pino (logging estructurado)
  • Vitest + nock para tests

Tools expuestas

ToolEndpoint FreemáticaDescripción
freematica_list_articulosGET /part/v1/articulosCatálogo de artículos/materiales/consumibles (referencias, familias, proveedores)
freematica_get_articuloGET /part/v1/articulos/{idreg}Detalle de un artículo
freematica_get_precio_articuloGET /pgrl/v1/precio-articulo/{idreg}Precios de venta de un artículo (PRECIO_VENTA, DESCUENTO, FACTURABLE)
freematica_list_articulos_costesGET /part/v2/articulos-costesLista paginada de costes de artículos
freematica_get_articulo_costeGET /part/v2/articulos-costes/{idReg}Detalle de coste de un artículo
freematica_list_articulos_serie_loteGET /part/v2/articulos-serie-loteLista paginada de artículos con número de serie/lote
freematica_get_articulo_serie_loteGET /part/v2/articulos-serie-lote/{idReg}Detalle de un artículo con número de serie/lote
freematica_list_stocks_serie_loteGET /part/v2/stocks-serie-loteLista paginada de existencias de artículos por serie/lote
freematica_get_stock_serie_loteGET /part/v2/stocks-serie-lote/{idReg}Detalle de existencias de un artículo por serie/lote
freematica_list_stocksGET /part/v1/stocksLista paginada de stocks de artículos por almacén
freematica_get_stockGET /part/v1/stocks/{idReg}Detalle de stock de un artículo por almacén
freematica_list_familiasGET /part/v1/familiasLista paginada de familias de artículos (detalle + paginación vs master_data)
freematica_get_familiaGET /part/v1/familias/{idReg}Detalle de una familia de artículos por idReg
freematica_list_lineasGET /part/v1/lineasLista paginada de líneas de artículos
freematica_get_lineaGET /part/v1/lineas/{idReg}Detalle de una línea de artículos por idReg
freematica_list_subfamiliasGET /part/v1/subfamiliasLista paginada de subfamilias de artículos (detalle + paginación vs master_data)
freematica_get_subfamiliaGET /part/v1/subfamilias/{idReg}Detalle de una subfamilia de artículos por idReg
freematica_list_materiales_asignados_serviciosGET /pvss/v2/contratos-servicios-materialLista de material asignado a servicios
freematica_get_master_data(24 endpoints según catalog)Devuelve un catálogo de datos maestros (tipos, geográficos, organizativos, inventario, financiero)
freematica_list_clientesGET /pgrl/v2/clientesLista paginada de clientes
freematica_get_clienteGET /pgrl/v2/clientes/{idReg}Detalle de un cliente
freematica_list_contactos_clientesGET /pgrl/v2/contactos-clientesLista paginada de contactos
freematica_list_oportunidades_negocioGET /pcrm/v2/oportunidades-negocioLista paginada de oportunidades
freematica_get_oportunidad_negocioGET /pcrm/v2/oportunidades-negocio/{idReg}Detalle de oportunidad
freematica_get_oportunidad_negocio_datos_ampliadosGET /pcrm/v2/oportunidades-negocio/{idReg}/datos-ampliadosDatos ampliados (puede 404)
freematica_get_ficha_prev_clienteGET /pprl/v2/ficha-prev-clienteFicha PRL de un cliente
freematica_list_vigilancia_saludGET /pprl/v1/vigilancia-saludLista paginada de registros de Vigilancia de la Salud
freematica_get_vigilancia_saludGET /pprl/v1/vigilancia-salud/{idreg}Detalle de un registro de Vigilancia de la Salud
freematica_list_personalGET /pers/v1/personalLista paginada de personas (RRHH)
freematica_get_personaGET /pers/v2/personal/{idreg}Detalle de una persona
freematica_list_calendariosGET /pgrl/v1/calendariosLista paginada de calendarios laborales
freematica_list_calendario_periodosGET /pgrl/v1/calendarios/{idreg}/periodosPeriodos de un calendario laboral
freematica_list_cartera_clientesGET /pcar/v1/cartera-clientesLista paginada de cartera de clientes (cobros, impagados)
freematica_get_cartera_clienteGET /pcar/v1/cartera-clientes/{idReg}Detalle de un documento de cartera
freematica_list_facturas_cabeceraGET /pven/v1/facturas-cabeceraLista paginada de facturas de ventas (cabecera)
freematica_get_factura_cabeceraGET /pven/v1/facturas-cabecera/{idReg}Detalle de una factura de venta
freematica_list_factura_lineasGET /pven/v1/facturas-cabecera/{idReg}/lineasLíneas de detalle de una factura de venta
freematica_list_factura_ivaGET /pven/v1/facturas-cabecera/{idReg}/ivaLíneas de IVA de una factura de venta
freematica_list_factura_vencimientosGET /pven/v1/facturas-cabecera/{idReg}/vencimientosVencimientos de cobro de una factura de venta
freematica_list_facturas_comprasGET /pcom/v1/facturas-cabeceraLista paginada de facturas de compras
freematica_get_factura_compraGET /pcom/v1/facturas-cabecera/{idReg}Detalle de una factura de compra
freematica_list_proveedoresGET /pgrl/v2/proveedoresLista paginada de proveedores
freematica_get_proveedorGET /pgrl/v2/proveedores/{idReg}Detalle de un proveedor
freematica_list_localizaciones_cobro_clientesGET /pgrl/v2/localizaciones-cobro-clientesLocalizaciones de cobro de clientes (SEPA, domiciliaciones)
freematica_list_localizaciones_pago_proveedoresGET /pgrl/v2/localizaciones-pago-proveedoresLocalizaciones de pago de proveedores
freematica_list_localizaciones_servicio_clientesGET /pgrl/v2/localizaciones-servicio-clientesLocalizaciones de servicio de clientes
freematica_list_cuentas_contablesGET /pcon/v2/cuentasPlan de cuentas contables (COD_CTA, COD_PLAN, etc.)
freematica_list_cuentas_analiticasGET /pcon/v2/cuentas-analiticasCatálogo de cuentas analíticas
freematica_export_asientosGET /pcon/v2/asientosExporta asientos contables de un período (CSV/JSON)
freematica_list_pedidos_compraGET /pcmp/v2/pedidosLista paginada de pedidos de compra (filtros nativos + FIQL + estado enum)
freematica_get_pedido_compraGET /pcmp/v2/pedidos/{idReg}Detalle de un pedido de compra (cabecera + proveedor + líneas)
freematica_list_albaranes_ventasGET /pven/v2/albaranes-ventasLista paginada de albaranes de ventas (filtros todos nativos, empresa requerido)
freematica_get_albaran_ventaGET /pven/v2/albaranes-ventas/{idReg}Detalle de un albarán de venta
freematica_list_albaranes_facturaGET /pven/v2/albaranes-facturasLista paginada de vinculaciones albarán↔factura (idReg nativo + FIQL)
freematica_get_albaran_facturaGET /pven/v2/albaranes-facturas/{idReg}Detalle de una vinculación albarán-factura
freematica_list_resultados_facturacionGET /pvss/v1/facturacion-resultadosResultados del proceso batch de facturación automática de vigilancia (FIQL)
freematica_list_contratosGET /pvss/v1/contratosLista paginada de cabeceras de contratos (solo filtros nativos: el API ignora FIQL aquí)
freematica_get_contratoGET /pvss/v1/contratos (scan)Busca un contrato por empresa + código natural (paginación interna + filtrado en cliente)
freematica_list_servicios_contratoGET /pvss/v1/contratos/{idReg}/serviciosServicios de un contrato
freematica_get_servicio_contratoGET /pvss/v2/contratos-servicios/{idReg}Detalle de un servicio de contrato
freematica_list_contratos_opcionalesGET /ppre/v2/contratos/opcionalesLista paginada de opcionales de contratos
freematica_get_contrato_opcionalesGET /ppre/v2/contratos/opcionales/{idReg}Detalle de un registro de opcionales
freematica_list_localizaciones_envio_clientesGET /pgrl/v2/localizaciones-envio-clientesLocalizaciones de envío de clientes
freematica_list_localizaciones_factura_clientesGET /pgrl/v2/localizaciones-factura-clientesLocalizaciones de factura de clientes
freematica_list_vinculos_personas_serviciosGET /pvss/v2/vinculos-personas-serviciosLista paginada de vínculos persona↔servicio (mapping centro → trabajador, clave para CAE)
freematica_get_vinculo_persona_servicioGET /pvss/v2/vinculos-personas-servicios/{idreg}Detalle de un vínculo persona-servicio
freematica_list_habilitaciones_servicios_altaGET /peqv/v2/habilitaciones/servicios/altaFeed incremental: altas de servicios-personal en habilitaciones CAE
freematica_list_habilitaciones_servicios_bajaGET /peqv/v2/habilitaciones/servicios/bajaFeed incremental: bajas de servicios-personal en habilitaciones CAE
freematica_list_habilitaciones_personal_altaGET /peqv/v2/habilitaciones/personal/altaFeed incremental: altas de licencias del personal en habilitaciones CAE
freematica_list_habilitaciones_personal_bajaGET /peqv/v2/habilitaciones/personal/bajaFeed incremental: bajas de licencias del personal en habilitaciones CAE
freematica_list_cuadrantesGET /pvss/v1/cuadrantesLista paginada de cuadrantes
freematica_list_cuadrantes_detallesGET /pvss/v1/cuadrantes-detallesDetalles de cuadrantes
freematica_list_cuadrantes_observacionesGET /pvss/v1/cuadrantes-observacionesObservaciones de cuadrantes
freematica_list_cuadrantes_auditoriaGET /pvss/v1/cuadrantes-auditoriaFeed de auditoría de cuadrantes (nuevos/modificados/eliminados); soporta param desde
freematica_list_cuadrantes_tareasGET /pvss/v2/cuadrantes-tareasTareas de cuadrantes
freematica_list_computos_persGET /pvss/v2/computos-persLista paginada de cómputos de personas (persona↔contrato↔servicio)
freematica_get_computos_persGET /pvss/v2/computos-pers/{idReg}Detalle de un cómputo de persona (campos CONFCP_*)
freematica_get_computos_pers_hGET /pvss/v2/computos-pers-h/{idReg}Detalle de cómputo de persona con histórico (campos CONFCPH_*)
freematica_list_cuadrantes_cierre_personasGET /pvss/v1/cuadrantes-cierre-personasLista de cierres de cuadrante por persona
freematica_get_cuadrante_cierre_personaGET /pvss/v1/cuadrantes-cierre-personas/{idreg}Detalle de cierre de cuadrante por persona
freematica_list_cuadrantes_cierre_personas_complementosGET /pvss/v1/cuadrantes-cierre-personas-complementosLista de complementos de cierre de cuadrante
freematica_get_cuadrante_cierre_persona_complementoGET /pvss/v1/cuadrantes-cierre-personas-complementos/{idreg}Detalle de complemento de cierre
freematica_list_cuadrantes_cierre_personas_especialesGET /pvss/v1/cuadrantes-cierre-personas-especialesLista de especiales de cierre de cuadrante
freematica_get_cuadrante_cierre_persona_especialGET /pvss/v1/cuadrantes-cierre-personas-especiales/{idreg}Detalle de especial de cierre
freematica_list_cuadrantes_cierre_personas_incidenciasGET /pvss/v1/cuadrantes-cierre-personas-incidenciasLista de incidencias de cierre de cuadrante
freematica_get_cuadrante_cierre_persona_incidenciaGET /pvss/v1/cuadrantes-cierre-personas-incidencias/{idreg}Detalle de incidencia de cierre
freematica_list_contratos_servicios_globalGET /pvss/v1/contratos-serviciosLista global de servicios de todos los contratos (sin filtro por contrato)
freematica_list_contratos_turnosGET /pvss/v1/contratos-turnosTurnos de contratos
freematica_list_contratos_horarios_operativaGET /pvss/v1/contratos-horarios-operativaHorarios de operativa de contratos
freematica_list_clases_serviciosGET /pvss/v1/clases-serviciosCatálogo de clases de servicio
freematica_list_inspectoresGET /pvss/v1/inspectoresLista de inspectores
freematica_get_inspector_empresaGET /pvss/v1/inspector-empresaInspector de empresa
freematica_list_claves_facturacionGET /pvss/v2/claves-facturacionClaves de facturación
freematica_list_incidencias_serviciosGET /pvss/v2/incidencias-serviciosLista paginada de incidencias en servicios
freematica_get_incidencia_servicioGET /pvss/v2/incidencias-servicios/{idReg}Detalle de una incidencia en servicio
freematica_list_incidencecodeGET /pvss/v2/incidencecodeCatálogo de códigos de incidencia (v2)
freematica_get_contratos_servicios_materialGET /pvss/v2/contratos-servicios-material/{idreg}Detalle de material asignado a un servicio de contrato por idReg
freematica_list_personal_v2GET /pers/v2/personalSincronización incremental de personas (param fchmodificacion opcional)
freematica_list_personal_identificacionGET /pers/v2/personal-identificacionDatos de identificación del personal
freematica_list_personal_notasGET /pers/v2/personal-notasNotas del personal (filtrables por idReg de persona)
freematica_get_personal_notaGET /pers/v2/personal-notas/{idReg}Detalle de una nota de personal
freematica_list_personal_experienciasGET /pers/v1/personal-experienciasHistorial de experiencia laboral del personal
freematica_get_personal_experienciaGET /pers/v1/personal-experiencias/{idreg}Detalle de una experiencia laboral
freematica_list_personal_formacionesGET /pers/v1/personal-formacionesHistorial de formaciones del personal
freematica_get_personal_formacionGET /pers/v1/personal-formaciones/{idReg}Detalle de una formación del personal
freematica_list_personal_contratosGET /pers/v1/personal_contratosContratos laborales del personal
freematica_get_personal_contratoGET /pers/v1/personal_contratos/{idreg}Detalle de un contrato laboral
freematica_list_personal_tramosGET /pers/v1/personal_tramosTramos de horario del personal (v1)
freematica_get_personal_tramoGET /pers/v1/personal_tramos/{idreg}Detalle de un tramo de horario (v1)
freematica_list_personal_tramos_syncGET /pers/v2/personal/tramosSincronización incremental de tramos de horario (param fchmodificacion opcional)
freematica_get_personal_tramo_v2GET /pers/v2/personal/tramos/{idreg}Detalle de un tramo de horario (v2)
freematica_list_personal_pagoGET /pers/v1/personal_pagoDatos bancarios y de pago del personal
freematica_get_personal_pagoGET /pers/v1/personal_pago/{idreg}Detalle de datos bancarios de una persona
freematica_list_personal_adicionalesGET /pers/v2/personal-adicionalesCampos adicionales personalizables del personal
freematica_list_personal_prorrogaGET /pers/v1/personal-prorrogaPrórrogas de contratos del personal
freematica_get_personal_prorrogaGET /pers/v1/personal-prorroga/{idreg}Detalle de una prórroga de contrato
freematica_list_incidencias_personalGET /pers/v2/incidenciasIncidencias del personal
freematica_get_agenda_personaGET /pers/v1/agenda-personaAgenda de citas y eventos de personas
freematica_list_equipamiento_ficha_seguridadGET /pers/v2/equipamiento-ficha-seguridadEquipamiento de fichas de seguridad del personal
freematica_list_anticipos_personalGET /pers/v2/personal/anticiposAnticipos de nómina del personal
freematica_get_anticipo_personalGET /pers/v2/personal/anticipos/{idReg}Detalle de un anticipo de nómina
freematica_list_calendario_personalGET /pers/v2/personal-calEntradas del calendario personal (vacaciones, permisos, ausencias)
freematica_get_calendario_personalGET /pers/v2/personal-cal/{idReg}Detalle de una entrada del calendario personal
freematica_list_cpdGET /pers/v1/cpdDocumentos del empleado (CPD: nóminas, comunicaciones, etc.)
freematica_get_cpdGET /pers/v1/cpd/{idreg}Detalle de un CPD
freematica_list_cpd_movimientosGET /pers/v1/cpd/{idreg}/movimientosMovimientos/historial de estados de un CPD
freematica_list_cpd_firmados_vidGET /pers/v1/cpd/firmados-vidCPDs firmados vía viafirma (VID)
freematica_list_personal_irpfGET /pers/v2/personal_irpfDatos de IRPF del personal
freematica_get_personal_irpfGET /pers/v2/personal_irpf/{idreg}Detalle de datos IRPF de una persona
freematica_list_sesiones_formacionGET /pers/v1/sesiones-formacionSesiones de formación del personal
freematica_get_sesion_formacionGET /pers/v1/sesiones-formacion/{idreg}Detalle de una sesión de formación
freematica_list_vss_incidenciasGET /pers/v2/vss-incidenciasIncidencias de personal (módulo VSS)
freematica_get_vss_incidenciaGET /pers/v2/vss-incidencias/{idReg}Detalle de una incidencia VSS del personal
freematica_list_ppre_contratosGET /ppre/v1/contratosLista paginada de contratos de instalación/mantenimiento (v1)
freematica_list_ppre_contratos_v2GET /ppre/v2/contratosLista de contratos de instalación/mantenimiento vigentes (v2)
freematica_get_ppre_contrato_v1GET /ppre/v1/contratos/{idreg}Detalle de un contrato (v1)
freematica_get_ppre_contrato_v2GET /ppre/v2/contratos/{idReg}Detalle de un contrato (v2)
freematica_list_ppre_contratos_instalacionGET /ppre/v1/contratosInstalacionContratos agrupados por instalación
freematica_list_ppre_tipos_contratoGET /ppre/v2/tipos-contratoCatálogo de tipos de contrato (ppre)
freematica_list_ppre_ordenes_trabajoGET /ppre/v1/ordenes-trabajoLista paginada de órdenes de trabajo
freematica_get_ppre_orden_trabajoGET /ppre/v1/ordenes-trabajo/{idreg}Detalle de una orden de trabajo
freematica_list_ppre_partesGET /ppre/v1/partesLista paginada de partes
freematica_get_ppre_parteGET /ppre/v1/partes/{idreg}Detalle de un parte
freematica_get_ppre_parte_componentes_ficha_tecnicaGET /ppre/v1/partes/{idreg}/componentes-ficha-tecnicaComponentes de la ficha técnica asociada a un parte
freematica_list_ppre_parte_ultimas_intervencionesGET /ppre/v1/partes/{idreg}/ultimas-intervencionesÚltimas intervenciones de un parte
freematica_list_ppre_partes_orden_trabajoGET /ppre/v2/partes/partes-orden-trabajoPartes cumplimentados asociados a órdenes de trabajo
freematica_list_ppre_partes_fin_mantenedorGET /ppre/v2/partes/partes-fin-mantenedorPartes finalizados por el mantenedor
freematica_list_ppre_cabecera_actas_partesGET /ppre/v2/partes/cabecera-actas-partesCabecera de actas de partes
freematica_list_ppre_lineas_actas_partesGET /ppre/v2/partes/lineas-actas-partesLíneas de actas de partes
freematica_list_ppre_fichas_instalacionGET /ppre/v1/fichas-instalacion/{idReg}Fichas de instalación (idReg en path, opcional para listar todas)
freematica_get_ppre_ficha_tecnicaGET /ppre/v1/ficha-tecnica/{idReg}Ficha técnica de una instalación
freematica_list_ppre_componentes_ficha_tecnicaGET /ppre/v1/fichas-tecnicas/{idreg}/componentesComponentes de una ficha técnica
freematica_list_ppre_marcajesGET /ppre/v1/marcajesMarcajes IKAROS (v1)
freematica_list_ppre_marcajes_v2GET /ppre/v2/marcajesMarcajes IKAROS (v2)
freematica_list_ppre_incidencias_anomaliasGET /ppre/v1/incidencias-anomaliasCatálogo de incidencias y anomalías (ppre)
freematica_list_ppre_tipo_instalacionGET /ppre/v1/tipo-instalacionCatálogo de tipos de instalación
freematica_list_pemf_marcajesGET /pemf/v2/marcajesMarcajes e-Movifree (v2, paginado)
freematica_get_pemf_marcajeGET /pemf/v2/marcajes/{idReg}Detalle de un marcaje e-Movifree
freematica_list_pemf_trackingGET /pemf/v1/trackingTracking de posiciones GPS de operarios (v1)
freematica_list_pemf_callsGET /pemf/v1/callsRegistro de llamadas de servicio (v1)
freematica_list_pemf_geopositionGET /pemf/v1/geopositionÚltima geolocalización de operarios (v1)
freematica_list_pemf_geoposition_v2GET /pemf/v2/geopositionÚltima geolocalización de operarios (v2)
freematica_list_pemf_cnaGET /pemf/v2/cnaCNA — estado de operarios de campo (v2)
freematica_list_pemf_devicesGET /pemf/v1/devicesLista de dispositivos e-Movifree (paginado)
freematica_get_pemf_deviceGET /pemf/v1/devices/{idDevice}Detalle de un dispositivo e-Movifree
freematica_list_pemf_rondasGET /pemf/v1/roundsRondas de vigilancia (v1, paginado)
freematica_list_pemf_rondas_v2GET /pemf/v2/roundsRondas de vigilancia (v2, paginado)
freematica_list_pemf_ronda_pointsGET /pemf/v1/rounds/{idRonda}/pointsPuntos de una ronda (v1)
freematica_list_pemf_ronda_points_v2GET /pemf/v2/rounds/{idRonda}/pointsPuntos de una ronda (v2)
freematica_list_pemf_servicesGET /pemf/v1/servicesServicios de campo activos (paginado)
freematica_get_pemf_serviceGET /pemf/v1/services/{idService}Detalle de un servicio de campo
freematica_list_pemf_service_alarmsGET /pemf/v1/services/{idService}/alarmsAlarmas de un servicio de campo
freematica_list_pemf_service_issuesGET /pemf/v1/services/{idService}/issuesIncidencias de un servicio de campo
freematica_list_pemf_service_roundsGET /pemf/v1/services/{idService}/roundsRondas de un servicio de campo
freematica_list_pemf_service_jobsGET /pemf/v1/services/{idService}/jobsTrabajos (jobs) de un servicio de campo
freematica_list_pemf_identificadores_servicioGET /pemf/v2/identificadores-servicioIdentificadores (QR/NFC/BLE) de servicio (paginado)
freematica_list_pemf_rutasGET /pemf/v2/routesRutas de operarios asignadas (paginado)
freematica_list_pemf_materiales_consumiblesGET /pemf/v2/services/{idReg}/materiales-consumiblesMateriales consumibles de un servicio
freematica_list_pemf_materiales_imputadosGET /pemf/v2/services/{idReg}/materiales-imputadosMateriales imputados a un servicio
freematica_get_pemf_config_globalGET /pemf/v1/configConfiguración global de e-Movifree
freematica_get_pemf_configGET /pemf/v{1,2}/config/{idConfig}Configuración de un módulo (v1/v2 seleccionable)
freematica_list_pemf_usuarios_notificacionesGET /pemf/v1/usuarios-notificacionesUsuarios configurados para notificaciones e-Movifree
freematica_get_pemf_operarioGET /pemf/v1/usersDatos del operario autenticado
freematica_list_pemf_descubiertosGET /pemf/v1/descubiertosServicios descubiertos (sin operario asignado) del día
freematica_list_pcrm_actividadesGET /pcrm/v2/actividadesLista paginada de actividades CRM (citas y tareas)
freematica_get_pcrm_actividadGET /pcrm/v2/actividades/{idReg}Detalle de una actividad CRM
freematica_list_pcrm_casosGET /pcrm/v2/casosLista paginada de casos CRM (tickets de soporte/incidencias)
freematica_get_pcrm_casoGET /pcrm/v2/casos/{idReg}Detalle de un caso CRM
freematica_list_pcrm_tipos_casosGET /pcrm/v2/tipos-casosCatálogo de tipos de caso CRM
freematica_get_pcrm_tipo_casoGET /pcrm/v2/tipos-casos/{idReg}Detalle de un tipo de caso
freematica_list_pcrm_subtipos_casosGET /pcrm/v2/subtipos-casosCatálogo de subtipos de caso CRM
freematica_get_pcrm_subtipo_casoGET /pcrm/v2/subtipos-casos/{idReg}Detalle de un subtipo de caso
freematica_list_pcrm_documentos_usuario_v1GET /pcrm/v1/usuarios/{idUsuario}/documentosLista paginada de documentos de portal de un usuario (v1)
freematica_get_pcrm_documento_usuario_v1GET /pcrm/v1/usuarios/{idUsuario}/documentos/{idDocumento}Detalle de un documento de portal (v1)
freematica_list_pcrm_documentos_usuario_v2GET /pcrm/v2/usuarios/{idUsuario}/documentosLista paginada de documentos de portal de un usuario (v2)
freematica_get_pcrm_documento_usuario_v2GET /pcrm/v2/usuarios/{idUsuario}/documentos/{idDocumento}Detalle de un documento de portal (v2)
freematica_list_pcrm_notasGET /pcrm/v2/notasLista paginada de notas CRM
freematica_get_pcrm_notaGET /pcrm/v2/notas/{idReg}Detalle de una nota CRM
freematica_get_oportunidad_negocio_v1GET /pcrm/v1/oportunidades-negocio/{idReg}Detalle de oportunidad de negocio (v1)
freematica_list_tipos_oportunidad_negocioGET /pcrm/v2/tipos-oportunidad-negocioCatálogo de tipos de oportunidad de negocio
freematica_get_tipo_oportunidad_negocioGET /pcrm/v2/tipos-oportunidad-negocio/{idReg}Detalle de un tipo de oportunidad de negocio
freematica_list_clientes_v1GET /pgrl/v1/clientesLista paginada de clientes (v1). Preferir v2 para datos más completos.
freematica_get_cliente_v1GET /pgrl/v1/clientes/{idReg}Detalle de un cliente (v1)
freematica_list_contactos_clientes_v1GET /pgrl/v1/contactos-clientesLista paginada de contactos de clientes (v1)
freematica_get_contacto_clienteGET /pgrl/v1/contactos-clientes/{idReg}Detalle de un contacto de cliente
freematica_list_localizaciones_cobro_clientes_v1GET /pgrl/v1/localizaciones-cobro-clientesLista paginada de localizaciones de cobro de clientes (v1)
freematica_get_localizacion_cobro_clienteGET /pgrl/v1/localizaciones-cobro-clientes/{idReg}Detalle de localización de cobro de cliente (v1)
freematica_get_localizacion_cobro_cliente_v2GET /pgrl/v2/localizaciones-cobro-clientes/{idReg}Detalle de localización de cobro de cliente (v2)
freematica_list_localizaciones_envio_clientes_v1GET /pgrl/v1/localizaciones-envio-clientesLista paginada de localizaciones de envío de clientes (v1)
freematica_get_localizacion_envio_clienteGET /pgrl/v1/localizaciones-envio-clientes/{idReg}Detalle de localización de envío de cliente (v1)
freematica_get_localizacion_envio_cliente_v2GET /pgrl/v2/localizaciones-envio-clientes/{idReg}Detalle de localización de envío de cliente (v2)
freematica_get_localizacion_factura_clienteGET /pgrl/v1/localizaciones-factura-clientes/{idReg}Detalle de localización de factura de cliente (v1)
freematica_list_localizaciones_servicio_clientes_v1GET /pgrl/v1/localizaciones-servicio-clientesLista paginada de localizaciones de servicio de clientes (v1)
freematica_get_localizacion_servicio_clienteGET /pgrl/v1/localizaciones-servicio-clientes/{idReg}Detalle de localización de servicio de cliente (v1)
freematica_get_localizacion_servicio_cliente_v2GET /pgrl/v2/localizaciones-servicio-clientes/{idReg}Detalle de localización de servicio de cliente (v2)
freematica_list_localizaciones_pago_proveedores_v1GET /pgrl/v1/localizaciones-pago-proveedoresLista paginada de localizaciones de pago de proveedores (v1)
freematica_get_localizacion_pago_proveedorGET /pgrl/v1/localizaciones-pago-proveedores/{idReg}Detalle de localización de pago de proveedor (v1)
freematica_get_localizacion_pago_proveedor_v2GET /pgrl/v2/localizaciones-pago-proveedores/{idReg}Detalle de localización de pago de proveedor (v2)
freematica_list_proveedores_v1GET /pgrl/v1/proveedoresLista paginada de proveedores (v1)
freematica_list_cargos_clientesGET /pgrl/v2/cargos-clientesLista paginada de cargos de clientes (roles de contactos)
freematica_get_cargo_clienteGET /pgrl/v2/cargos-clientes/{idReg}Detalle de un cargo de cliente
freematica_list_calen_festivosGET /pgrl/v2/calen-festivosLista paginada de calendarios festivos
freematica_get_calen_festivoGET /pgrl/v2/calen-festivos/{idReg}Detalle de un calendario festivo
freematica_list_delegaciones_v1GET /pgrl/v1/delegacionesLista paginada de delegaciones (v1). También vía freematica_get_master_data.
freematica_get_delegacion_v1GET /pgrl/v1/delegaciones/{idReg}Detalle de una delegación (v1)
freematica_list_delegaciones_agrupcodGET /pgrl/v1/delegaciones/agrupcodLista paginada de delegaciones agrupadas por código
freematica_list_delegaciones_v2GET /pgrl/v2/delegacionesLista paginada de delegaciones (v2)
freematica_get_delegacion_v2GET /pgrl/v2/delegaciones/{idReg}Detalle de una delegación (v2)
freematica_list_empresasGET /pgrl/v1/empresasLista paginada de empresas. También vía freematica_get_master_data.
freematica_get_empresaGET /pgrl/v1/empresas/{idReg}Detalle de una empresa
freematica_list_paisesGET /pgrl/v1/paisesLista paginada de países. También vía freematica_get_master_data.
freematica_list_provinciasGET /pgrl/v1/provinciasLista paginada de provincias. También vía freematica_get_master_data.
freematica_list_nacionalidadesGET /pgrl/v1/nacionalidadesLista paginada de nacionalidades. También vía freematica_get_master_data.
freematica_list_poblacionesGET /pgrl/v2/poblacionesLista paginada de poblaciones
freematica_get_poblacionGET /pgrl/v2/poblaciones/{idReg}Detalle de una población
freematica_list_seriesGET /pgrl/v2/seriesLista paginada de series (v2)
freematica_list_lineas_negocioGET /pgrl/v2/lineas-negocioLista paginada de líneas de negocio. También vía freematica_get_master_data.
freematica_list_bancosGET /pgrl/v2/bancosLista paginada de bancos
freematica_list_tipos_impuestosGET /pgrl/v2/tipos-impuestosLista paginada de tipos de impuestos
freematica_get_tipo_impuestoGET /pgrl/v2/tipos-impuestos/{idReg}Detalle de un tipo de impuesto
freematica_list_usuarios_sateliteGET /pgrl/v1/usuarios-sateliteLista paginada de usuarios satélite
freematica_get_configuracion_usuarioGET /pgrl/v1/configuracion-usuario/{idReg}Configuración de un usuario por idReg
freematica_list_auditoria_procesosGET /pgrl/v2/auditoria-procesosLog de auditoría de procesos
freematica_list_instaladoresGET /pgrl/v1/instaladoresLista paginada de instaladores
freematica_get_instaladorGET /pgrl/v1/instaladores/{idReg}Detalle de un instalador
freematica_get_instalador_stocksGET /pgrl/v1/instaladores/{idReg}/stocksStocks de un instalador
freematica_list_instalador_propuestas_comprasGET /pgrl/v1/instaladores/{idReg}/propuestas-comprasPropuestas de compra de un instalador
freematica_get_parte_instalacionGET /pgrl/v1/partes-instalacion/{idReg}Detalle de un parte de instalación
freematica_list_correosGET /pgrl/v2/correosLista paginada de correos (v2)
freematica_get_correoGET /pgrl/v2/correos/{idReg}Detalle de un correo (v2)
freematica_list_correos_destinatariosGET /pgrl/v2/correos/destinatariosLista paginada de destinatarios de correos
freematica_get_correos_totalesGET /pgrl/v2/correos/totalesTotales de correos (v2)
freematica_list_correo_v1GET /pgrl/v1/correoLista paginada de correos (v1)
freematica_verificar_mailGET /pgrl/v2/control/mail/verificarVerifica si un email es válido
freematica_mailing_unsubscribeGET /pgrl/v1/mailing/unsubscribe/{idReg}Da de baja a un contacto del mailing
freematica_mailing_subscribeGET /pgrl/v1/mailing/subscribe/{idReg}Da de alta a un contacto en el mailing
freematica_list_campos_estadisticosGET /pvss/v2/campos-estadisticosLista de campos estadísticos de cuadrantes
freematica_list_inspeccionesGET /pvss/v2/inspeccionesLista de inspecciones
freematica_list_plantillasGET /pvss/v2/plantillasLista de plantillas de cuadrantes
freematica_list_normasGET /pvss/v2/normasLista de normas
freematica_list_rutas_gestionGET /pvss/v1/rutas-gestionLista de gestión de rutas
freematica_list_rutas_planificacionGET /pvss/v1/rutas-planificacionLista de planificación de rutas
freematica_list_acompanante_rutaGET /pvss/v2/acompanante-rutaLista de acompañantes en ruta
freematica_list_naturalezas_abonoGET /pven/v1/naturalezas-abonoLista de naturalezas de abono de ventas
freematica_list_propuestas_compraGET /pcmp/v1/propuestasLista de propuestas de compra
freematica_list_solicitudes_materialGET /peqv/v2/solicitud-materialLista de solicitudes de material (CAE/equipamiento)
freematica_get_solicitud_materialGET /peqv/v2/solicitud-material/{idreg}Detalle de una solicitud de material
freematica_list_pett_peticiones_servGET /pett/v2/peticiones-servLista de peticiones de servicio ETT
freematica_list_pett_peticiones_serv_persoGET /pett/v2/peticiones-serv-persoLista de personal en peticiones de servicio ETT
freematica_list_pett_ofertasGET /pett/v2/ofertasLista de ofertas ETT
freematica_list_pett_partes_ett_cGET /pett/v1/partes_ett_cLista de partes ETT cliente
freematica_list_pkai_historicos_v1GET /pkai/v1/historicosHistórico de fichajes KAIROS (v1)
freematica_list_pkai_historicos_v2GET /pkai/v2/historicosHistórico de fichajes KAIROS (v2)
freematica_list_pkai_tipos_marcajesGET /pkai/v1/tiposmarcajesLista de tipos de marcaje KAIROS
freematica_list_pedv_pedidosGET /pedv/v1/pedidosLista de pedidos de venta del portal
freematica_list_pedv_pedidos_lineasGET /pedv/v1/pedidos-lineasLista de líneas de pedidos de venta del portal
freematica_list_pfree_ipsGET /pfree/v2/ipsLista de IPs internas Freemática
freematica_list_pfree_ips_erpGET /pfree/v2/ips-erpLista de IPs ERP Freemática
freematica_get_pfree_ipGET /pfree/v2/ips/{idReg}Detalle de una IP interna
freematica_get_pfree_ip_erpGET /pfree/v2/ips-erp/{idReg}Detalle de una IP ERP
freematica_list_pdir_csm_grupo_indicadorGET /pdir/v1/csm/grupoindicadorLista de grupos de indicadores CSM
freematica_list_pdir_csm_indicadorGET /pdir/v1/csm/indicadorLista de indicadores CSM
freematica_get_pdir_csm_indicadorGET /pdir/v1/csm/indicador/{idreg}Detalle de un indicador CSM
freematica_list_pgdoc_edocsGET /pgdoc/v2/edocs/docsLista de documentos electrónicos (edocs)
freematica_list_pcuo_beneficiariosGET /pcuo/v2/beneficiariosLista de beneficiarios (cuotas/servicios)
freematica_get_pcuo_beneficiarioGET /pcuo/v2/beneficiarios/{idReg}Detalle de un beneficiario
freematica_list_pcuo_partesGET /pcuo/v2/partesLista de partes de beneficiarios
freematica_get_pcuo_parteGET /pcuo/v2/partes/{idReg}Detalle de un parte de beneficiario
freematica_list_mcom_usuariosGET /mcom/v2/usuariosLista de usuarios del módulo de comunicaciones
freematica_get_mcom_usuarioGET /mcom/v2/usuarios/{idReg}Detalle de un usuario de comunicaciones
freematica_list_ppde_configuracion_acceso_usuarioGET /ppde/v2/configuracion-acceso-usuarioLista de configuraciones de acceso de usuario (portal empleado)
freematica_get_ppde_configuracion_acceso_usuarioGET /ppde/v2/configuracion-acceso-usuario/{idreg}Detalle de configuración de acceso de usuario
freematica_list_ppde_personal_docGET /ppde/v1/personal_docLista de documentos de personal (portal empleado)
freematica_get_ppde_personal_docGET /ppde/v1/personal_doc/{idreg}Detalle de un documento de personal
freematica_list_ppde_solicitud_vacacionesGET /ppde/v2/solicitud-vacacionesLista de solicitudes de vacaciones (portal empleado)
freematica_get_ppde_solicitud_vacacionGET /ppde/v2/solicitud-vacaciones/{idreg}Detalle de una solicitud de vacaciones

Tools de escritura (requieren FREEMATICA_ENABLE_WRITES=true)

Por defecto el servidor es de solo lectura. Con FREEMATICA_ENABLE_WRITES=true se registran además estas tools de creación y actualización. No existe ninguna tool de borrado. Todas las escrituras dejan log de auditoría (operación + endpoint + campos a nivel info; body completo a nivel debug).

ToolEndpoint FreemáticaDescripción
freematica_create_contratoPOST /pvss/v2/contratosAlta de cabecera de contrato
freematica_update_contratoPUT /pvss/v2/contratos/{idReg}Actualización de cabecera de contrato
freematica_create_servicio_contratoPOST /pvss/v2/contratos/{idReg}/serviciosAlta de servicio (identificación derivada del idReg)
freematica_update_servicio_fechasPUT /pvss/v2/contratos/{id}/servicio/{id}Fechas inicio/fin del servicio (mecanismo de baja)
freematica_create_servicio_historico_preciosPOST /pvss/v2/contratos/{id}/servicios-historico-precios/{id}Alta de revisión de precios del servicio
freematica_update_servicio_historico_preciosPUT /pvss/v2/contratos/{id}/servicios-historico-precios/{id}Actualización de revisión de precios
freematica_create_servicio_facturacion_txtPOST /pvss/v2/contratos/{id}/servicios-facturacion-txt/{id}Alta de línea de texto de facturación
freematica_update_servicio_facturacionPUT /pvss/v2/contratos/{id}/servicios-facturacion/{id}Datos de facturación del servicio (precios hora, forma de pago…)
freematica_create_contrato_opcionalesPOST /ppre/v2/contratos/opcionalesAlta de opcionales de contrato
freematica_update_contrato_opcionalesPUT /ppre/v2/contratos/opcionales/{idReg}Actualización de opcionales de contrato
freematica_create_clientePOST /pgrl/v2/clientesAlta de cliente (idReg derivado de grupo+código)
freematica_update_clientePUT /pgrl/v2/clientes/{idReg}Actualización parcial de cliente (fetch+merge)
freematica_create_contacto_clientePOST /pgrl/v2/contactos-clientesAlta de contacto de cliente
freematica_update_contacto_clientePUT /pgrl/v2/contactos-clientes/{idReg}Actualización parcial de contacto (fetch+merge)
freematica_create_localizacion_clientePOST /pgrl/v2/localizaciones-{tipo}-clientesAlta de localización (tipo: cobro/envio/factura/servicio)
freematica_update_localizacion_clientePUT /pgrl/v2/localizaciones-{tipo}-clientes/{idReg}Actualización parcial de localización (fetch+merge)
freematica_create_personaPOST /pers/v1/personalAlta de persona/empleado (campos VSSPER_* + camposAdicionales)
freematica_update_personaPUT /pers/v1/personal/{idReg}Actualización parcial de persona (fetch+merge)
freematica_create_personal_identificacionPOST /pers/v1/personal-identificacion/{idreg}Alta de datos de identificación de una persona
freematica_create_personal_notaPOST /pers/v2/personal-notasAlta de nota de personal (PERNOT_*)
freematica_update_personal_notaPUT /pers/v2/personal-notas/{idReg}Actualización de nota de personal (fetch+merge)
freematica_create_personal_experienciaPOST /pers/v2/personal-experienciaAlta de experiencia laboral (PEREX_*)
freematica_create_personal_formacionPOST /pers/v2/personal-formacionesAlta de formación del personal
freematica_update_personal_formacionPUT /pers/v2/personal-formaciones/{idReg}Actualización de formación del personal
freematica_create_incidencia_basePOST /pers/v2/incidencias-baseAlta de incidencia base
freematica_update_incidencia_base_fecha_finPUT /pers/v2/incidencias-base/{idReg}Actualización de fecha fin de incidencia base
freematica_create_personal_pagoPOST /pers/v1/personal_pagoAlta de datos bancarios de persona
freematica_update_personal_pagoPUT /pers/v1/personal_pago/{idreg}Actualización de datos bancarios de persona
freematica_create_personal_tramoPOST /pers/v1/personal_tramosAlta de tramo de horario (PERHH_*)
freematica_update_personal_tramoPUT /pers/v1/personal_tramos/{idreg}Actualización de tramo de horario (PERHH_*)
freematica_create_personal_contratoPOST /pers/v1/personal_contratosAlta de contrato laboral (PERCTRAB_*)
freematica_update_personal_contratoPUT /pers/v1/personal_contratos/{idreg}Actualización de contrato laboral (PERCTRAB_*)
freematica_create_personal_adicionalPOST /pers/v2/personal-adicionalesAlta de campo adicional de personal (VSSPERA_*)
freematica_update_personal_adicionalPUT /pers/v2/personal-adicionales/{idReg}Actualización de campo adicional de personal (VSSPERA_*)
freematica_create_anticipo_personalPOST /pers/v2/personal/anticiposAlta de anticipo de nómina
freematica_create_calendario_personalPOST /pers/v2/personal-calAlta de entrada en calendario personal
freematica_update_calendario_personalPUT /pers/v2/personal-cal/{idReg}Actualización de entrada en calendario personal
freematica_update_cpd_bulkPOST /pers/v1/cpd/actualizarActualización masiva de CPDs
freematica_update_cpd_gestionPUT /pers/v1/cpd/{idreg}/gestionGestión de estado de un CPD (firmar, validar, rechazar)
freematica_create_personal_irpfPOST /pers/v2/personal_irpfAlta de datos IRPF de persona
freematica_update_personal_irpfPUT /pers/v2/personal_irpf/{idreg}Actualización de datos IRPF de persona
freematica_create_personal_irpf_adPOST /pers/v2/personal_irpf_ad/{idreg}Alta de IRPF ascendientes/descendientes de persona
freematica_update_personal_irpf_adPUT /pers/v2/personal_irpf_ad/{idreg}Actualización de IRPF ascendientes/descendientes
freematica_update_preventorPUT /pers/v1/control/preventorActualización de estado de formación en Preventor
freematica_update_preventor_estadoPOST /pers/v2/preventor/actualizar-estadoActualización de estado Preventor (nuevo formato v2)
freematica_create_ppre_contratoPOST /ppre/v2/contratosAlta de contrato de instalación/mantenimiento (CON_*)
freematica_create_ppre_orden_trabajoPOST /ppre/v1/ordenes-trabajoAlta de orden de trabajo (AVI_*, PPC_*)
freematica_update_ppre_orden_trabajoPUT /ppre/v1/ordenes-trabajo/{idreg}Actualización de orden de trabajo
freematica_update_ppre_lineas_actas_partesPUT /ppre/v2/partes/importar-lineas-actas-partes/{idReg}Importar líneas de actas de partes
freematica_create_ppre_ficha_instalacion_materialPOST /ppre/v1/fichas-instalacion-materialAlta de material en ficha de instalación
freematica_update_ppre_ficha_instalacionPUT /ppre/v1/fichas-instalacion/{idReg}Actualización de ficha de instalación
freematica_create_ppre_marcajePOST /ppre/v1/guardarGrabar marcaje IKAROS (trackType, serviceTag, lat/lng, etc.)
freematica_update_ppre_marcaje_v1PUT /ppre/v1/actualizar/{idReg}Actualizar marcaje IKAROS (v1)
freematica_update_ppre_marcaje_v2PUT /ppre/v2/actualizar/{idReg}Actualizar marcaje IKAROS (v2)
freematica_create_pemf_marcajePOST /pemf/v1/servicio/{idServicio}/crear-marcajeCrear marcaje e-Movifree en un servicio
freematica_create_pemf_marcaje_fecha_personaPOST /pemf/v2/marcaje-fechapersonaCrear marcaje e-Movifree por fecha y persona (v2)
freematica_create_pemf_devicePOST /pemf/v1/devicesAlta de dispositivo e-Movifree
freematica_update_pemf_devicePUT /pemf/v1/devices/{idDevice}Actualización de dispositivo e-Movifree
freematica_create_pemf_rondaPOST /pemf/v1/roundsAlta de ronda de vigilancia
freematica_save_pemf_configPOST /pemf/v{1,2}/config/{idConfig}Guardar configuración de módulo e-Movifree (POST)
freematica_update_pemf_configPUT /pemf/v{1,2}/config/{idConfig}Actualizar configuración de módulo e-Movifree (PUT)
freematica_update_pemf_rutaPUT /pemf/v2/routes/{idReg}Actualizar ruta de operario (asignación, horario, frecuencia)
freematica_create_pcrm_actividadPOST /pcrm/v2/actividadesAlta de actividad CRM (cita o tarea)
freematica_update_pcrm_actividadPUT /pcrm/v2/actividades/{idReg}Actualización de actividad CRM
freematica_create_pcrm_casoPOST /pcrm/v2/casosAlta de caso CRM
freematica_update_pcrm_casoPUT /pcrm/v2/casos/{idReg}Actualización de caso CRM
freematica_update_pcrm_documento_usuario_v1PUT /pcrm/v1/usuarios/{idUsuario}/documentos/{idDocumento}Actualización de documento de portal (v1)
freematica_update_pcrm_documento_usuario_v2PUT /pcrm/v2/usuarios/{idUsuario}/documentos/{idDocumento}Actualización de documento de portal (v2)
freematica_create_pcrm_notaPOST /pcrm/v2/notasAlta de nota CRM (body libre por campos nativos)
freematica_create_oportunidad_negocio_v1POST /pcrm/v1/oportunidades-negocioAlta de oportunidad de negocio (v1)
freematica_create_oportunidad_negocioPOST /pcrm/v2/oportunidades-negocioAlta de oportunidad de negocio (v2)
freematica_update_oportunidad_negocio_v1PUT /pcrm/v1/oportunidades-negocio/{idReg}Actualización de oportunidad de negocio (v1)
freematica_update_oportunidad_negocioPUT /pcrm/v2/oportunidades-negocio/{idReg}Actualización de oportunidad de negocio (v2)
freematica_update_oportunidad_negocio_datos_ampliadosPUT /pcrm/v2/oportunidades-negocio/{idReg}/datos-ampliadosActualización de datos ampliados de oportunidad
freematica_create_articuloPOST /part/v2/articulosAlta de artículo en el catálogo de inventario
freematica_update_articuloPUT /part/v2/articulos/{idReg}Actualización parcial de artículo (fetch+merge)
freematica_create_articulo_serie_lotePOST /part/v2/articulos-serie-loteAlta de registro de serie/lote para un artículo
freematica_create_movimiento_stockPOST /part/v2/movimientos-stockAlta de movimiento de stock (entradas, salidas, ajustes)
freematica_create_entrada_produccionPOST /part/v2/entradas-produccionAlta de entrada de producción (artículo fabricado)
freematica_create_albaran_traspasoPOST /part/v2/control/albaran-traspasoAlta de albarán de traspaso entre almacenes
freematica_traspaso_albaranPUT /part/v2/control/albaran-traspaso/{idReg}Confirma el traspaso de un albarán de traspaso (body vacío)
freematica_create_proveedorPOST /pgrl/v2/proveedoresAlta de proveedor (campos nativos: COD_GRUPO_PRO, COD_PRO, NIF…)
freematica_update_proveedorPUT /pgrl/v2/proveedores/{idReg}Actualización parcial de proveedor (fetch+merge)
freematica_create_localizacion_pago_proveedorPOST /pgrl/v2/localizaciones-pago-proveedoresAlta de localización de pago de proveedor
freematica_update_localizacion_pago_proveedorPUT /pgrl/v2/localizaciones-pago-proveedores/{idReg}Actualización parcial de localización de pago (fetch+merge v2)
freematica_create_calen_festivoPOST /pgrl/v2/calen-festivosAlta de calendario festivo
freematica_update_calen_festivoPUT /pgrl/v2/calen-festivos/{idReg}Actualización de calendario festivo (fetch+merge)
freematica_update_calen_festivo_detPUT /pgrl/v2/calen-festivos-det/{idReg}Actualización de detalle de calendario festivo
freematica_create_instalador_propuesta_compraPOST /pgrl/v1/instaladores/{idReg}/propuestas-comprasAlta de propuesta de compra para un instalador
freematica_create_correo_v1POST /pgrl/v1/correoAlta de correo (v1)
freematica_create_correoPOST /pgrl/v2/correosAlta de correo (v2)
freematica_update_correo_estado_v1PUT /pgrl/v1/correo/{idReg}/estadoActualización de estado de correo (v1)
freematica_update_correo_estadoPUT /pgrl/v2/correos/{idReg}/estadoActualización de estado de correo (v2)
freematica_create_computo_persPOST /pvss/v2/computos-persAlta de cómputo de persona
freematica_update_computo_persPUT /pvss/v2/computos-pers/{idReg}Actualización de cómputo de persona
freematica_create_computo_pers_hPOST /pvss/v2/computos-pers-hAlta de detalle de cómputo de persona
freematica_update_cuadrantePUT /pvss/v2/cuadrante/{idReg}Actualizar datos de un cuadrante (campos libres PVSS)
freematica_create_campo_estadisticoPOST /pvss/v2/campos-estadisticosAlta de campo estadístico
freematica_update_campo_estadisticoPUT /pvss/v2/campos-estadisticos/{idReg}Modificación de campo estadístico
freematica_create_informe_controlPOST /pvss/v2/informes-controlInsertar informes de control
freematica_update_servicio_fch_finPUT /pvss/v2/servicios-fch-fin/{idReg}Actualizar fecha fin de servicio (endpoint alternativo)
freematica_create_albaran_ventaPOST /pven/v2/albaranes-ventasAlta de albarán de venta (cabecera + líneas ALVC**/ALVL**)
freematica_update_albaran_fch_traspaso_extPUT /pven/v2/albaranes-ventas-fechatraspasoext/{idReg}Modificación fecha traspaso externo de albarán de venta
freematica_create_factura_estadoPOST /pven/v1/facturas/estadosActualizar datos AAPP/EDICOM de factura electrónica
freematica_update_factura_electronica_v1PUT /pven/v1/facturas/{idreg}Actualizar factura electrónica (v1, campos FACED_*)
freematica_update_factura_electronica_v2PUT /pven/v2/facturas/{idreg}Actualizar factura electrónica (v2, campos FACED_*)
freematica_update_factura_leidoPUT /pven/v1/facturas/{idreg}/leidoMarcar factura electrónica como leída
freematica_update_factura_compraPUT /pcmp/v2/facturas-compras/{idReg}Actualizar fecha exportado de factura de compra
freematica_update_pedido_fechasPUT /pcmp/v2/pedidos-fechas/{idreg}Actualizar fechas entrega/enviado/conforme de pedido de compra
freematica_recibir_pedidoPUT /pcmp/v2/control/recibir-pedidos/{idReg}Recibir pedido de compra (body vacío)
freematica_create_propuesta_compraPOST /pcmp/v1/propuestasAlta de propuesta de compra
freematica_actualizar_alta_habilitaciones_personalPUT /peqv/v2/habilitaciones/personal/actualizar/altaComunicar actualización de altas de licencias de personal (CAE)
freematica_actualizar_baja_habilitaciones_personalPUT /peqv/v2/habilitaciones/personal/actualizar/bajaComunicar actualización de bajas de licencias de personal (CAE)
freematica_actualizar_alta_habilitaciones_serviciosPUT /peqv/v2/habilitaciones/servicios/actualizar/altaComunicar actualización de altas de habilitaciones de servicios
freematica_actualizar_baja_habilitaciones_serviciosPUT /peqv/v2/habilitaciones/servicios/actualizar/bajaComunicar actualización de bajas de habilitaciones de servicios
freematica_create_solicitud_materialPOST /peqv/v2/solicitud-materialAlta de solicitud de material (CAE/equipamiento)
freematica_import_asientosPOST /pcon/v2/import-asientosInsertar asiento contable en borrador (campos BORR_*)
freematica_create_pett_peticion_servPOST /pett/v2/peticiones-servAlta de petición de servicio ETT
freematica_create_pett_peticion_serv_persoPOST /pett/v2/peticiones-serv/persoAlta de persona en petición de servicio ETT
freematica_update_pett_peticion_servPUT /pett/v2/peticiones-serv/{idreg}Actualización de petición de servicio ETT
freematica_update_pett_peticion_serv_perso_estadoPUT /pett/v2/peticiones-serv/perso/estado/{idreg}Actualizar estado de persona en petición de servicio ETT
freematica_update_pett_peticion_serv_duplicarPUT /pett/v2/peticiones-serv/duplicar/{idreg}Duplicar petición de servicio ETT
freematica_create_pett_gestion_partes_ett_cPOST /pett/v1/gestion_partes_ett_cGestionar partes ETT cliente
freematica_update_pett_proceso_servicio_finPUT /pett/v2/procesos_servicio_fin/{idreg}Fin de proceso de servicio ETT
freematica_update_pett_proceso_servicioPUT /pett/v2/procesos-servicio/{idreg}Actualizar proceso de servicio ETT
freematica_update_pett_proceso_servicio_prorrogaPUT /pett/v2/procesos-servicio-prorrogas/{idreg}Prórroga de proceso de servicio ETT
freematica_create_pkai_marcajePOST /pkai/v1/marcajesGuardar marcaje KAIROS
freematica_create_pedv_pedido_servirPOST /pedv/v1/pedidos/{idreg}/servirServir pedido de venta (v1)
freematica_update_pedv_servir_pedido_v2PUT /pedv/v2/control/servir-pedidos/{idReg}Servir pedido de venta (v2)
freematica_create_pcuo_beneficiarioPOST /pcuo/v2/beneficiariosAlta de beneficiario
freematica_update_pcuo_beneficiarioPUT /pcuo/v2/beneficiarios/{idReg}Actualización de beneficiario
freematica_create_pcuo_partePOST /pcuo/v2/partesAlta de parte de beneficiario
freematica_update_pcuo_partePUT /pcuo/v2/partes/{idReg}Actualización de parte de beneficiario
freematica_create_mcom_usuarioPOST /mcom/v2/usuariosAlta de usuario de comunicaciones
freematica_update_mcom_usuarioPUT /mcom/v2/usuarios/{idReg}Actualización de usuario de comunicaciones
freematica_update_ppde_solicitud_vacacionPUT /ppde/v2/solicitud-vacaciones/{idreg}Actualizar observaciones de solicitud de vacaciones
freematica_create_ppde_recordatorio_firmaPOST /ppde/v2/recordatorio_firmaEnviar recordatorio de firma (portal empleado)
freematica_create_comp_albaran_compraPOST /comp/v2/albaranes-comprasAlta de albarán de compras
freematica_create_comp_registro_gastos_contratoPOST /comp/v2/registro-gastos-contratosRegistro de gastos de contratos
freematica_create_psel_candidatoPOST /psel/v2/control/candidatosAlta de candidato (selección de personal)
freematica_create_ptes_importar_fichero_n43POST /ptes/v1/importar-fichero-n43Importar fichero N43 (tesorería)

Filtros tipados (FIQL interno)

El MCP expone parámetros tipados con zod al consumidor (Claude/LLM). Internamente, el cliente los traduce a sintaxis FIQL antes de llamar al API de Freemática. El consumidor nunca ve ni escribe FIQL.

Ejemplo

// El LLM llama:
freematica_list_cartera_clientes({
  empresa: '0001',
  fechaDocDesde: '2026-01-01',
  estado: 'pendiente',
});

// El MCP construye internamente (valores siempre entre comillas simples):
// rquery=CARCL_EMP=='0001';CARCL_FECDOC=ge='2026-01-01';CARCL_SITCAR=='1'

Ventajas del patrón

  • El LLM solo necesita conocer los parámetros tipados con nombres semánticos en español.
  • La complejidad de la sintaxis FIQL queda encapsulada en el adapter interno (src/clients/fiql-builder.ts).
  • Los errores de validación son claros: "empresa debe ser string", no "FIQL parse error".
  • Los filtros booleanos (soloImpagados: true) se traducen automáticamente al operador FIQL correcto.

Más ejemplos

// Facturas pendientes de traspaso a contabilidad:
freematica_list_facturas_cabecera({
  empresa: '0001',
  traspasadoContabilidad: false,
});
// → rquery=FVC_CODEMP=='0001';FVC_TRASP_CONTAB=='0'

// Proveedor por nombre EXACTO (el API no soporta búsqueda parcial: =lk=
// responde 400 y los wildcards % devuelven 0 resultados). El filtro activo
// de proveedores post-filtra las bajas en cliente (FIQL no tiene IS NULL):
freematica_list_proveedores({
  nombre: 'LEJIAS PONS S.A.',
  activo: true,
});
// → rquery=NOMBRE_PRO=='LEJIAS PONS S.A.'

Modos de transporte

El binario soporta dos transportes seleccionables. La selección sigue este orden de precedencia:

  • CLI flag: --transport=<modo>
  • Variable de entorno: MCP_TRANSPORT=<modo>
  • Default: stdio
ModoCuándo usarComando
stdioClaude Desktop, Claude Code, ejecución localmcp-freematica (default) o mcp-freematica --transport=stdio
httpNubiia, deploy como servicio webmcp-freematica --transport=http o MCP_TRANSPORT=http mcp-freematica

Configurar en Claude Desktop (stdio)

Edita ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "freematica": {
      "command": "npx",
      "args": ["-y", "@nubiia/mcp-freematica"],
      "env": {
        "FREEMATICA_AUTH_TOKEN": "...",
        "FREEMATICA_AUTH_COMPANY": "...",
        "FREEMATICA_AUTH_ORGANIZATION": "...",
        "FREEMATICA_AUTH_APP": "...",
        "FREEMATICA_AUTH_SESSION": "..."
      }
    }
  }
}

Reinicia Claude Desktop y las tools de freematica_* aparecerán disponibles.

Configurar en Claude Code (stdio)

claude mcp add freematica npx -y @nubiia/mcp-freematica \
  -e FREEMATICA_AUTH_TOKEN=... \
  -e FREEMATICA_AUTH_COMPANY=... \
  -e FREEMATICA_AUTH_ORGANIZATION=... \
  -e FREEMATICA_AUTH_APP=... \
  -e FREEMATICA_AUTH_SESSION=...

Configurar en Nubiia (HTTP)

Setear MCP_TRANSPORT=http en las variables de entorno del proceso, junto a las 5 FREEMATICA_AUTH_*. Resto de variables (puerto, origins) opcionales — ver tabla en "Configuración avanzada".

Datos maestros disponibles

La tool freematica_get_master_data acepta un parámetro catalog con uno de los 24 valores siguientes. Cada uno mapea a un endpoint específico de Freemática.

catalogEndpoint FreemáticaContenido
Tipos / clasificaciones
tipos-contratoGET /ppre/v2/tipos-contratoTipos de contrato comercial
tipo-instalacionGET /ppre/v1/tipo-instalacionTipos de instalación física
clases-serviciosGET /pvss/v1/clases-serviciosClases de servicio operativas
tipos-casosGET /pcrm/v2/tipos-casosTipos de caso CRM
subtipos-casosGET /pcrm/v2/subtipos-casosSubtipos de caso CRM
tipos-oportunidad-negocioGET /pcrm/v2/tipos-oportunidad-negocioTipos de oportunidad comercial
tipos-impuestosGET /pgrl/v2/tipos-impuestosIVA, IRPF, retenciones
naturalezas-abonoGET /pven/v1/naturalezas-abonoNaturalezas de abono comercial
incidencecodeGET /pvss/v2/incidencecodeCódigos de incidencia en servicios
claves-facturacionGET /pvss/v2/claves-facturacionClaves de facturación de servicios
Geográficos
paisesGET /pgrl/v1/paisesPaíses
nacionalidadesGET /pgrl/v1/nacionalidadesNacionalidades
provinciasGET /pgrl/v1/provinciasProvincias
poblacionesGET /pgrl/v2/poblacionesMunicipios
Organizativos
empresasGET /pgrl/v1/empresasEmpresas
delegacionesGET /pgrl/v1/delegaciones/agrupcodDelegaciones (listado global)
lineas-negocioGET /pgrl/v2/lineas-negocioLíneas de negocio
cargos-clientesGET /pgrl/v2/cargos-clientesCargos de contactos
calendariosGET /pgrl/v1/calendariosCalendarios laborales
seriesGET /pgrl/v2/seriesSeries de numeración de documentos
Inventario
familiasGET /part/v1/familiasFamilias de artículos
subfamiliasGET /part/v1/subfamiliasSubfamilias
lineasGET /part/v1/lineasLíneas de artículos
Financiero
bancosGET /pgrl/v2/bancosEntidades bancarias

Respuesta: { catalog, items, count, total }. Patrón típico de uso: llamar primero al catálogo correspondiente cuando otra tool devuelva IDs crípticos para resolverlos a nombres humanos.

Paginación

Todas las tools freematica_list_* aceptan dos parámetros opcionales:

  • page (int, ≥1, default 1): página a recuperar, 1-indexed.
  • items (int, 1..50, default 20): items por página.

La respuesta incluye siempre total (total de elementos en el dataset) para que el LLM pueda iterar páginas.

El parámetro está bloqueado en page >= 1 porque el API real de Freemática trata page=0 como "devuelve TODO el dataset" (varios MB en endpoints grandes como clientes). Verificado empíricamente.

IDs opacos en endpoints de detalle

Las tools freematica_get_* requieren un id que NO es el código natural (COD_CLI, ID_OPORTUNIDAD) sino el campo idReg que aparece en los items del listado correspondiente. Es un string opaco base64 como MV9fMTAwMA==.

Si pasas un código natural, el API responde not_found.

Patrón típico de uso desde el LLM:

  • freematica_list_clientes(page=1, items=20) → encontrar el cliente que interesa.
  • Tomar el campo idReg de ese item.
  • freematica_get_cliente(id="<idReg>") → detalle completo.

Configuración

El servidor lee toda su configuración de variables de entorno al arrancar. Si falta alguna obligatoria, el proceso muere con un mensaje claro listando qué falta — no acepta requests hasta que la configuración sea válida.

Variables de entorno obligatorias

VariableDescripción
FREEMATICA_AUTH_TOKENHeader x-auth-token para autenticar con la API de Freemática.
FREEMATICA_AUTH_COMPANYHeader x-auth-company. Identifica la empresa dentro del API.
FREEMATICA_AUTH_ORGANIZATIONHeader x-auth-organization. Identifica la organización.
FREEMATICA_AUTH_APPHeader x-auth-app. Identifica la aplicación que consume (p.ej. pvss).
FREEMATICA_AUTH_SESSIONHeader x-auth-session. Identifica la sesión activa.

Configuración avanzada

Variables de entorno opcionales para tuning de comportamiento en producción:

VariableDefaultDescripción
FREEMATICA_BASE_URLhttps://api-p01.clientservicepanel.com/restsat/apiBase URL del API de Freemática. Cambiar solo si Freemática cambia el host o se usa un entorno alternativo.
FREEMATICA_TIMEOUT_MS30000Timeout por petición en milisegundos. Si el upstream no responde en este tiempo, el request se cancela con network_error.
FREEMATICA_MAX_RETRIES3Número máximo de reintentos para errores 5xx y errores de red. Los errores 4xx nunca se reintentan.
FREEMATICA_CIRCUIT_BREAKER_THRESHOLD5Número de operaciones lógicas fallidas consecutivas (post-retry-exhaustion) necesarias para abrir el circuit breaker.
FREEMATICA_CIRCUIT_BREAKER_TIMEOUT_MS30000Tiempo en ms que el circuit breaker permanece abierto antes de pasar a half-open.
FREEMATICA_MAX_RESPONSE_SIZE_MB10Tamaño máximo de respuesta aceptada del upstream en MB. Respuestas mayores se truncan con aviso en el campo truncated.
FREEMATICA_ENABLE_WRITESfalseRegistra las tools de escritura (freematica_create_* / freematica_update_*). Sin ella el servidor es de solo lectura. Valores: true/false/1/0.
MCP_TRANSPORTstdioTransporte: stdio (para Claude Desktop/Code) o http (para Nubiia). Equivale al flag --transport=.
MCP_PORT3000Puerto TCP donde el servidor MCP expone /mcp y /health. Ignorado en modo stdio.
MCP_ALLOWED_ORIGINS*CORS: lista de orígenes permitidos separados por coma, o * para todos. En producción restringir al dominio de Nubiia. Ignorado en modo stdio.
LOG_LEVELinfoNivel de log para pino: fatal, error, warn, info, debug, trace. En producción usar info. En desarrollo usar debug.

De dónde salen las credenciales x-auth-*

Las 5 credenciales x-auth-* son preexistentes — el Postman collection de Freemática no expone un endpoint de login, así que estas credenciales se obtienen fuera de banda (típicamente por el departamento de IT de Freemática o tu integrador).

  • Pide los 5 valores al responsable técnico de Freemática (o recupéralos de tu gestor de secretos si ya están provisionados).
  • NO comitees credenciales reales. El repositorio tiene .env.* en .gitignore (excepto .env.example).
  • Si las credenciales caducan, el MCP devolverá invalid_token en todas las llamadas. Renovarlas implica reiniciar el proceso (no hay refresh automático).

Configuración en Nubiia (producción)

Nubiia despliega el servidor MCP y se encarga de inyectar las variables de entorno. En el panel de Nubiia:

  • Crea un MCP server apuntando a la URL del contenedor desplegado (por ejemplo https://freematica-mcp.example.com/mcp).
  • Añade las variables de entorno listadas arriba en la sección de secretos.
  • Recomendado: setear MCP_ALLOWED_ORIGINS al dominio exacto desde el que Claude/Nubiia conecta, no *.
  • Verifica con el endpoint GET /health que el servidor está vivo antes de habilitar el MCP en Claude.

Configuración local (desarrollo)

Para desarrollo local crea un .env (o .env.local) en la raíz:

cp .env.example .env
# Edita .env y rellena los 5 FREEMATICA_AUTH_*

Luego arranca con:

set -a; source .env; set +a
npm run dev

O todo en una línea:

node --env-file=.env --import tsx src/index.ts

Verificación de la configuración

  • Sin env vars — el proceso debe morir inmediatamente con un mensaje listando las 5 variables que faltan:

    node dist/index.js
    # [freematica-mcp] FATAL: Invalid configuration:
    #   - FREEMATICA_AUTH_TOKEN: Required
    #   - FREEMATICA_AUTH_COMPANY: Required
    #   ...
    
  • Con env vars válidas (modo HTTP) — arranca con MCP_TRANSPORT=http y el proceso queda escuchando; /health devuelve { "status": "ok", "version": "0.5.0", "sessions": 0 }:

    MCP_TRANSPORT=http node dist/index.js &
    curl http://localhost:3000/health
    

    En modo stdio (default) no hay endpoints HTTP — el server escucha JSON-RPC por stdin/stdout.

Troubleshooting

invalid_token en todas las llamadas

Las credenciales x-auth-* han caducado o son incorrectas. Pasos:

  • Verificar que las 5 variables FREEMATICA_AUTH_* están seteadas correctamente.
  • Contactar al responsable técnico de Freemática para renovar el token/sesión.
  • Reiniciar el proceso del MCP tras actualizar las variables (el cliente no refresca credenciales en caliente).

network_error — upstream Freemática caído

El API de Freemática no está respondiendo. Puede ser:

  • Mantenimiento programado del upstream.
  • Circuit breaker activo tras varios fallos consecutivos (ver logs: Circuit breaker opened).
  • Problema de red entre el servidor y api-p01.clientservicepanel.com.

Pasos:

  • Verificar en los logs si hay circuitBreaker: "open" — si es así, esperar FREEMATICA_CIRCUIT_BREAKER_TIMEOUT_MS ms (default 30s) para que pase a half-open.
  • Verificar conectividad al upstream: curl https://api-p01.clientservicepanel.com/.
  • Aumentar FREEMATICA_TIMEOUT_MS si el upstream es lento (default 30s puede ser insuficiente en algunas redes).

rate_limit_exceeded — throttling de Freemática

Freemática devuelve 429. El MCP reintenta automáticamente honrando el header Retry-After si está presente. Si el problema persiste:

  • Reducir la frecuencia de llamadas desde Claude.
  • Aumentar FREEMATICA_MAX_RETRIES (default 3) si los reintentos no son suficientes.
  • Contactar a Freemática para revisar los límites de rate asignados a la cuenta.

Response truncated en freematica_export_asientos

El endpoint de exportación de asientos devuelve demasiados registros para un rango de fechas amplio. Pasos:

  • Usar un rango de fechas más corto: en lugar de un trimestre, exportar mes a mes.
  • Añadir filtros adicionales: filtrar por empresa, delegación o cuenta específica.
  • Si el volumen esperado es grande por diseño, aumentar FREEMATICA_MAX_RESPONSE_SIZE_MB (default 10 MB).

El pre-commit hook falla al hacer git commit

Lint o formato detectaron errores en los ficheros staged. Pasos:

  • Revisar el output del hook: indicará qué fichero y qué regla falló.
  • Ejecutar npm run lint:fix y npm run format para corregir automáticamente.
  • Hacer git add de los ficheros corregidos antes de volver a intentar el commit.

Desarrollo

npm install
npm run dev           # arranca con tsx (hot reload)
npm test              # ejecuta vitest una vez
npm run test:watch    # watcher
npm run test:coverage # coverage report
npm run lint
npm run lint:fix
npm run format
npm run typecheck
npm run build         # compila a dist/
npm start             # ejecuta dist/index.js

Testing

Tests unitarios e integración

# Ejecutar todos los tests
npm test

# Ejecutar con coverage report
npm test -- --coverage

# Ejecutar un archivo concreto
npm test -- tests/fiql-builder.property.test.ts

Los tests están en tests/ organizados por tipo:

  • tests/clients/ — tests de los clientes HTTP (con nock)
  • tests/schemas/ — tests de los schemas Zod
  • tests/tools/ — tests de los handlers MCP (unit + integration)
  • tests/fiql-builder.*.test.ts — tests unitarios y property-based del FIQL builder
  • tests/pagination-edge-cases.test.ts — edge cases del adapter de paginación
  • tests/coverage-gaps.test.ts — cobertura específica de ramas no cubiertas

Coverage thresholds (configurados en vitest.config.ts):

  • Global statements: ≥85%
  • src/clients/: ≥90%
  • src/schemas/: ≥90%
  • src/tools/: ≥85%

Testing manual con MCP Inspector

Para probar el servidor MCP de forma interactiva, usa MCP Inspector.

Ver instrucciones detalladas en docs/testing-e2e.md.

Endpoints HTTP

MétodoPathDescripción
POST/mcpJSON-RPC del MCP (envía initialize la primera vez)
GET/mcpStream SSE (requiere Mcp-Session-Id)
DELETE/mcpTerminar sesión
GET/healthHealthcheck

Seguridad

[!IMPORTANT] El endpoint /mcp no autentica al cliente. Cualquiera con acceso de red al puerto puede invocar las tools usando las credenciales de Freemática que el servidor tiene configuradas en sus variables de entorno. Como todas las tools son de solo lectura, esto equivale a acceso de lectura a los datos de la empresa (cartera, facturación, clientes, personal…).

Por tanto, al desplegar en modo HTTP:

  • Nunca expongas el puerto directamente a internet. Despliega siempre detrás de un gateway / reverse-proxy que haga la autenticación y autorización del cliente (es el modelo con el que opera Nubiia).
  • Restringe MCP_ALLOWED_ORIGINS al dominio exacto desde el que se conecta, en lugar del valor por defecto *. Si arrancas con *, el servidor emite un warning en el log. Ten en cuenta que CORS solo protege frente a navegadores; no frente a clientes como curl.
  • Trata las 5 credenciales FREEMATICA_AUTH_* como secretos. Inyéctalas vía gestor de secretos, nunca en el repositorio (.env* está en .gitignore).

Buenas prácticas ya incluidas en el servidor:

  • Los headers x-auth-* se eliminan de cualquier log (incluido debug/trace) y los bodies de petición nunca se loguean.
  • Rate limiting (120 req/min por IP) en /mcp y /health, límite de body de 1 MB, y expiración automática de sesiones inactivas.
  • Los valores de los filtros FIQL se escapan para prevenir inyección de operadores de consulta.

Cómo añadir una nueva operación

  • Tipar la respuesta en src/types/<grupo>.ts.
  • Añadir método al FreematicaClient (src/clients/freematica-client.ts):
    getContratosServicios(): Promise<VoContratosServicios[]> {
      return this.get<VoContratosServicios[]>('/pvss/v1/contratos-servicios');
    }
    
  • Añadir server.tool(...) en src/tools/<grupo>.ts (o crear el archivo si el grupo es nuevo).
  • Si el grupo es nuevo: registrar register<Grupo>Tools(server, client) en src/server.ts.
  • Tests: un test del método del client (con nock) + un test del handler de la tool.

Patrón inspirado en mcp-nevent y mcp-holded.

Despliegue

Pensado para ejecutarse dentro de Nubiia. La plataforma se encarga del deploy y de inyectar las variables de entorno. Tienes 3 opciones:

Opción 1 — Instalar como paquete npm (recomendada)

El paquete se publica como @nubiia/mcp-freematica en el registry público de npm cuando se crea un tag v* en main.

# Instalar y ejecutar (no requiere autenticación)
npm install -g @nubiia/mcp-freematica
mcp-freematica   # binario instalado, lee env vars y arranca el server

Opción 2 — Docker

docker build -t mcp-freematica .
docker run --env-file .env -p 3000:3000 mcp-freematica

Opción 3 — Clone + build

git clone https://github.com/nubiia-dev/mcp-freematica.git
cd mcp-freematica
npm ci && npm run build
node dist/index.js

Publicar una nueva versión

  • Bump de versión en package.json (semver).
  • Commit + merge a main.
  • Crear y empujar un tag con prefijo v:
    git tag v0.5.0
    git push origin v0.5.0
    
  • El workflow .github/workflows/release.yml se dispara, valida (lint + typecheck + test + build) y publica en npm.

Especificaciones y diseño

  • v0.1.0 spec: docs/superpowers/specs/2026-05-18-freematica-mcp-design.md (bootstrap inicial)
  • v0.1.0 plan: docs/superpowers/plans/2026-05-18-freematica-mcp.md
  • v0.2.0 spec: docs/superpowers/specs/2026-05-19-stdio-transport-design.md (stdio support)
  • v0.2.0 plan: docs/superpowers/plans/2026-05-19-stdio-transport.md
  • v0.3.0 spec: docs/superpowers/specs/2026-05-19-master-data-tool-design.md (master data tool)
  • v0.3.0 plan: docs/superpowers/plans/2026-05-19-master-data-tool.md
  • v0.4.0 spec: docs/superpowers/specs/2026-05-20-commercial-tools-design.md (commercial tools + envelope unwrap fix)
  • v0.4.0 plan: docs/superpowers/plans/2026-05-20-commercial-tools.md
  • v0.4.1: hotfix de catálogos delegaciones (endpoint cambiado a /agrupcod) y tipos-marcajes (eliminado — endpoint roto). Ver CHANGELOG.
  • ADRs de arquitectura: docs/adr/ (ver índice en ese directorio)
  • API: apidocs/Freematica API - Complete Collection.postman_collection.json
  • CHANGELOG: CHANGELOG.md

About Nubiia

This MCP server is built and maintained by Nubiia.

Nubiia ayuda a empresas a automatizar procesos e integrar sus herramientas con IA: servidores MCP a medida, integraciones con ERPs y CRMs (Freemática, Holded, Pipedrive…), y agentes que conectan tus datos de negocio con asistentes como Claude. Este @nubiia/mcp-freematica es un ejemplo open source de lo que hacemos.

👉 ¿Quieres una integración o automatización con IA para tu negocio? nubiia.es · ✉️ hola@nubiia.es

Author

Built by Nubiia — nubiia.es · hola@nubiia.es

Maintainer: Samuel Fraga — GitHub

Licencia

MIT — ver LICENSE.

Keywords

mcp

FAQs

Package last updated on 22 Oct 2026

Related posts