DinhoDinho Docs

Referência MCP

Todas as ferramentas e comandos slash do servidor MCP Dinho.


Fluxo típico de uso

dinho_list_projects          → descobre projetos existentes e seus IDs
dinho_create_project         → cria projeto (se necessário)
dinho_create_credentials     → cria placeholders para credenciais de teste
dinho_create_test            → cria o teste (valida com dry-run automático)
dinho_run_test               → dispara execução imediata
dinho_get_test_status        → lê resultado e sugere correção se falhou
dinho_update_test            → aplica correção no script

Ferramentas

dinho_list_projects

Lista todos os projetos da conta. Chame sempre primeiro — retorna os IDs necessários para quase todas as outras ferramentas, o plano atual e o limite de testes.

Parâmetros: nenhum


dinho_create_project

Cria um novo projeto Dinho. Use quando o usuário não tem nenhum projeto ainda, ou quer monitorar uma segunda URL separada.

Parâmetros:

  • name (obrigatório) — Nome do projeto (ex: "Meu App")
  • baseUrl (obrigatório) — URL raiz da aplicação — deve começar com https://

dinho_create_credentials

Cria placeholders de credenciais para um projeto. Chame assim que souber que o teste precisará de login — antes de escrever o script — para que o usuário preencha os valores no dashboard em paralelo.

Cada label armazena exatamente um valor (ex: EMAIL armazena só o email, PASSWORD só a senha). Labels seguem o padrão ^[A-Z][A-Z0-9_]{0,62}$.

Parâmetros:

  • projectId (obrigatório) — ID do projeto (obtido via dinho_list_projects)
  • labels (obrigatório) — Array de labels a criar (ex: ["EMAIL", "PASSWORD"])

Retorna a URL do dashboard para o usuário preencher os valores.


dinho_list_credentials

Lista todas as credenciais de um projeto e seu status de preenchimento (pending / set). Use para verificar quais labels já existem antes de escrever o script, ou para mostrar ao usuário o que falta preencher.

Parâmetros:

  • projectId (obrigatório) — ID do projeto

dinho_create_test

Cria um novo teste Playwright. O script é sempre validado via dry-run automático antes de salvar — testes nunca são criados sem um dry-run bem-sucedido.

Se o script referenciar credenciais com status pending, a ferramenta cria os placeholders, retorna a URL do dashboard e para. Peça ao usuário preencher os valores e avisar quando pronto, depois tente novamente.

Parâmetros:

  • projectId (obrigatório) — ID do projeto (obtido via dinho_list_projects)
  • name (obrigatório) — Nome descritivo do teste
  • description (obrigatório) — O que o teste verifica (uma frase)
  • baseUrl (obrigatório) — Deve começar com https://
  • playwrightScript (obrigatório) — Corpo do script Playwright (variável page já disponível)
  • schedule (opcional) — "1h" | "6h" | "24h" — use "1h" para fluxos críticos (padrão: "24h")
  • tags (opcional) — Array de strings para agrupar testes

Exemplo de script:

await page.goto("https://meuapp.com/login");
await page.fill('[name="email"]', credentials.EMAIL);
await page.fill('[name="password"]', credentials.PASSWORD);
await page.click('[type="submit"]');
await expect(page).toHaveURL("/dashboard");

Seletores em ordem de preferência: data-testid > role > texto visível. Use waitForSelector/waitForURL, nunca setTimeout.


dinho_list_tests

Lista todos os testes de um projeto com status, último horário de execução e contagem de falhas nos últimos 7 dias.

Parâmetros:

  • projectId (obrigatório) — ID do projeto
  • status (opcional) — "passing" | "failing" | "pending" | "never_ran"
  • limit (opcional) — Número de resultados (padrão: 20, máximo: 100)

dinho_run_test

Dispara execução imediata de um teste. Use após atualizar um script para confirmar que o fix funcionou.

Parâmetros:

  • testId (obrigatório) — ID do teste
  • waitForResult (opcional) — Aguardar até 60s pelo resultado (padrão: false)

dinho_run_until_pass

Executa um teste repetidamente, corrigindo automaticamente o script em cada falha, até passar ou atingir o número máximo de tentativas. Ideal para depuração iterativa.

Parâmetros:

  • testId (obrigatório) — ID do teste
  • maxAttempts (opcional) — Máximo de iterações executar+corrigir (padrão: 3, máximo: 5)
  • explainEachAttempt (opcional) — Retornar mensagem após cada tentativa (padrão: false)

dinho_get_test_status

Obtém status completo e detalhes da última falha, incluindo screenshot e sugestão de correção gerada por IA.

Parâmetros:

  • testId (obrigatório) — ID do teste
  • includeHistory (opcional) — Incluir as últimas 10 execuções para análise de tendência (padrão: false)

Retorna suggestedFixPrompt — cole no seu editor de IA para corrigir o teste.


dinho_update_test

Atualiza um teste existente — script, schedule, nome, descrição ou estado ativo.

Parâmetros:

  • testId (obrigatório) — ID do teste
  • name (opcional) — Novo nome
  • description (opcional) — Nova descrição
  • playwrightScript (opcional) — Script corrigido
  • schedule (opcional) — "1h" | "6h" | "24h"
  • enabled (opcional) — false para desativar sem deletar

dinho_pause_tests

Pausa todos os testes de um projeto por 1–60 minutos. Use antes de um deploy para evitar alertas falsos. Os testes retomam automaticamente ao fim da pausa.

Parâmetros:

  • projectId (obrigatório) — ID do projeto
  • durationMinutes (obrigatório) — Duração da pausa em minutos (1–60)
  • reason (opcional) — Motivo da pausa (ex: "Deploy v2.3.0")

dinho_delete_test

Deleta permanentemente um teste e todo seu histórico. Irreversível — prefira dinho_update_test com enabled: false se quiser reativar depois.

Parâmetros:

  • testId (obrigatório) — ID do teste
  • confirm (obrigatório) — Deve ser true para confirmar. Nunca passe true sem confirmação explícita do usuário.

Comandos slash

Os comandos slash são fluxos conversacionais guiados disponíveis em editores que suportam prompts MCP (Claude Code, Codex, Cursor, Antigravity).

| Comando | O que faz | |---------|-----------| | /dinho-create-test | Faz as perguntas certas, gera o script e valida — modo conversacional | | /dinho-fix-test | Diagnostica um teste falhando, propõe diff e confirma antes de salvar | | /dinho-onboarding | Configura o Dinho do zero: projeto, conta de teste, flag e primeiro teste | | /dinho-diagnose | Diagnóstico geral: lista todos os testes falhando e propõe correções | | /dinho-setup-project | Cria conta de teste, flag is_synthetic_test e 3 testes críticos de uma vez |

Exemplos no Claude Code:

/dinho-create-test url=https://meuapp.com feature=login
/dinho-fix-test testId=550e8400-e29b-41d4-a716-446655440000
/dinho-onboarding