Saltar para o conteúdo principal
O servidor MCP expõe ferramentas que mapeiam para a API REST V2 da ZeroPath. As ferramentas são carregadas do manifesto MCP da ZeroPath na inicialização, então seu assistente de IA sempre tem acesso às capacidades atuais.

Issues

12 ferramentas — listar, triar, investigar, atualizar status, severidade e notas, regenerar patches

Scans

3 ferramentas — listar histórico de scans, obter detalhes de um scan, reescanear PRs

Repositórios

1 ferramenta — listar repositórios com filtragem

Inspeção de Código

3 ferramentas — buscar, ler e listar arquivos em repositórios conectados

Regras

5 ferramentas — CRUD completo para regras de segurança personalizadas

Escopo de Organização

Toda ferramenta aceita organizationId. O servidor MCP lida com isso automaticamente:
  • Se ZEROPATH_ORG_ID estiver definido, o servidor o injeta em cada requisição — você nunca precisa passá-lo manualmente.
  • Se ZEROPATH_ORG_ID não estiver definido, você deve passar organizationId explicitamente. A maioria das ferramentas o exige no nível da API; algumas (como issues.list) conseguem resolver o contexto da organização a partir da sua sessão de autenticação.
Defina ZEROPATH_ORG_ID durante a instalação para evitar passar organizationId em cada chamada.

Ferramentas de Issues

issues.list

Liste e filtre issues de segurança. Usa paginação baseada em offset via offset e limit.

issues.archive

Arquive issues para removê-las das visualizações ativas.

issues.unarchive

Restaure issues arquivadas de volta às visualizações ativas.

issues.markFalsePositive

Marque issues como falsos positivos. Remove-as da revisão ativa.

issues.markTruePositive

Confirme issues como verdadeiros positivos.

issues.updateStatus

Atualize o status de fluxo de trabalho de uma ou mais issues.
O nome do campo é issueStatus, não status. Usar o nome de campo errado causará um erro de validação.

issues.updateSeverity

Atualize o score de severidade de uma única issue.
Esta ferramenta recebe um único issueId (string), não issueIds (array). O campo severity é um número entre 0 e 10, não um enum de string.

issues.requestInvestigation

Solicite uma investigação sob demanda de um achado usando modelos de IA maiores para uma validação de maior confiança.
REST vs MCP: A API HTTP pública expõe um único procedimento, POST /api/v2/issues/requestInvestigation, com um array issueIds (um ou mais IDs). Essa rota usa o mesmo caminho de backend que a ferramenta MCP issues.requestBulkInvestigation. Esta ferramenta MCP issues.requestInvestigation chama a mutação tRPC de issue única — não existe um endpoint REST POST …/{id}/investigate correspondente.
Se já houver uma investigação em andamento para a issue, a resposta retorna a investigação existente com "status": "already_pending" em vez de criar uma duplicata.

issues.requestBulkInvestigation

Solicite investigações para várias issues de uma vez.
Mapeamento REST: POST /api/v2/issues/requestInvestigation com { issueIds, context?, organizationId? }. Esta é a superfície HTTP para investigações em lote; não é o mesmo nome de ferramenta MCP que issues.requestInvestigation (ferramenta tRPC de issue única acima).
Issues que já têm uma investigação pendente ou em andamento são ignoradas. Issues que não pertencem à sua organização são contabilizadas como não autorizadas.

issues.getInvestigationStatus

Obtenha o resultado de investigação mais recente de uma issue.
Retorna null se nenhuma investigação tiver sido solicitada para a issue. O campo status pode ser PENDING, PROCESSING, COMPLETED ou FAILED.

issues.regeneratePatch

Solicite a geração de um novo patch para uma issue. Use isto quando o patch gerado automaticamente estiver desatualizado, não se aplicar de forma limpa, ou quando você quiser uma nova tentativa depois que o código afetado mudou.

issues.updateNotes

Atualize as notas internas de uma issue. Notas são anotações de texto livre visíveis para sua equipe na página de detalhes da issue e são úteis para registrar contexto de triagem, descobertas de investigação ou planos de remediação.

Ferramentas de Scan

scans.list

Liste scans com paginação baseada em cursor. Passe o nextCursor de uma resposta anterior para avançar na paginação.

scans.get

Obtenha os detalhes de um scan específico.

scans.rescanPR

Dispare um novo scan de um pull request ou merge request. Passe o ID de um scan de PR anterior e a plataforma buscará o pull request novamente e criará novo(s) scan(s). Suporta PRs do GitHub e MRs do GitLab.
O campo outcome indica o que aconteceu:

Ferramentas de Repositório

repositories.list

Liste repositórios com paginação baseada em cursor (cursor em string).

Ferramentas de Inspeção de Código

Estas ferramentas permitem navegar e buscar código-fonte diretamente em repositórios GitHub e GitLab conectados, sem precisar cloná-los. Busque código dentro de um repositório.

code.read

Leia o conteúdo de um arquivo em um repositório.
As respostas são limitadas a 1.000 linhas e 200 KB. As flags truncatedByLineRange e truncatedByByteLimit indicam se a resposta foi truncada.

code.listFiles

Liste arquivos e diretórios dentro de um caminho do repositório.
A inspeção de código atualmente é suportada para repositórios GitHub e GitLab. Bitbucket, Git genérico e repositórios enviados por upload ainda não são suportados.

Ferramentas de Regras

rules.list

Liste regras de segurança personalizadas. Usa paginação baseada em offset.

rules.get

Obtenha os detalhes de uma regra específica, incluindo os nomes dos repositórios associados.

rules.create

Crie uma regra de segurança personalizada.

rules.update

Atualize uma regra existente. Apenas os campos que você incluir serão modificados.

rules.delete

Exclua uma regra personalizada.

Fluxos de Trabalho Comuns

  1. Liste as issues pendentes — chame issues.list com statuses: ["PENDING_REVIEW"] ordenado por score decrescente.
  2. Revise cada issue — peça ao seu assistente de IA para resumir a vulnerabilidade e o código afetado.
  3. Classifique — use issues.markTruePositive ou issues.markFalsePositive com um motivo.
  4. Atualize o status — mova as issues confirmadas para REVIEWING ou PATCHING com issues.updateStatus.
  5. Ajuste a severidade — se o score atribuído automaticamente não corresponder à sua avaliação, use issues.updateSeverity com um valor de 0 a 10.
  1. Liste as regras existentes — chame rules.list para ver o que já está configurado.
  2. Crie uma regra — use rules.create com uma descrição em linguagem natural. O scanner da ZeroPath fará a correspondência desse padrão em scans futuros.
  3. Defina o escopo — use repositoryIds para limitar a regra a repositórios específicos, globPattern para limitar a tipos de arquivo específicos e sourceTypes para direcionar pontos de entrada específicos.
  4. Adicione tags — use tagIds para associar a regra a tags para fins de organização.
  5. Itere — atualize com rules.update conforme você refina o padrão.
  1. Liste os scans recentes — chame scans.list para ver o histórico de scans. Filtre com scanTypes: ["FullScan"] para scans agendados ou ["PrScan"] para scans de PR.
  2. Obtenha os detalhes do scan — use scans.get com um scanId específico para ver status, branch e contagens de issues.
  3. Aprofunde-se nos achados — chame issues.list com um filtro de scanId para ver apenas as issues daquele scan.

Tratamento de Erros

Chamadas de ferramenta que falham retornam erros estruturados:
Retornado quando a validação da entrada falha. Verifique o array data.issues para detalhes por campo.
Verifique se ZEROPATH_TOKEN_ID e ZEROPATH_TOKEN_SECRET estão corretos e se a chave de API está ativa.
A chave de API não tem as permissões necessárias para esta operação. Verifique o papel da sua chave em ZeroPath Settings.
O ID especificado (issue, scan, regra ou repositório) não foi encontrado. Verifique se o ID está correto e pertence à sua organização.

Dicas

  • Pagine — sempre pagine conjuntos grandes de resultados. Use offset/limit para issues e regras, cursor/limit para scans e repositórios.
  • Filtre cedo — use filtros de status, severidade e repositório para reduzir o tamanho da resposta.
  • Atualize em lote — passe múltiplos IDs em uma única chamada ao arquivar, marcar ou atualizar status.
  • Inclua motivos — adicione um reason ao arquivar, marcar falsos/verdadeiros positivos ou mudar status, para fins de trilha de auditoria.
  • Defina o contexto da organização — configure ZEROPATH_ORG_ID durante a instalação para que o servidor injete organizationId automaticamente em cada requisição.