EdgeGate

Execute gates de regressão de edge-AI em hardware real Snapdragon e Jetson, com evidências assinadas para CI.

Documentação

edgegate-mcp

Servidor MCP para EdgeGate — configure portões de regressão de IA de borda em dispositivos Snapdragon diretamente do Claude Code, Cursor ou Claude Desktop.

O que ele faz?

O EdgeGate executa testes de regressão de modelos de IA em hardware Snapdragon real por meio do Qualcomm AI Hub e produz pacotes de evidência assinados que você pode anexar aos portões de CI. Este pacote npm expõe a API REST do EdgeGate como 61 ferramentas MCP, além de skills incluídas, para que você possa conduzir todo o fluxo a partir de um prompt:

> Use the edgegate MCP to set up a CI gate for my MobileNet ONNX model.
> Gates: inference_time_ms ≤ 10, peak_memory_mb ≤ 150.
> Devices: Galaxy S24, Galaxy S23.

Instalação

# 1. Generate an API key in the EdgeGate dashboard
# https://edgegate.frozo.ai/workspace/<id>/settings#api-keys

# 2. Run the installer (writes config for Claude Code / Cursor / Desktop)
npx edgegate-mcp-install

Reinicie seu cliente MCP. Pronto.

Configuração manual

Se preferir editar os arquivos de configuração manualmente, o servidor é um MCP stdio padrão. Adicione isto à configuração do seu cliente:

Claude Code (~/.claude.json)

{
  "mcpServers": {
    "edgegate": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "edgegate-mcp"],
      "env": {
        "EDGEGATE_API_KEY": "egk_live_...",
        "EDGEGATE_API_URL": "https://edgegateapi.frozo.ai"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

Mesma estrutura do Claude Code, sem o campo type.

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json no macOS)

Mesma estrutura do Cursor.

Ferramentas

Consulte docs/tools.md para ver os esquemas de entrada e exemplos.

O EdgeGate expõe 61 ferramentas MCP. Esta tabela é gerada a partir de src/server.ts — execute npm run docs:tools após adicionar uma ferramenta.

FerramentaFinalidade
edgegate_setup_workspaceConfirmar ou listar os workspaces do EdgeGate visíveis para a chave de API. Execute isso primeiro em uma conversa nova para fixar qual workspace_id as outras ferramentas devem usar.
edgegate_create_pipelineCriar um novo pipeline de regressão do EdgeGate. Defina qual(is) modelo(s), qual(is) dispositivo(s) e quais gates (ex.: inference_time_ms ≤ 10) o pipeline irá aplicar. Para LLMs: defina llm_compile_source em um modelo em vez de artifact_id. O EdgeGate compilará + vinculará via AI Hub na primeira execução; execuções subsequentes reutilizam o composto em cache. Gates de ttft_ms + tps funcionam; ambos são derivados do perfil por componente (inferência de papel de prompt → TTFT; 1000/inferência de papel de token → TPS). Cada execução de gate de LLM = 3 jobs de perfil do AI Hub (um por componente) ≈ 3× o custo de CV.
edgegate_run_gateDisparar uma execução do EdgeGate contra um pipeline. Retorna um run_id que você pode consultar com edgegate_check_status.
edgegate_check_statusObter o status atual de uma execução do EdgeGate, incluindo métricas por dispositivo e quais gates passaram ou falharam.
edgegate_get_reportListar execuções recentes do EdgeGate em um workspace com status, duração e gatilho.
edgegate_get_audit_reportObter o URL do PDF do relatório de auditoria assinado para uma execução concluída do EdgeGate. Usado para registros de conformidade.
edgegate_setup_github_actionGerar o YAML do workflow do GitHub Actions + comandos de segredo do gh para que cada PR execute o EdgeGate como um gate de CI.
edgegate_compare_runsComparar duas execuções do EdgeGate no mesmo pipeline — delta de métricas, mudanças de gate (regressões ✓→✗ e recuperações ✗→✓), detalhamento por dispositivo e um veredito geral (REGRESSION / IMPROVEMENT / NEUTRAL / NO BASELINE). Quando baseline_run_id for omitido, seleciona automaticamente a execução PASSED mais recente do mesmo pipeline como linha de base.
edgegate_export_run_reportBaixar um relatório markdown legível para uma execução do EdgeGate e salvá-lo em disco. Retorna o caminho absoluto do arquivo mais uma prévia das primeiras 30 linhas. Opcionalmente inclui uma seção de diff execução-vs-linha-de-base (include_diff=true).
edgegate_import_huggingface_modelImportar um modelo público do Hugging Face que contém um arquivo ONNX pré-construído. O EdgeGate baixa o arquivo e o registra como um Artifact. Retorna o artifact_id que você pode passar diretamente para edgegate_create_pipeline. Aguarda até a importação ser concluída por padrão (poll_for_completion=true); defina como false para retornar imediatamente com o id do job.
edgegate_predict_npu_coveragePrever quais operações ONNX serão executadas no Qualcomm Hexagon NPU versus fallback para CPU, ANTES de gastar qualquer crédito do AI Hub. Retorna uma cobertura de NPU ponderada por computação % (o número honesto de latência), cobertura por contagem de operações, faixa de risco, fallbacks de CPU por operação e recomendações de correção. Heurística — a execução real no dispositivo permanece autoritativa.
edgegate_list_promptpacksListar todos os promptpacks em um workspace do EdgeGate. Retorna uma tabela markdown com promptpack_id, versão, contagem de casos, status de publicação e data de criação. Use include_unpublished=false para ocultar rascunhos de packs.
edgegate_create_promptpackCriar um novo promptpack em um workspace do EdgeGate. Um promptpack define os casos de teste (prompts, saídas esperadas, overrides por caso) que os pipelines de regressão avaliam. Requer função de admin no workspace. Packs são imutáveis após a criação — aumente a versão para atualizar.
edgegate_publish_promptpackPublicar uma versão de promptpack em um workspace do EdgeGate para que possa ser referenciada em pipelines. Packs recém-criados começam como não publicados — chame isso após edgegate_create_promptpack para completar o ciclo de vida criar → publicar → usar. Requer função de admin no workspace. A operação é idempotente.
edgegate_connect_huggingfaceArmazenar um token de acesso pessoal do Hugging Face para este workspace para que o fluxo de importação possa ler repositórios privados / restritos / da org Qualcomm (a maioria dos repositórios qualcomm/, Intel/ e muitos Xenova/* retornam 401 no endpoint anônimo). O token é validado contra o whoami do HF antes da criptografia e nunca é ecoado em texto puro. Se uma integração já existir, esta ferramenta rotaciona o token. Requer função de admin.
edgegate_get_huggingface_integrationMostrar se um token pessoal do Hugging Face está conectado a este workspace (e se está atualmente ativo ou desativado). Não retorna o token em si.
edgegate_disconnect_huggingfaceExcluir permanentemente a integração do Hugging Face do workspace. Importações futuras do HF voltam ao acesso anônimo. Requer função de proprietário.
edgegate_connect_qaihubArmazenar um token de API do Qualcomm AI Hub para este workspace para que o EdgeGate possa enviar jobs de compilação + perfil em dispositivos Snapdragon reais. O token é criptografado em repouso e nunca é retornado em texto puro após a conexão inicial. Se uma integração já existir, esta ferramenta rotaciona o token de forma transparente. Requer função de admin.
edgegate_get_qaihub_integrationMostrar se um token do Qualcomm AI Hub está conectado a este workspace e se está atualmente ativo. Não retorna o token em si.
edgegate_disconnect_qaihubExcluir permanentemente a integração do Qualcomm AI Hub do workspace. Qualquer nova execução do EdgeGate neste workspace falhará com NO_AIHUB_TOKEN até que um novo token seja conectado. Requer função de proprietário.
edgegate_create_workspaceCriar um novo workspace do EdgeGate. O chamador automaticamente se torna o proprietário. Sujeito aos limites de workspace do plano. Após a criação, conecte o Qualcomm AI Hub e defina pipelines como de costume.
edgegate_list_api_keysListar todas as chaves de API neste workspace (id, nome, prefixo...sufixo, status, last_used). Texto puro nunca é retornado. Requer função de proprietário.
edgegate_create_api_keyCriar uma nova chave de API para este workspace. O token em texto puro é retornado EXATAMENTE UMA VEZ na resposta — copie-o para seus segredos de CI ou env local imediatamente. Requer plano Pro ou superior. Requer função de proprietário.
edgegate_revoke_api_keyRevogar uma chave de API por id. A chave é imediatamente rejeitada para todas as solicitações subsequentes; a linha é preservada (com revoked_at definido) para que a trilha de auditoria sobreviva. Destrutivo. Requer função de proprietário.
edgegate_list_membersListar todos os membros deste workspace com seu email + função. Requer pelo menos função de visualizador.
edgegate_list_devicesListar todos os dispositivos do Qualcomm AI Hub que o EdgeGate pode segmentar (telefones Snapdragon, plataformas de referência QRD/CRD, IoT Dragonwing, automotivo, XR). Retorna uma tabela markdown agrupada por categoria. Use a coluna id literalmente ao construir uma matriz de dispositivos create_pipeline. Nenhum workspace_id é necessário — o catálogo é global.
edgegate_list_device_targetsListar os dispositivos conectados PRÓPRIOS do cliente (Jetson, hosts Snapdragon, gateways) com status online/offline calculado a partir do heartbeat de cada dispositivo (batida de 30s, janela de 90s). Esta é a frota do workspace conectada via edgegate-runner agent — NÃO o catálogo global do AI Hub (use edgegate_list_devices para isso). Se vazio, a resposta inclui instruções de conexão copiáveis para o cliente.
edgegate_run_device_benchmarkEnviar um benchmark ONNX para um dos dispositivos conectados do cliente (Jetson, host Snapdragon, gateway) por nome/id. O agente no dispositivo o coleta em ~30s e relata resultados de latência/memória. Multi-silício: funciona para qualquer fornecedor que o cliente tenha conectado. Requer função de admin.
edgegate_invite_memberAdicionar um usuário existente do EdgeGate a este workspace por email na função fornecida (owner / admin / viewer). v1 apenas anexa usuários existentes — não envia emails de convite para endereços externos. Requer função de admin; apenas proprietários podem adicionar outros proprietários.
edgegate_change_member_roleAlterar a função de um membro neste workspace. Não é possível rebaixar o último proprietário — promova outro membro a proprietário primeiro. Requer função de proprietário.
edgegate_remove_memberRemover um membro deste workspace. O usuário perde o acesso imediatamente; seus pipelines e execuções são preservados. Não é possível remover o último proprietário. Destrutivo. Requer função de proprietário.
edgegate_setup_byo_storageSomente Enterprise. Configuração de armazenamento BYO sem atrito — cria uma concessão pendente com o EdgeGate (retorna o External ID) e retorna os comandos exatos da AWS CLI que o agente deve executar para criar a função IAM na conta AWS do cliente. Combine com edgegate_attach_byo_role para finalizar. Prefira isso em vez de edgegate_register_byo_bucket para novas configurações — o agente não precisa descobrir a política de confiança ou adivinhar nomes de função. Requer função de proprietário. 402 de workspaces não Enterprise; se uma concessão não pendente existir, instrui o agente a desconectar primeiro.
edgegate_attach_byo_roleFase 2 de edgegate_setup_byo_storage. Devolve o Role ARN recém-criado ao EdgeGate, que executa sts:AssumeRole + uma sonda HEAD negada por padrão para verificar se as políticas de confiança + permissão estão corretas. Muda a concessão para 'active' em caso de sucesso, ou retorna um erro BYO_* tipado com uma lista de verificação de configurações incorretas comuns em caso de falha. Pode ser chamado novamente com o mesmo role_arn após corrigir o IAM.
edgegate_register_byo_bucketSomente Enterprise. Use edgegate_setup_byo_storage em vez disso para novas configurações — esta ferramenta só funciona se você já tiver uma função IAM e quiser apenas registrar seu ARN. Registra o bucket S3 de propriedade do cliente + função IAM do workspace como uma concessão de armazenamento BYO. Os workers do EdgeGate farão AssumeRole na sua conta AWS para ler bytes do modelo — eles nunca saem da sua conta. Retorna o External ID que você deve adicionar à política de confiança da sua função. Requer função de proprietário. 402 de workspaces não Enterprise; 409 se uma concessão já existir.
edgegate_check_byo_bucketRe-executar a sonda de prontidão AssumeRole + HeadObject contra a concessão BYO do workspace. Retorna o status atualizado da concessão com o código de erro BYO_* tipado se falhou, mais uma lista de verificação de configurações incorretas comuns de IAM / bucket / KMS para inspecionar. Requer função de admin.
edgegate_register_byo_artifactRegistrar um URI S3 existente no seu bucket registrado como um Artifact do EdgeGate. O EdgeGate faz HeadObject no URI para confirmar que a chave existe + capturar tamanho/etag — os bytes NÃO são enviados através do EdgeGate. Retorna um artifact_id que você pode passar diretamente para edgegate_create_pipeline / edgegate_run_gate. Requer função de admin. Pré-condições: plano Enterprise + concessão BYO ativa + bucket correspondente à concessão.
edgegate_disconnect_byo_bucketExcluir a concessão de armazenamento BYO do workspace. O EdgeGate para de tentar ler do seu bucket. Recusa (409) se artifacts ainda a referenciarem — a superfície lista os caminhos seguros a seguir (rotacionar o External ID via dashboard, ou descartar os artifacts primeiro). Destrutivo. Requer função de proprietário.
edgegate_llm_compileEnviar um job de compilação + vinculação de LLM multi-componente via Qualcomm AI Hub. Retorna um compile_job_id; consulte com edgegate_check_llm_compile_status. O gasto é limitado pelo teto mensal de compilação de LLM do workspace (padrão 100/mês no plano Pro). Cada compilação produz um modelo vinculado QNN_DLC composto + 3 artifacts de componente (prompt / token / kv_cache). O target_runtime de compilação é QNN_DLC sob o capô, apesar do rótulo genie — o rótulo é apenas para dicas de despacho de perfil downstream.
edgegate_check_llm_compile_statusConsultar um job de compilação de LLM. Retorna status (queued|running|completed|failed), composite_artifact_id quando concluído, error_detail quando falhou e progress.compile_jobs_done / total.
edgegate_get_byo_auditBuscar o log de auditoria de armazenamento BYO somente anexação do workspace (cada AssumeRole, HeadObject, GetObject, KMS Decrypt). Suporta filtros por artifact_id, run_id, desde timestamp, além de paginação por cursor. O aws_request_id de cada linha é a chave de junção para referência cruzada com seu próprio CloudTrail. Requer função de admin.
edgegate_list_eval_packsListar os pacotes iniciais de conjunto de avaliação comportamental agrupados que um cliente pode clonar. Retorna o id, nome, contagem de casos e equilíbrio de cada pacote (contagens must_refuse / task). Clone um em um novo conjunto de avaliação via edgegate_create_eval_set(clone_from=). Nenhum workspace_id é necessário — a biblioteca de pacotes é global.
edgegate_create_eval_setCriar um novo conjunto de avaliação comportamental com sua primeira versão de rascunho. Semeie-o a partir de um pacote agrupado (clone_from), com casos explícitos, ambos, ou nenhum (rascunho vazio). Cada caso tem seis campos: case_id, prompt, category (jailbreak|forbidden_action|task|format), forbidden_actions, must_refuse, expected_task_answer. Rascunhos NÃO são validados aqui — apenas edgegate_publish_eval_set congela + aplica gates. Requer acesso de escrita ao workspace.
edgegate_list_eval_setsLista os conjuntos de avaliação comportamental do workspace — eval_set_id, nome, versão mais recente e data de criação. Use o eval_set_id com as ferramentas de atualização / publicação / nova versão.
edgegate_update_eval_setSubstitui TODOS os casos de uma versão de conjunto de avaliação RASCUNHO (lista de substituição completa, não um patch). Versões publicadas são imutáveis — um 409 aqui significa que você deve criar um novo rascunho com edgegate_new_eval_set_version primeiro. A versão continua sendo um rascunho; publique separadamente. Requer acesso de escrita no workspace.
edgegate_publish_eval_setValida e congela uma versão de conjunto de avaliação em rascunho em uma versão imutável, assinada e ancorada por hash. Em caso de sucesso, retorna eval_set_sha256 + artifact_id (alimente ambos em uma execução de Behavioral-Gate 3b). Em caso de falha de validação, retorna as violações de equilíbrio/estrutura e a versão permanece como rascunho (mínimo: ≥5 casos must_refuse-with-forbidden + ≥1 caso de tarefa). Requer acesso de escrita no workspace.
edgegate_new_eval_set_versionCria um novo rascunho (versão+1) a partir de uma versão PUBLICADA, pré-populado com seus casos — o caminho de edição após publicação. Edite o novo rascunho com edgegate_update_eval_set e depois publique novamente. A versão publicada original (e quaisquer referências/execuções vinculadas ao seu sha) permanece intacta. Requer acesso de escrita no workspace.
edgegate_list_workflow_endpointsLista os endpoints de API/workflow salvos do workspace — os alvos de um gate de API (n8n, Zapier, Make ou qualquer API compatível com OpenAI). Retorna cada endpoint_id para passar para edgegate_capture_reference e edgegate_create_bg_run. Credenciais nunca são retornadas; apenas se uma está armazenada e seus últimos 4 caracteres.
edgegate_create_workflow_endpointSalva um endpoint de API/workflow para que um gate comportamental possa direcioná-lo. Esta é a ÚNICA forma de proteger um endpoint autenticado: a credencial é armazenada criptografada em envelope aqui e nunca é retornada, enquanto um descritor http inline é rejeitado (422) se contiver uma. Usar um endpoint salvo também permite que o EdgeGate recuse uma execução cujo endpoint difere do da linha de base. Requer acesso de administrador no workspace.
edgegate_probe_workflow_endpointEnvia uma solicitação de teste para um endpoint salvo e mostra a resposta bruta ao lado do texto que o EdgeGate extraiu dela. Execute isso ANTES de capturar uma linha de base: é a única coisa que detecta um response_text_path incorreto, que resulta em texto vazio — e texto vazio é pontuado como recusa, então uma linha de base totalmente vazia faz com que todos os gates posteriores passem trivialmente.
edgegate_capture_referenceDispara uma captura de oráculo de referência — a linha de base conhecida como boa contra a qual o Behavioral Gate compara. Especifique EXATAMENTE um tipo: hf_repo (auto-FP16, o EdgeGate executa o mesmo modelo não quantizado), reference_upload_artifact_id (dourado, fornecido pelo cliente) ou endpoint_id/http (um endpoint de API ou workflow — n8n, Zapier, Make ou qualquer API compatível com OpenAI; o EdgeGate o chama uma vez por caso, nada para instalar). Retorna um job_id para consultar. Requer acesso de administrador no workspace.
edgegate_check_reference_capture_statusConsulta um job de captura de referência. Quando o status for done, retorna reference_artifact_id — um artefato ArtifactKind.REFERENCE — para alimentar edgegate_create_bg_run como a linha de base confiável do gate. Requer acesso de administrador no workspace.
edgegate_compile_genieSubmete uma compilação genie de 3 pistas para o runner auto-hospedado do Behavioral Gate. Especifique EXATAMENTE um seletor de pista: hf_repo (Pista A — o EdgeGate compila um repositório HuggingFace), onnx_artifact_ids (Pista B — ONNX multiparte pronto para genie, compilar-e-vincular) ou bundle_artifact_id (Pista C — um bundle já pré-compilado). Retorna um job_id para consultar. Requer acesso de administrador no workspace.
edgegate_check_genie_compile_statusConsulta um job de compilação genie. Quando o status for done, retorna bundle_artifact_id — o bundle genie compilado para alimentar edgegate_create_bg_run. Requer acesso de administrador no workspace.
edgegate_create_bg_runConecta o que você está protegendo + um conjunto de avaliação publicado + um oráculo de referência em uma execução de gate comportamental. Três alvos: um bundle genie compilado (bundle_artifact_id, executa no dispositivo via runner auto-hospedado), um LLM no dispositivo (geniex_model) ou um endpoint de API ou workflow (endpoint_id/http — n8n, Zapier, Make, compatível com OpenAI; o EdgeGate o executa por padrão, então nada é instalado, e os resultados são marcados como verificados por API em vez de certificados por hardware). Erros com uma dica de incompatibilidade quando a referência foi capturada contra uma versão diferente do conjunto de avaliação (eval_set_sha256 difere) ou um endpoint diferente. Requer acesso de administrador no workspace.
edgegate_cancel_runCancela uma execução não terminal, liberando o único slot de execução ativa do workspace. Útil para uma execução de gate comportamental deixada na fila aguardando um dispositivo que nunca reporta (caso contrário, bloquearia novas execuções). 409 se a execução já for terminal.
edgegate_rerun_bgReexecuta uma execução de gate comportamental existente: clona sua configuração já validada (mesmo bundle + conjunto de avaliação + referência + prompt de sistema + dispositivo) em uma nova execução enfileirada — sem necessidade de reenviar IDs de artefatos. 409 se o workspace já tiver uma execução ativa (cancele-a primeiro).
edgegate_setup_bg_github_actionGera a configuração do GitHub Actions para o Behavioral Gate — os pré-requisitos do runner auto-hospedado, o YAML do workflow (usando a ação composta edgegate-bg) e os comandos de segredo do gh. Diferente do gate de execução padrão, o BG executa o modelo em um dispositivo real, então precisa de um runner auto-hospedado com o dispositivo conectado.
edgegate_export_compliance_reportExporta o relatório de predefinição de conformidade para uma execução (ex.: evidência de verificação ISO 26262) — uma reformulação das evidências já assinadas da execução contra as cláusulas da norma (identificação de configuração, verificação, gestão de mudanças, classificação de ferramentas, integridade). Evidência de verificação, NÃO uma certificação de conformidade. O PDF formatado para avaliadores está na página da execução no dashboard.
edgegate_export_field_recorder_reportExporta o relatório de manutenção de registros do Field Recorder EU AI Act Artigo 12 para um intervalo de datas — as evidências assinadas e encadeadas por hash do que os modelos implantados fizeram no dispositivo (mapeamento das cláusulas 12(1)/12(2)(a)/12(2)(b)/integridade, resumo de eventos, assinatura Ed25519). Evidência de verificação, NÃO uma certificação de conformidade. O PDF formatado para avaliadores está na página do Field Recorder no dashboard.
edgegate_recorder_statusStatus do Field Recorder para um workspace: contagens de eventos registrados, detalhamento de replay/divergência (passed/diverged/no_reference), integridade da cadeia de hash (verificada, lacunas, chaves de assinatura) e os dispositivos que estão reportando. Somente leitura.
edgegate_trigger_replayReproduz eventos registrados pendentes contra sua referência certificada (uma execução de gate PASSED para o mesmo modelo) mais a linha de base correspondente à entrada. Os veredictos chegam de forma assíncrona — consulte edgegate_recorder_status. Eventos sem referência certificada são resolvidos como no_reference.

Habilidades

Comandos de barra que você pode invocar diretamente:

  • /edgegate-init — fluxo completo de integração (zero → gate de CI)
  • /edgegate-gate — dispara uma execução em um pipeline existente
  • /edgegate-status — verifica o status e as métricas de uma execução
  • /edgegate-audit — busca o pacote de evidências de uma execução
  • /edgegate-compare — compara duas execuções (baseline automático) com veredito REGRESSION/IMPROVEMENT/NEUTRAL
  • /edgegate-export — salva um relatório de execução como arquivo markdown (para comentários em PR, Slack, conformidade)
  • /edgegate-import — importa um modelo ONNX do Hugging Face (anônimo, ou com token de workspace para repositórios privados / restritos / qualcomm-org)
  • /edgegate-connect-huggingface — anexa um token pessoal do HuggingFace ao workspace para que o fluxo de importação possa ler repositórios privados / restritos / qualcomm-org
  • /edgegate-connect-qaihub — conecta um token do Qualcomm AI Hub para que as execuções possam compilar e fazer perfil em dispositivos Snapdragon
  • /edgegate-workspace-setup — inicializa um workspace totalmente novo de ponta a ponta (criar → conectar AI Hub → chave de API → convidar colegas)
  • /edgegate-members — lista / convida / altera papel / remove membros do workspace
  • /edgegate-promptpacks — lista promptpacks existentes ou cria um novo com casos de teste gerados
  • /edgegate-byo-storage — integração Enterprise BYO storage (registrar grant → colar External ID → verificar probe → primeiro artefato → primeira execução → log de auditoria)

Licença

MIT — veja LICENSE.