SignalEDI MCP
MCP para desarrolladores de EDI X12 para documentación, fixtures sintéticos, conexiones gobernadas y flujos de trabajo de API de sandbox/producción con control de perfiles (850/810/856/837P).
Documentación
Servidor MCP para Desarrolladores de SignalEDI
Conecta un asistente de codificación con IA a SignalEDI para descubrir, generar, validar y probar integraciones X12. El servidor MCP es una experiencia de desarrollo nativa para IA sobre la misma guía pública y el contrato REST /api/v1 utilizado por las aplicaciones convencionales. Complementa—no reemplaza—la API REST de SignalEDI, la especificación OpenAPI, los webhooks, los SDK y la documentación.
El paquete es una mejora del adaptador MCP existente de SignalEDI. La versión 0.5 añade descubrimiento público para desarrolladores, plantillas de recursos, ejemplos de código, herramientas gobernadas del plano de control de conexiones, validación estricta de entradas de herramientas y perfiles de capacidad explícitos, manteniendo los adaptadores existentes de parser, transacciones, partner-kit y QuickBooks.
| Paquete | @signaledi/mcp-server |
| Registro MCP | io.github.SignalEDI/mcp-server |
| Transporte | stdio |
| Runtime | Node 22+ |
| Dependencia de runtime | @modelcontextprotocol/sdk 1.30.0 (generación de protocolo 2025) |
| Acceso predeterminado | Siempre sin clave docs; las herramientas autenticadas requieren sandbox o production explícitos |
Perfiles de capacidad
Establece SIGNALEDI_MCP_PROFILE en uno de estos perfiles. El descubrimiento de herramientas y las llamadas directas a herramientas están restringidos al perfil activo.
| Perfil | Autenticación | Superficie |
|---|---|---|
docs | Ninguna | Solo recursos de documentación pública y ayudas sintéticas locales; el contenido de documentos y las credenciales proporcionadas nunca se cargan. El recurso OpenAPI realiza un GET público sin contenido. Este es siempre el predeterminado, incluso cuando existe una clave en el entorno del host. |
sandbox | Clave de no producción aprovisionada por separado más URL base explícita | Parse/validación autenticados, descubrimiento genérico de partner-kit, lecturas de datos de tenant y mutaciones protegidas para un sandbox aprovisionado por separado. Los hosts canónicos de producción de SignalEDI son rechazados. |
production | Clave de plataforma autorizada para producción, base exacta https://signaledi.com y SIGNALEDI_MCP_ALLOW_PRODUCTION=1 | Lecturas permitidas de transacciones/estado-QBO/kit/conexiones; borradores de conexión primero en sandbox; configuración de conexión protegida, pruebas de conectividad de enlaces guardados y solicitudes de entrega a producción; exportación saliente y QBO a EDI. Parse/validación, navegación de entidades QBO, sincronización QBO, desconexión, control genérico del ciclo de vida y activación de producción permanecen ocultos. |
El perfil es un límite de menor privilegio dentro del adaptador MCP, no un sustituto de la autorización de la API ni un límite de gobernanza de datos. Para exportación saliente y QBO, el servidor inyecta SANDBOX o PRODUCTION desde el perfil activo; el modelo no puede seleccionarlo. La API vincula ese valor a la conexión de socio seleccionada. La entrega en producción requiere una versión de producción inmutable activa, y la entrega en sandbox requiere un entorno sandbox verificado/activo.
Cada llamada autenticada requiere el alcance base platform. El inventario de conexiones requiere platform:connections:read; la creación y configuración de borradores añaden platform:connections:write; la configuración de producción y la entrega a producción añaden platform:connections:production. Estos alcances de dominio no autorizan la entrega de documentos ni operaciones de QuickBooks. Las credenciales obsoletas de solo paraguas platform:write y platform:production son rechazadas por operaciones con alcance de dominio y deben reemplazarse mediante la ruta de rotación de claves compatible. Antes del lanzamiento, los operadores deben censar las credenciales afectadas, notificar a los propietarios de la migración y proporcionar esa ruta de rotación. La selección de perfil MCP nunca otorga un alcance.
| Operación de API | Alcances adicionales de menor privilegio |
|---|---|
| Parse/validación y lecturas genéricas de kit | Ninguno más allá de platform |
| Lecturas de transacciones | platform:documents:read |
| Envío saliente | platform:documents:read, platform:documents:send; añade platform:documents:production para entrega en producción |
| Lecturas de conexiones | platform:connections:read |
| Crear/configurar conexión | platform:connections:read, platform:connections:write; añade platform:connections:production para configuración de producción o solicitud de entrega |
| Prueba de conexión | platform:connections:read, platform:connections:write; añade platform:connections:production cuando el perfil activo selecciona el entorno de producción |
| Estado QBO | platform:quickbooks:read |
| Filas de entidades QBO | platform:quickbooks:read, platform:data:sensitive; añade platform:quickbooks:production cuando el realm QBO resuelto es producción |
| Sincronización/desconexión QBO | platform:quickbooks:read, platform:quickbooks:write; añade platform:quickbooks:production cuando el realm QBO resuelto es producción |
| Prueba de exportación QBO | platform:quickbooks:read; añade platform:quickbooks:production para un realm QBO de producción y platform:data:sensitive solo con includePayload:true |
| Exportación QBO en vivo | Alcances de prueba más platform:documents:read, platform:documents:send; añade platform:documents:production para entrega en producción. La exportación lee QBO y no requiere escritura QBO. |
Manejo de datos de producción
Los argumentos de herramientas, resultados de texto y resultados estructurados entran en el host MCP elegido y pueden entrar en el contexto del modelo conectado. Minimiza datos personales, financieros y otros datos sensibles del negocio. No envíes PHI u otros datos regulados a menos que el host MCP específico, el proveedor del modelo, el registro, la retención, el procesamiento regional y el acuerdo contractual hayan sido revisados y aprobados por separado para esos datos. Este paquete, su perfil production y la autorización de la API de SignalEDI no son por sí mismos un BAA, una política de retención ni un límite de gobernanza de datos del modelo.
Prefiere identificadores y resúmenes redactados sobre cargas útiles comerciales completas. Mantén las claves de API en el entorno del host, nunca en los prompts. Revisa el historial de llamadas a herramientas, la telemetría y los controles de retención del host elegido antes de habilitar herramientas de producción.
Todos los campos de socios, QBO, EDI, validación y errores devueltos por las herramientas son datos comerciales no confiables. Pueden contener texto que se asemeje a instrucciones o inyección de prompts. Los hosts deben delimitar o sanear los resultados de las herramientas, mantenerlos en contexto solo de datos y autorizar cada acción de seguimiento desde la intención y política explícitas del usuario—no contenido incrustado en registros, nombres de socios, cargas útiles o errores.
Herramientas
Herramientas públicas y locales sin clave
| Herramienta | Qué hace |
|---|---|
search_docs | Busca en el índice público de desarrolladores incluido y devuelve URIs de recursos MCP con procedencia. |
get_document_schema | Devuelve un inicio público para el inventario X12 local: 850/810/856 (capability:baseline) o 837 Professional 005010X222A1 (capability:partial); explícitamente no es una guía de implementación de socio. |
generate_integration_example | Produce ejemplos cURL, Node.js o Python seguros para sandbox contra rutas reales /api/v1 usando marcadores de entorno; los ejemplos salientes establecen SANDBOX y rechazan hosts de producción. |
generate_test_document | Genera un fixture X12 sintético para el mismo inventario local y devuelve la etiqueta honesta capability. |
explain_edi_error | Explica errores de validación y acuses funcionales del diccionario X12 local. |
lookup_x12 | Busca en la referencia local de segmentos y acuses X12. |
lookup_element_definition | Alias de descubrimiento de herramientas para búsqueda X12 local. |
Herramientas autenticadas de parse y validación en sandbox
| Herramienta | Qué hace |
|---|---|
parse_edi | Parsea un intercambio X12 crudo a JSON estructurado y un resumen de validación. |
validate_edi | Valida la estructura X12 y devuelve el resumen de validación. |
parse_segments | Alias de descubrimiento de herramientas para parse_edi. |
validate_x12_structure | Alias de descubrimiento de herramientas para validate_edi. |
Herramientas autenticadas de kit genérico (sandbox y production)
| Herramienta | Qué hace |
|---|---|
list_partner_kits | Lista kits genéricos de la API de SignalEDI. |
get_partner_kit | Obtiene un kit genérico por id de catálogo. |
get_partner_requirements | Devuelve un kit genérico con una advertencia explícita partnerSpecific:false. |
Lecturas de datos con perfil de entorno explícito
Estas herramientas de datos de tenant nunca se habilitan solo porque exista una clave. Las lecturas de transacciones y quickbooks_status están disponibles en sandbox y production explícitos; quickbooks_list_entities es solo sandbox.
| Herramienta | Qué hace |
|---|---|
list_transactions | Lista transacciones recientes con alcance a la clave de API. |
get_transaction | Obtiene una transacción propia y su estado de ciclo de vida. |
quickbooks_status | Inspecciona el estado de conexión de QuickBooks Online sin devolver tokens. |
quickbooks_list_entities | Previsualiza filas de Invoice, Estimate, PurchaseOrder, Customer, Vendor o Item para mapeo (solo sandbox). |
Plano de control de conexiones gobernado (sandbox y production)
Las herramientas de conexión operan sobre el contrato público /api/v1/connections. MCP aplica una segunda lista de permitidos de respuesta sobre la representación saneada de la API: puede devolver referencias opacas de gateway/evidencia y booleanos de estado configurado, pero nunca credenciales almacenadas, referencias de secretos, configuración de transporte cruda, claves privadas, certificados o tokens.
| Herramienta | Qué hace |
|---|---|
list_connections | Pagina con cursor resúmenes de conexiones AS2/SFTP y API heredada legítima con alcance de tenant, con filtros opcionales de socio/ciclo de vida. |
get_connection | Inspecciona el estado seguro de entorno, gateway, aprobación, cobertura de pruebas, preparación y siguiente acción para una conexión AS2/SFTP o API heredada. |
create_connection_draft | Crea o recupera un DRAFT idempotente primero en sandbox; created distingue inserción de reutilización coincidente, y no puede activar producción. |
configure_connection | Vincula una referencia de gateway existente e identificadores ISA/GS X12 restringidos a un entorno SANDBOX o PRODUCTION AS2/SFTP; el servidor posee ISA15 y no acepta material de credenciales. La configuración de producción requiere platform:connections:production y aún así no activa la entrega. Las filas de API heredada son de solo lectura aquí y usan la superficie gobernada de conexiones API. |
test_connection | Prueba la conexión guardada exacta en el entorno inyectado desde el perfil activo. La operación causa egreso a la red del socio, registra evidencia saneada, requiere revisión impuesta por el host más una clave de idempotencia, y nunca acepta endpoints o credenciales ni activa producción. |
request_connection_go_live | Pide a la API mover una conexión READY probada por el servidor solo a GO_LIVE_APPROVED. La activación por el personal de SignalEDI sigue siendo una operación separada de MFA/gobernanza. |
Deliberadamente no hay una herramienta genérica de transición de ciclo de vida. test_connection puede crear evidencia de conectividad autoritativa para el enlace guardado exacto; las etapas intermedias de prueba/certificación provienen de evidencia o del estado del proyecto de incorporación, no de afirmaciones del modelo. No hay herramientas de activación de producción, reversión o aislamiento.
Herramientas explícitas de perfil de escritura
| Herramienta | Qué hace |
|---|---|
send_outbound_document | Envía un documento EDI saliente en el entorno sandbox/producción activo. |
quickbooks_sync_to_qbo | Empuja una selección acotada de transacciones a QBO (solo sandbox); las direcciones comprador y proveedor son explícitas, y all:true está paginado con cursor. |
quickbooks_export_to_edi | Previsualiza o exporta facturas/órdenes de compra QBO como EDI en el entorno sandbox/producción activo. Los resultados de prueba están redactados en carga útil por defecto; las cargas útiles completas requieren includePayload:true, platform:data:sensitive y confirm:true impuesto por el host. |
quickbooks_disconnect | Revoca y elimina la conexión QBO del workspace (solo sandbox). |
Cada herramienta publica un esquema de entrada y salida. El servidor valida las entradas por sí mismo, rechaza campos desconocidos y devuelve tanto texto legible como structuredContent con metadatos de contrato con espacio de nombres.
Seguridad de mutaciones
Las herramientas de escritura están ausentes en docs. Toda mutación en vivo requiere confirm:true y un idempotencyKey generado por el llamante de 8 a 128 caracteres ASCII imprimibles sin espacios en blanco al inicio o al final. Los envíos salientes, la sincronización/exportación/desconexión de QBO y las solicitudes de creación/configuración/prueba/puesta en marcha de conexiones aplican protección duradera contra repetición en el lado de la API y están anotados como idempotentes. La desconexión de QBO permanece solo en sandbox e informa una revocación pendiente de Intuit en lugar de afirmar su finalización. confirm:true es una afirmación del flujo de trabajo llamante; el servidor MCP no puede probar de forma independiente que un humano la aprobó, por lo que el host debe presentar la acción para revisión.
El cliente MCP nunca reintenta automáticamente mutaciones ni POST de análisis/validación. Las cargas de análisis/validación son datos sintéticos o de prueba aprobados y pueden registrar uso de sandbox, por lo que sus anotaciones permanecen como no solo lectura y no idempotentes. Los GET de solo lectura conservan un comportamiento de reintento transitorio acotado.
Las URL base personalizadas se rechazan a menos que SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL=1 esté configurado después de verificar el destino. Se rechazan URL que contengan credenciales, rutas, consultas o fragmentos. HTTP solo se permite para localhost y aún requiere la aceptación de host personalizado.
El adaptador limita las entradas EDI crudas a 65,536 bytes UTF-8, los cuerpos de solicitud JSON serializados a 1 MiB y las respuestas de API a 4 MiB. Los esquemas de entrada publican límites de caracteres/colecciones; los límites de bytes se vuelven a verificar inmediatamente antes del uso de red, y las respuestas transmitidas se cancelan cuando superan el límite.
Recursos y prompts
La guía estable se expone como recursos en lugar de herramientas de acción:
signaledi://quickstartsignaledi://openapisignaledi://developer-workflowssignaledi://x12-referencesignaledi://documents/{transactionSet}/schema
El esquema de documentos también se anuncia como una plantilla de recurso. Los prompts incluyen scaffold-integration, onboard-partner y debug-rejection; los prompts de andamiaje e incorporación usan datos sintéticos por defecto y evitan escrituras hasta que se confirme un sandbox aislado.
Inicio rápido
Ejecuta el perfil de documentación pública:
npx -y @signaledi/mcp-server@0.5.0
Configura el perfil de sandbox autenticado solo después de aprovisionar una base y una clave que no sean de producción. La configuración del proyecto de Claude Code (.mcp.json) expande ${NAME} desde el entorno del host:
{
"mcpServers": {
"signaledi": {
"command": "npx",
"args": ["-y", "@signaledi/mcp-server@0.5.0"],
"env": {
"SIGNALEDI_MCP_PROFILE": "sandbox",
"SIGNALEDI_API_KEY": "${SIGNALEDI_SANDBOX_API_KEY}",
"SIGNALEDI_BASE_URL": "${SIGNALEDI_SANDBOX_BASE_URL}",
"SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL": "1"
}
}
}
}
En Windows nativo, Claude Code debe lanzar el shim de npm a través de cmd:
{
"mcpServers": {
"signaledi": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@signaledi/mcp-server@0.5.0"],
"env": {
"SIGNALEDI_MCP_PROFILE": "sandbox",
"SIGNALEDI_API_KEY": "${SIGNALEDI_SANDBOX_API_KEY}",
"SIGNALEDI_BASE_URL": "${SIGNALEDI_SANDBOX_BASE_URL}",
"SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL": "1"
}
}
}
}
Cursor usa referencias .cursor/mcp.json, mcpServers y ${env:NAME}:
{
"mcpServers": {
"signaledi": {
"command": "npx",
"args": ["-y", "@signaledi/mcp-server@0.5.0"],
"env": {
"SIGNALEDI_MCP_PROFILE": "sandbox",
"SIGNALEDI_API_KEY": "${env:SIGNALEDI_SANDBOX_API_KEY}",
"SIGNALEDI_BASE_URL": "${env:SIGNALEDI_SANDBOX_BASE_URL}",
"SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL": "1"
}
}
}
}
Claude Desktop (MCPB)
Empaqueta el mismo servidor stdio como una Extensión de Claude Desktop (.mcpb). Fuente: mcpb/manifest.json + scripts/build-mcpb.mjs. Consulta mcpb/README.md para notas completas de compilación y envío.
npm ci
npm run build:mcpb
# → dist/signaledi-mcp-server-0.5.0.mcpb
Instala haciendo doble clic en .mcpb, arrastrándolo a Claude Desktop, o mediante Configuración → Extensiones → Avanzado → Instalar extensión…. La configuración de la extensión se asigna a las mismas variables de entorno que server.json (SIGNALEDI_API_KEY, SIGNALEDI_BASE_URL, SIGNALEDI_MCP_PROFILE, etc.). Autor/editor: SignalEDI · Support@signaledi.com · https://signaledi.com.
Envío de directorio (solo manual): no envíes desde este agente/CI. Cuando esté listo, sigue el formulario de envío de extensiones de escritorio de Anthropic después de compilar/probar el artefacto. Herramientas: @anthropic-ai/mcpb (mcpb pack / mcpb validate). Especificación: Crea una extensión de escritorio con MCPB.
Google Antigravity
Carpeta de plugin manual estilo Antigravity / Gemini en antigravity-plugin/ (conecta mcp_config.json → npx -y @signaledi/mcp-server@0.5.0). El listado en MCP Store no es autoservicio; instala copiando la carpeta:
| Alcance | Ruta |
|---|---|
| Global | ~/.gemini/config/plugins/signaledi |
| Espacio de trabajo | .agents/plugins/signaledi (o _agents/plugins/signaledi) |
Consulta antigravity-plugin/README.md. Marca: solo SignalEDI.
Cursor Marketplace
Este repositorio público está empaquetado como un Plugin de Cursor para el Marketplace oficial. El plugin lanza el mismo paquete npm a través de stdio — no hay implementación MCP paralela.
| Manifiesto del plugin | .cursor-plugin/plugin.json (name: signaledi) |
| Configuración MCP | mcp.json → npx -y @signaledi/mcp-server@0.5.0 |
| Logotipo | assets/logo.svg (ruta relativa) |
| Habilidad | skills/signaledi-mcp-profiles/ |
| Envío | cursor.com/marketplace/publish → repositorio https://github.com/SignalEDI/mcp-server |
Instalación (después del listado): abre Personalizar → Marketplace, busca SignalEDI e instala.
Configuración: establece las variables del plugin en Plugins → Configurar (sin secretos en el repositorio ni en los prompts):
| Variable | Valor típico |
|---|---|
SIGNALEDI_MCP_PROFILE | docs (predeterminado), sandbox o production |
SIGNALEDI_API_KEY | Clave de espacio de trabajo con privilegios mínimos (ignorada por docs) |
SIGNALEDI_BASE_URL | Origen verificado que no sea de producción, o exactamente https://signaledi.com para producción |
SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL | 1 solo para hosts personalizados verificados |
SIGNALEDI_MCP_ALLOW_PRODUCTION | 1 solo con el perfil de producción y la base canónica |
El plugin mcp.json usa marcadores de posición ${VAR} que coinciden con esas variables del panel (no la sintaxis manual ${env:NAME} usada en el proyecto .cursor/mcp.json). Los marcadores de posición no configurados permanecen con cierre ante fallos en el perfil sin clave docs. La instalación de un clic en Marketplace requiere @signaledi/mcp-server@0.5.0 (o un pin coincidente más reciente) en npm; hasta que se publique, el npx local/manual contra una versión publicada aún funciona para verificación.
La publicación está sujeta a los Términos del editor de Cursor Marketplace. Los plugins de Marketplace deben ser de código abierto y pasar una revisión manual; consulta seguridad del marketplace.
Política de privacidad
La política de privacidad del producto de SignalEDI está publicada en https://signaledi.com/privacy. El adaptador MCP se ejecuta localmente a través de stdio; las llamadas autenticadas envían entradas de herramientas al host de API de SignalEDI que configures. Los argumentos de herramientas, resultados de texto y resultados estructurados entran al host MCP y pueden entrar al contexto del modelo—consulta Manejo de datos de producción arriba. Contacto: Support@signaledi.com.
VS Code usa .vscode/mcp.json, un objeto servers de nivel superior y una entrada de contraseña para secretos:
{
"inputs": [
{
"type": "promptString",
"id": "signaledi-api-key",
"description": "SignalEDI non-production sandbox API key",
"password": true
},
{
"type": "promptString",
"id": "signaledi-api-base",
"description": "Verified non-production SignalEDI API base URL"
}
],
"servers": {
"signaledi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@signaledi/mcp-server@0.5.0"],
"env": {
"SIGNALEDI_MCP_PROFILE": "sandbox",
"SIGNALEDI_API_KEY": "${input:signaledi-api-key}",
"SIGNALEDI_BASE_URL": "${input:signaledi-api-base}",
"SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL": "1"
}
}
}
}
Para un sandbox local aprovisionado, agrega los siguientes valores al objeto env del cliente elegido, usando la sintaxis de referencia de entorno de ese cliente para la clave:
{
"SIGNALEDI_MCP_PROFILE": "sandbox",
"SIGNALEDI_API_KEY": "<host environment reference to SIGNALEDI_SANDBOX_API_KEY>",
"SIGNALEDI_BASE_URL": "http://localhost:3100",
"SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL": "1"
}
La producción es una aceptación explícita con cierre ante fallos. Usa solo el origen canónico y mantén la clave en el entorno del host MCP:
{
"SIGNALEDI_MCP_PROFILE": "production",
"SIGNALEDI_API_KEY": "<host environment reference to SIGNALEDI_PRODUCTION_API_KEY>",
"SIGNALEDI_BASE_URL": "https://signaledi.com",
"SIGNALEDI_MCP_ALLOW_PRODUCTION": "1"
}
El perfil de producción no acepta hosts personalizados ni una base faltante o implícita. Eliminar cualquiera de los elementos: perfil, clave, base canónica o aceptación, impide el inicio.
Nunca pegues claves o secretos reales en prompts. Las variables de entorno del servidor MCP las resuelve el proceso del host, no el modelo.
Configuración
| Variable de entorno | Predeterminado | Propósito |
|---|---|---|
SIGNALEDI_MCP_PROFILE | docs | Límite de capacidades: docs, sandbox explícito o production explícito. Proporcionar solo una clave nunca habilita herramientas remotas. |
SIGNALEDI_API_KEY | — | Clave de espacio de trabajo con privilegios mínimos; ignorada en docs, requerida en perfiles autenticados. Necesita la base platform más los alcances de dominio publicados de cada herramienta. No emitas alcances heredados generales de escritura/producción a un host MCP. |
SIGNALEDI_BASE_URL | Base pública de producción para el GET de OpenAPI de documentación sin contenido | El sandbox requiere un origen verificado explícito que no sea de producción; la producción requiere exactamente https://signaledi.com. |
SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL | — | Configúralo en 1 solo para un host localhost, vista previa o sandbox verificado. |
SIGNALEDI_MCP_ALLOW_PRODUCTION | — | Configúralo en 1 como la aceptación independiente de producción; ignorado por otros perfiles. |
SIGNALEDI_MCP_TELEMETRY | habilitado | Configúralo en 0 para deshabilitar líneas de métricas locales redactadas. Las métricas contienen herramienta, perfil, resultado/código, latencia e id de solicitud—no cargas útiles ni secretos. |
El servidor escribe JSON-RPC solo en stdout y registra solo en stderr.
Superficies deliberadamente diferidas
El MCP no fabrica capacidades alojadas que aún no estén respaldadas por API estables y aisladas por inquilino:
suggest_mappingyvalidate_mappingesperan el servicio estructurado de validación de mapeo y el contrato de procedencia de guías de socios.create_sandbox_project,create_test_partner,submit_test_documentyget_test_resultsesperan rutas estables de ciclo de vida/pruebas aisladas por inquilino.generate_webhook_fixtureyverify_webhook_signatureesperan un contrato canónico de firma en tiempo de ejecución; la ruta principal actual de entrega/reintento y la ruta de remediación firman de manera diferente.- La rotación de credenciales, la configuración cruda de gateway, la implementación de mapeos, ediciones arbitrarias de socios, afirmaciones manuales de evidencia/ciclo de vida, activación/reversión/aislamiento de producción, sincronización/desconexión de QBO y la retransmisión de documentos no están expuestas en producción. El perfil de producción se limita a las lecturas en lista blanca y a las operaciones de borrador/configuración/prueba de conectividad/solicitud de puesta en marcha/envío saliente/exportación de QBO descritas anteriormente.
Desarrollo local
node test.mjs
npm run test:stdio
npm start
Las pruebas unitarias usan datos sintéticos y HTTP simulado. Las pruebas de integración stdio ejercitan la detección de documentación, sandbox y producción sin llamadas API en vivo. Consulta RELEASE_NOTES_0.5.0.md para los criterios de publicación.
Arquitectura y autoridad del repositorio
MCP client
<-> @signaledi/mcp-server over stdio
|- public documentation resources and local synthetic helpers
`- profile-gated calls to the conventional SignalEDI /api/v1 REST API
El repositorio independiente de GitHub SignalEDI/mcp-server es la fuente canónica y la única autoridad automatizada de publicación en npm/MCP Registry. El repositorio privado SignalEDI/platform puede conservar una instantánea de validación sincronizada para sus contratos de API/backend alojados; consulta MIRROR.md. Todos los ejemplos son sintéticos y deben permanecer libres de datos de clientes, salud, financieros y de credenciales.