SignalEDI MCP
MCP de desenvolvedor EDI X12 para documentação, fixtures sintéticos, conexões governadas e fluxos de trabalho de API em sandbox/produção com controle de perfil (850/810/856/837P).
Documentação
SignalEDI Developer MCP Server
Conecte um assistente de codificação com IA ao SignalEDI para descobrir, estruturar, validar e testar integrações X12. O servidor MCP é uma experiência de desenvolvedor nativa de IA sobre a mesma orientação pública e o contrato REST /api/v1 usado por aplicações convencionais. Ele complementa—não substitui—a API REST do SignalEDI, a especificação OpenAPI, webhooks, SDKs e documentação.
O pacote é uma melhoria do adaptador MCP existente do SignalEDI. A versão 0.5 adiciona descoberta pública para desenvolvedores, modelos de recursos, exemplos de código, ferramentas governadas de plano de controle de conexão, validação estrita de entrada de ferramentas e perfis de capacidade explícitos, mantendo o parser existente, transação, partner-kit e adaptadores QuickBooks.
| Pacote | @signaledi/mcp-server |
| Registro MCP | io.github.SignalEDI/mcp-server |
| Transporte | stdio |
| Runtime | Node 22+ |
| Dependência de runtime | @modelcontextprotocol/sdk 1.30.0 (geração de protocolo 2025) |
| Acesso padrão | Sempre sem chave docs; ferramentas autenticadas exigem sandbox ou production explícitos |
Perfis de capacidade
Defina SIGNALEDI_MCP_PROFILE para um destes perfis. A descoberta de ferramentas e as chamadas diretas de ferramentas são restritas ao perfil ativo.
| Perfil | Autenticação | Superfície |
|---|---|---|
docs | Nenhuma | Apenas recursos de documentação pública e auxiliares sintéticos locais; o conteúdo do documento fornecido e as credenciais nunca são enviados. O recurso OpenAPI realiza um GET público sem conteúdo. Este é sempre o padrão, mesmo quando uma chave existe no ambiente do host. |
sandbox | Chave de não produção provisionada separadamente mais URL base explícita | Parse/validação autenticada, descoberta genérica de partner-kit, leituras de dados do locatário e mutações protegidas para um sandbox provisionado separadamente. Hosts canônicos de produção do SignalEDI são recusados. |
production | Chave de plataforma autorizada para produção, base https://signaledi.com exata e SIGNALEDI_MCP_ALLOW_PRODUCTION=1 | Leituras de transação/QBO-status/kit/conexão na allowlist; rascunhos de conexão sandbox-first; configuração de conexão protegida, testes de conectividade de binding salvo e solicitações de handoff go-live; exportação outbound e QBO-para-EDI. Parse/validação, navegação de entidades QBO, sincronização QBO, desconexão, controle genérico de ciclo de vida e ativação de produção permanecem ocultos. |
O perfil é um limite de menor capacidade dentro do adaptador MCP, não um substituto para autorização de API ou um limite de governança de dados. Para exportação outbound e QBO, o servidor injeta SANDBOX ou PRODUCTION do perfil ativo; o modelo não pode selecioná-lo. A API então vincula esse valor à conexão de parceiro selecionada. A entrega em produção requer uma versão de produção imutável ativa, e a entrega em sandbox requer um ambiente sandbox verificado/ativo.
Toda chamada autenticada exige o escopo base platform. O inventário de conexões exige platform:connections:read; criação e configuração de rascunho adicionam platform:connections:write; configuração de produção e handoff go-live adicionam platform:connections:production. Esses escopos de domínio não autorizam entrega de documentos ou operações QuickBooks. Credenciais obsoletas apenas com guarda-chuva platform:write e platform:production são rejeitadas por operações com escopo de domínio e devem ser substituídas pelo caminho suportado de rotação de chaves. Antes do lançamento, os operadores devem fazer um censo das credenciais afetadas, notificar os proprietários da migração e fornecer esse caminho de rotação. A seleção de perfil MCP nunca concede um escopo.
| Operação de API | Escopos adicionais de menor privilégio |
|---|---|
| Parse/validação e leituras genéricas de kit | Nenhum além de platform |
| Leituras de transação | platform:documents:read |
| Envio outbound | platform:documents:read, platform:documents:send; adicione platform:documents:production para entrega em produção |
| Leituras de conexão | platform:connections:read |
| Criar/configurar conexão | platform:connections:read, platform:connections:write; adicione platform:connections:production para configuração de produção ou solicitação go-live |
| Teste de conexão | platform:connections:read, platform:connections:write; adicione platform:connections:production quando o perfil ativo selecionar o ambiente de produção |
| Status QBO | platform:quickbooks:read |
| Linhas de entidade QBO | platform:quickbooks:read, platform:data:sensitive; adicione platform:quickbooks:production quando o realm QBO resolvido for produção |
| Sincronização/desconexão QBO | platform:quickbooks:read, platform:quickbooks:write; adicione platform:quickbooks:production quando o realm QBO resolvido for produção |
| Exportação QBO dry run | platform:quickbooks:read; adicione platform:quickbooks:production para um realm QBO de produção e platform:data:sensitive apenas com includePayload:true |
| Exportação QBO ao vivo | Escopos de dry run mais platform:documents:read, platform:documents:send; adicione platform:documents:production para entrega em produção. A exportação lê QBO e não exige escrita QBO. |
Tratamento de dados de produção
Argumentos de ferramentas, resultados de texto e resultados estruturados entram no host MCP escolhido e podem entrar no contexto do modelo conectado. Minimize dados pessoais, financeiros e outros dados sensíveis de negócios. Não envie PHI ou outros dados regulamentados, a menos que o host MCP específico, provedor de modelo, registro, retenção, processamento regional e acordo contratual tenham sido revisados e aprovados separadamente para esses dados. Este pacote, seu perfil production e a autorização da API SignalEDI não são por si só um BAA, política de retenção ou limite de governança de dados do modelo.
Prefira identificadores e resumos editados em vez de payloads completos de negócios. Mantenha chaves de API no ambiente do host, nunca em prompts. Revise o histórico de chamadas de ferramentas, telemetria e controles de retenção do host escolhido antes de habilitar ferramentas de produção.
Todos os campos de parceiro, QBO, EDI, validação e erro retornados pelas ferramentas são dados de negócios não confiáveis. Eles podem conter texto que se assemelha a instruções ou injeção de prompt. Os hosts devem delimitar ou sanitizar os resultados das ferramentas, mantê-los em contexto somente de dados e autorizar cada ação de acompanhamento com base na intenção e política explícitas do usuário—não em conteúdo incorporado em registros, nomes de parceiros, payloads ou erros.
Ferramentas
Ferramentas públicas e locais sem chave
| Ferramenta | O que faz |
|---|---|
search_docs | Pesquise o índice público de desenvolvedores incluído e retorne URIs de recursos MCP com proveniência. |
get_document_schema | Retorne um starter público para o inventário X12 local: 850/810/856 (capability:baseline) ou 837 Professional 005010X222A1 (capability:partial); explicitamente não é um guia de implementação de parceiro. |
generate_integration_example | Produza exemplos cURL, Node.js ou Python seguros para sandbox contra caminhos reais /api/v1 usando placeholders de ambiente; exemplos outbound definem SANDBOX e recusam hosts de produção. |
generate_test_document | Renderize um fixture X12 sintético para o mesmo inventário local e retorne o rótulo honesto capability. |
explain_edi_error | Explique erros de validação e reconhecimento funcional do dicionário X12 local. |
lookup_x12 | Pesquise a referência local de segmentos e reconhecimentos X12. |
lookup_element_definition | Alias de descoberta de ferramentas para consulta X12 local. |
Ferramentas autenticadas de parse e validação em sandbox
| Ferramenta | O que faz |
|---|---|
parse_edi | Analise um intercâmbio X12 bruto em JSON estruturado e um resumo de validação. |
validate_edi | Valide a estrutura X12 e retorne o resumo de validação. |
parse_segments | Alias de descoberta de ferramentas para parse_edi. |
validate_x12_structure | Alias de descoberta de ferramentas para validate_edi. |
Ferramentas autenticadas de kit genérico (sandbox e production)
| Ferramenta | O que faz |
|---|---|
list_partner_kits | Liste kits genéricos da API SignalEDI. |
get_partner_kit | Busque um kit genérico pelo id de catálogo. |
get_partner_requirements | Retorne um kit genérico com um aviso explícito partnerSpecific:false. |
Leituras de dados com perfil de ambiente explícito
Estas ferramentas de dados do locatário nunca são habilitadas apenas porque uma chave está presente. Leituras de transação e quickbooks_status estão disponíveis em sandbox e production explícitos; quickbooks_list_entities é somente sandbox.
| Ferramenta | O que faz |
|---|---|
list_transactions | Liste transações recentes com escopo na chave de API. |
get_transaction | Busque uma transação própria e seu status de ciclo de vida. |
quickbooks_status | Inspecione o status da conexão QuickBooks Online sem retornar tokens. |
quickbooks_list_entities | Visualize linhas de Invoice, Estimate, PurchaseOrder, Customer, Vendor ou Item para mapeamento (somente sandbox). |
Plano de controle de conexão governado (sandbox e production)
As ferramentas de conexão operam no contrato público /api/v1/connections. O MCP aplica uma segunda allowlist de resposta sobre a representação sanitizada da API: pode retornar referências opacas de gateway/evidência e booleanos de status configurado, mas nunca credenciais armazenadas, referências de segredos, configuração bruta de transporte, chaves privadas, certificados ou tokens.
| Ferramenta | O que faz |
|---|---|
list_connections | Paginação por cursor de resumos de conexão AS2/SFTP e API legada legítima com escopo no locatário, com filtros opcionais de parceiro/ciclo de vida. |
get_connection | Inspecione estado seguro de ambiente, gateway, aprovação, cobertura de teste, prontidão e próxima ação para uma conexão AS2/SFTP ou API legada. |
create_connection_draft | Crie ou recupere um DRAFT idempotente sandbox-first; created distingue inserção de reutilização correspondente e não pode ativar produção. |
configure_connection | Vincule uma referência de gateway existente e identificadores X12 ISA/GS restritos a um ambiente AS2/SFTP SANDBOX ou PRODUCTION; o servidor é dono do ISA15 e não aceita material de credencial. Configuração de produção exige platform:connections:production e ainda não ativa entrega. Linhas de API legada permanecem somente leitura aqui e usam a superfície governada de conexões de API. |
test_connection | Teste a conexão salva exata no ambiente injetado do perfil ativo. A operação causa egresso na rede do parceiro, registra evidência sanitizada, exige revisão imposta pelo host mais uma chave de idempotência, e nunca aceita endpoints ou credenciais nem ativa produção. |
request_connection_go_live | Peça à API para mover uma conexão READY comprovada pelo servidor apenas para GO_LIVE_APPROVED. A ativação pela equipe do SignalEDI permanece uma operação separada de MFA/governança. |
Não há deliberadamente nenhuma ferramenta genérica de transição de ciclo de vida. test_connection pode criar evidência de conectividade autoritativa para o binding salvo exato; estágios intermediários de teste/certificação vêm de evidência ou estado do projeto de onboarding, não de alegações do modelo. Não há ferramentas de ativação de produção, rollback ou isolamento.
Ferramentas explícitas de perfil de escrita
| Ferramenta | O que faz |
|---|---|
send_outbound_document | Envie um documento EDI outbound no ambiente sandbox/produção ativo. |
quickbooks_sync_to_qbo | Envie uma seleção limitada de transações para QBO (somente sandbox); as direções comprador e fornecedor são explícitas, e all:true é paginado por cursor. |
quickbooks_export_to_edi | Visualize ou exporte invoices/purchase orders do QBO como EDI no ambiente sandbox/produção ativo. Resultados de dry run são editados no payload por padrão; payloads completos exigem includePayload:true, platform:data:sensitive e confirm:true imposto pelo host. |
quickbooks_disconnect | Revogue e remova a conexão QBO do workspace (somente sandbox). |
Toda ferramenta publica um esquema de entrada e saída. O servidor valida entradas por conta própria, rejeita campos desconhecidos e retorna tanto texto legível quanto structuredContent com metadados de contrato com namespace.
Segurança de mutação
Ferramentas de escrita estão ausentes em docs. Toda mutação ao vivo exige confirm:true e um idempotencyKey gerado pelo chamador, de 8 a 128 caracteres ASCII imprimíveis, sem espaços em branco no início ou no fim. Envios de saída, sincronização/exportação/desconexão do QBO e solicitações de criação/configuração/teste/ativação de conexão aplicam proteção durável contra repetição no lado da API e são anotados como idempotentes. A desconexão do QBO permanece restrita ao sandbox e relata uma revogação pendente da Intuit em vez de afirmar conclusão. confirm:true é uma afirmação do fluxo de trabalho chamador; o servidor MCP não pode provar de forma independente que um humano a aprovou, portanto o host deve apresentar a ação para revisão.
O cliente MCP nunca tenta novamente automaticamente mutações ou POSTs de análise/validação. Os uploads de análise/validação usam dados sintéticos ou dados de teste aprovados e podem registrar uso do sandbox, portanto suas anotações permanecem não somente-leitura e não idempotentes. GETs somente-leitura mantêm comportamento de nova tentativa transitória limitada.
URLs de base personalizadas são rejeitadas a menos que SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL=1 seja definido após a verificação do destino. URLs contendo credenciais, caminhos, consultas ou fragmentos são rejeitadas. HTTP é permitido apenas para localhost e ainda exige a aceitação de host personalizado.
O adaptador limita entradas EDI brutas a 65.536 bytes UTF-8, corpos de solicitação JSON serializados a 1 MiB e respostas da API a 4 MiB. Os esquemas de entrada publicam limites de caracteres/coleções; os limites de bytes são reverificados imediatamente antes do uso na rede, e respostas em fluxo são canceladas quando ultrapassam o limite.
Recursos e prompts
Orientação estável é exposta como recursos, não como ferramentas de ação:
signaledi://quickstartsignaledi://openapisignaledi://developer-workflowssignaledi://x12-referencesignaledi://documents/{transactionSet}/schema
O esquema do documento também é anunciado como um modelo de recurso. Os prompts incluem scaffold-integration, onboard-partner e debug-rejection; os prompts de scaffolding e integração usam dados sintéticos por padrão e evitam gravações até que um sandbox isolado seja confirmado.
Início rápido
Execute o perfil de documentação pública:
npx -y @signaledi/mcp-server@0.5.0
Configure o perfil de sandbox autenticado somente após uma base e chave não relacionadas à produção serem provisionadas. A configuração do projeto Claude Code (.mcp.json) expande ${NAME} a partir do ambiente do 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"
}
}
}
}
No Windows nativo, o Claude Code deve iniciar o shim npm por meio 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"
}
}
}
}
O Cursor usa referências .cursor/mcp.json, mcpServers e ${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)
Empacote o mesmo servidor stdio como uma Extensão do Claude Desktop (.mcpb). Fonte: mcpb/manifest.json + scripts/build-mcpb.mjs. Consulte mcpb/README.md para notas completas de build e envio.
npm ci
npm run build:mcpb
# → dist/signaledi-mcp-server-0.5.0.mcpb
Instale clicando duas vezes no .mcpb, arrastando-o para o Claude Desktop, ou Configurações → Extensões → Avançado → Instalar Extensão…. As configurações da extensão mapeiam para as mesmas variáveis de ambiente que server.json (SIGNALEDI_API_KEY, SIGNALEDI_BASE_URL, SIGNALEDI_MCP_PROFILE, etc.). Autor/editor: SignalEDI · Support@signaledi.com · https://signaledi.com.
Envio por diretório (somente manual): não envie a partir deste agente/CI. Quando estiver pronto, siga o formulário de envio de extensão para desktop da Anthropic após compilar/testar o artefato. Ferramentas: @anthropic-ai/mcpb (mcpb pack / mcpb validate). Especificação: Criar uma extensão de desktop com MCPB.
Google Antigravity
Pasta de plugin manual estilo Antigravity/Gemini em antigravity-plugin/ (conecta mcp_config.json → npx -y @signaledi/mcp-server@0.5.0). A listagem na MCP Store não é autoatendida; instale copiando a pasta:
| Escopo | Caminho |
|---|---|
| Global | ~/.gemini/config/plugins/signaledi |
| Workspace | .agents/plugins/signaledi (ou _agents/plugins/signaledi) |
Consulte antigravity-plugin/README.md. Marca: somente SignalEDI.
Cursor Marketplace
Este repositório público é empacotado como um Plugin do Cursor para o Marketplace oficial. O plugin inicia o mesmo pacote npm via stdio — não há implementação MCP paralela.
| Manifesto do plugin | .cursor-plugin/plugin.json (name: signaledi) |
| Configuração MCP | mcp.json → npx -y @signaledi/mcp-server@0.5.0 |
| Logotipo | assets/logo.svg (caminho relativo) |
| Skill | skills/signaledi-mcp-profiles/ |
| Envio | cursor.com/marketplace/publish → repositório https://github.com/SignalEDI/mcp-server |
Instalação (após a listagem): abra Personalizar → Marketplace, pesquise por SignalEDI e instale.
Configuração: defina as variáveis do plugin em Plugins → Configurar (sem segredos no repositório ou nos prompts):
| Variável | Valor típico |
|---|---|
SIGNALEDI_MCP_PROFILE | docs (padrão), sandbox ou production |
SIGNALEDI_API_KEY | Chave de workspace com privilégios mínimos (ignorada por docs) |
SIGNALEDI_BASE_URL | Origem verificada fora de produção, ou exatamente https://signaledi.com para produção |
SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL | 1 somente para hosts personalizados verificados |
SIGNALEDI_MCP_ALLOW_PRODUCTION | 1 somente com o perfil de produção e a base canônica |
O plugin mcp.json usa espaços reservados ${VAR} que correspondem às variáveis do painel (não a sintaxe manual ${env:NAME} usada no projeto .cursor/mcp.json). Espaços reservados não definidos permanecem com falha fechada no perfil docs sem chave. A instalação com um clique no Marketplace exige @signaledi/mcp-server@0.5.0 (ou pin correspondente mais recente) no npm; até que essa publicação seja feita, o npx local/manual contra uma versão publicada ainda funciona para verificação.
A publicação está sujeita aos Termos do Editor do Cursor Marketplace. Os plugins do Marketplace devem ser de código aberto e passar por revisão manual; consulte segurança do marketplace.
Política de Privacidade
A política de privacidade do produto SignalEDI está publicada em https://signaledi.com/privacy. O adaptador MCP é executado localmente via stdio; chamadas autenticadas enviam entradas de ferramentas para o host da API SignalEDI que você configurar. Argumentos de ferramentas, resultados de texto e resultados estruturados entram no host MCP e podem entrar no contexto do modelo—consulte Manuseio de dados de produção acima. Contato: Support@signaledi.com.
O VS Code usa .vscode/mcp.json, um objeto servers de nível superior e uma entrada de senha para segredos:
{
"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 um sandbox local provisionado, adicione os seguintes valores ao objeto env do cliente escolhido, usando a sintaxe de referência de ambiente desse cliente para a chave:
{
"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"
}
Produção é uma aceitação explícita com falha fechada. Use somente a origem canônica e mantenha a chave no ambiente do 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"
}
O perfil de produção não aceita hosts personalizados ou uma base ausente/implícita. A remoção de qualquer um dos itens—perfil, chave, base canônica ou aceitação—impede a inicialização.
Nunca cole chaves reais ou segredos em prompts. As variáveis de ambiente do servidor MCP são resolvidas pelo processo do host, não pelo modelo.
Configuração
| Variável de ambiente | Padrão | Finalidade |
|---|---|---|
SIGNALEDI_MCP_PROFILE | docs | Limite de capacidade: docs, sandbox explícito ou production explícito. Fornecer apenas uma chave nunca habilita ferramentas remotas. |
SIGNALEDI_API_KEY | — | Chave de workspace com privilégios mínimos; ignorada em docs, obrigatória em perfis autenticados. Ela precisa da base platform mais os escopos de domínio publicados de cada ferramenta. Não emita escopos legados abrangentes de gravação/produção para um host MCP. |
SIGNALEDI_BASE_URL | Base pública de produção para o GET do OpenAPI de documentação sem conteúdo | O sandbox exige uma origem verificada explícita fora de produção; a produção exige exatamente https://signaledi.com. |
SIGNALEDI_MCP_ALLOW_CUSTOM_BASE_URL | — | Defina como 1 somente para um host localhost, preview ou sandbox verificado. |
SIGNALEDI_MCP_ALLOW_PRODUCTION | — | Defina como 1 como a aceitação independente de produção; ignorado por outros perfis. |
SIGNALEDI_MCP_TELEMETRY | habilitado | Defina como 0 para desativar linhas de métricas locais reduzidas. As métricas contêm ferramenta, perfil, resultado/código, latência e id da solicitação—não payloads ou segredos. |
O servidor grava JSON-RPC somente em stdout e registra logs somente em stderr.
Superfícies deliberadamente adiadas
O MCP não fabrica capacidades hospedadas que ainda não são suportadas por APIs estáveis e isoladas por locatário:
suggest_mappingevalidate_mappingaguardam o serviço estruturado de validação de mapeamento e o contrato de proveniência do guia de parceiros.create_sandbox_project,create_test_partner,submit_test_documenteget_test_resultsaguardam rotas estáveis de ciclo de vida/teste isoladas por locatário.generate_webhook_fixtureeverify_webhook_signatureaguardam um contrato canônico de assinatura em tempo de execução; o caminho atual principal de entrega/repetição e o caminho de remediação assinam de forma diferente.- Rotação de credenciais, configuração bruta de gateway, implantação de mapeamento, edições arbitrárias de parceiros, reivindicações manuais de evidência/ciclo de vida, ativação/rollback/isolamento de produção, sincronização/desconexão do QBO e retransmissão de documentos não são expostos em produção. O perfil de produção é limitado às leituras na lista de permissões e às operações de rascunho/configuração/teste de conectividade/solicitação de ativação/envio/exportação do QBO controladas pelo servidor descritas acima.
Desenvolvimento local
node test.mjs
npm run test:stdio
npm start
Os testes de unidade usam dados sintéticos e HTTP simulado. Os testes de integração stdio exercitam a descoberta de documentação, sandbox e produção sem chamadas de API ao vivo. Consulte RELEASE_NOTES_0.5.0.md para os portões de lançamento.
Arquitetura e autoridade do repositório
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
O repositório GitHub independente SignalEDI/mcp-server é a fonte canônica e a única autoridade automatizada de publicação no npm/MCP Registry. O repositório privado SignalEDI/platform pode manter um snapshot de validação sincronizado para seus contratos hospedados de API/backend; consulte MIRROR.md. Todos os exemplos são sintéticos e devem permanecer livres de dados de clientes, saúde, financeiros e de credenciais.