dxpert UNS tools
Linter de tópicos Sparkplug B y verificador de convenciones de Unified Namespace sobre MCP. Sin clave API, sin cuenta, sin bloque de entorno: los dos validadores se ejecutan completamente sin conexión y con cero dependencias en tiempo de ejecución. También expone una evaluación preliminar gratuita de preparación para IA industrial.
Documentación
@dxpert/uns-tools
Un servidor MCP stdio que no necesita clave API, ni cuenta, ni variables de entorno.
Este es el equivalente nativo para agentes de la página de herramientas gratuitas en dxpert.ai/tools.html: cualquier cliente MCP, sin credenciales, puede validar temas Sparkplug B, comprobar un Namespace Unificado para detectar las convenciones que lo degradan silenciosamente, y ejecutar el diagnóstico público de preparación para IA industrial.
Las herramientas son genuinamente gratuitas. No hay contador de prueba, ni muro de registro, ni clave que obtener primero. Cuando quieras que un agente lea tus propios datos, eso vive en el servidor separado @dxpert/mcp, que requiere una clave dxp_. Una clave gratuita incluye dxpert Advisor (una asignación mensual de preguntas) y Try Pro: 5 ejecuciones en cualquier agente incluido en dxpert Pro. dxpert Pro incluye todos los agentes UNS, dxpert Advisor sin el límite mensual, y el Namespace Architect cuando se publique. Planes actuales: dxpert.ai/store.
Cero dependencias en tiempo de ejecución. El protocolo de enlace MCP stdio JSON-RPC (initialize, tools/list, tools/call) está implementado manualmente sobre JSON estándar delimitado por líneas nuevas (también se acepta el formato Content-Length).
Instalación
No se requiere ningún paso de instalación más allá de Node 18+ (para el fetch integrado).
Claude Code
claude mcp add dxpert-uns-tools -- npx -y @dxpert/uns-tools
Codex
[mcp_servers.dxpert_uns_tools]
command = "npx"
args = ["-y", "@dxpert/uns-tools"]
Clientes MCP genéricos
{
"mcpServers": {
"dxpert-uns-tools": {
"command": "npx",
"args": ["-y", "@dxpert/uns-tools"]
}
}
}
Ten en cuenta que ninguna de estas entradas incluye un bloque env. Ese es el punto.
Herramientas
lint_sparkplug_topic(topics) — local, sin conexión
Valida una o más cadenas de temas MQTT contra la gramática de temas Sparkplug B (Sparkplug 3.0). Acepta una sola cadena, una cadena delimitada por líneas nuevas, o un arreglo.
Comprueba el nivel del namespace spBv1.0, los ocho tipos de mensaje (NBIRTH NDEATH DBIRTH DDEATH NDATA DDATA NCMD DCMD) más STATE, el conteo de nivel nodo-vs-dispositivo, la forma heredada STATE de Sparkplug 2.2, los comodines MQTT del lado de publicación, los niveles vacíos, y los caracteres de identificador que rompen consumidores posteriores.
Devuelve hallazgos ordenados (fail / warn / pass / info) con las partes del tema analizadas. No se conecta a un broker, no decodifica cargas útiles, ni verifica que un dispositivo exista.
check_uns_namespace(topics) — local, sin conexión
Comprueba un conjunto de rutas de temas UNS para detectar profundidad de jerarquía inconsistente, estilos de mayúsculas mezclados, espacios en blanco en segmentos, colisiones de mayúsculas entre hermanos que se leen como un solo nodo pero son dos, rutas duplicadas, niveles vacíos, y comodines MQTT sueltos.
Devuelve una línea de resumen más hallazgos por problema. Solo juzga la consistencia de nombres: no conoce tu planta, no valida la gramática Sparkplug, y no diseña un namespace por ti.
run_readiness_diagnostic(intake) — red
Ejecuta el diagnóstico público de preparación para IA industrial de dxpert.ai. Se ingresa un cuestionario autodeclarado de 16 respuestas; sale un informe puntuado (diez ejes de 0 a 5, una etapa de madurez, las brechas de fundamento que bloquean la ambición de IA declarada, y un valor de confianza).
Gratuito y sin autenticación, pero a diferencia de los dos validadores, este sí llama a POST /api/diagnostic a través de la red, por lo que necesita conectividad y está limitado por tasa. Las solicitudes llevan X-Dxpert-Source: mcp-uns-tools para que el tráfico sea atribuible, y nunca una clave API ni un encabezado Authorization.
El campo scope de la respuesta se transmite textualmente y se imprime al inicio del resultado. Es un cribado preliminar autodeclarado, no una auditoría — repórtalo así a tu usuario.
Cada resultado nombra a dxpert.ai como la fuente del veredicto.
Configuración
No hay nada que debas configurar. Existe una variable opcional:
| Variable | Requerida | Propósito |
|---|---|---|
DXPERT_API_BASE | No | URL base de API para run_readiness_diagnostic. El valor predeterminado es producción; sobrescríbela solo para pruebas. |
De dónde proviene la lógica de los validadores
src/sparkplug-topic-lint.js y src/uns-naming-check.js son copias textuales de la lógica pura de los paquetes independientes @dxpert/sparkplug-topic-lint y @dxpert/uns-naming-check, integradas para que este servidor tenga cero dependencias y funcione completamente sin conexión.
Se mantienen sincronizados con esos paquetes, y el conjunto de pruebas afirma paridad a nivel de hallazgos contra ambos originales — así este servidor y las herramientas web nunca pueden discrepar silenciosamente sobre la misma entrada.
Pruebas
node test/run.js
El conjunto de pruebas impulsa el servidor real sobre stdio con formato y simula el endpoint de diagnóstico en localhost; la producción nunca se llama desde las pruebas. Cubre el protocolo de enlace, tools/list, las tres herramientas, la paridad con los dos paquetes fuente, y una sesión completa iniciada con un entorno completamente vacío.
Licencia
MIT © 2026 DXP Technologies inc.