Skip to main content
Glama
jonathan-ponciano

tuxedo-qa

tuxedo-qa

Servidor MCP que permite ao Claude, Gemini e outros assistentes de IA compatíveis com MCP criar, rodar, autocorrigir e monitorar testes Playwright do seu app — com dashboard local, cofre de credenciais e página pública de status.

Landing page e documentação →

O que é

O tuxedo-qa expõe 16 ferramentas MCP que cobrem todo o ciclo de vida de uma suíte de testes sintéticos: escrever specs em linguagem natural, rodar sob demanda ou por agendamento, autocorrigir falhas, acessar ambientes de staging protegidos por headers, e expor os resultados numa página pública de status — tudo conduzido por uma conversa com seu assistente de IA, sem precisar de pipeline de CI.

Veja a referência completa das ferramentas e casos de uso na landing page.

Subagent do Claude Code

O instalador também registra o subagent tuxedo-qa-tester (globalmente, em ~/.claude/agents/) — ele já sabe as 16 ferramentas, as convenções de teste do projeto (usar o helper de credenciais em vez de senha fixa, brasil.ts pra CPF/CNPJ, human-loop.ts pra 2FA) e quando usar run_until_pass vs. corrigir manualmente. O Claude Code aciona ele sozinho quando a tarefa é sobre testes/QA; não precisa chamar por nome. (Só Claude Code por enquanto — o Gemini CLI não tem esse mecanismo de subagents ainda.)

Related MCP server: Limetest MCP Server

Como começar

Instalador de um comando só — clona/atualiza, builda, e registra automaticamente no Claude Code e/ou Gemini CLI (o que você tiver instalado):

curl -fsSL https://raw.githubusercontent.com/jonathan-ponciano/sts-tools-mcp-tuxedo-qa/main/install.sh | bash

Instala em ~/tuxedo-qa por padrão (mude com TUXEDO_QA_DIR=/outro/caminho). Rodar de novo atualiza a instalação existente — seguro de repetir.

git clone https://github.com/jonathan-ponciano/sts-tools-mcp-tuxedo-qa.git
cd sts-tools-mcp-tuxedo-qa
npm install
npm run build

Registre como servidor MCP. No Claude Code (escopo user = disponível em todos os projetos):

claude mcp add tuxedoqa --scope user -- node "$(pwd)/dist/index.js"

No Gemini CLI (sem -- antes do comando — sintaxe diferente do Claude Code):

gemini mcp add tuxedoqa node "$(pwd)/dist/index.js" --scope user

Opcionalmente, inicie o dashboard local:

npm run dashboard
# → http://localhost:3131

Monitorando mais de um app/cliente

Uma instalação só do tuxedo-qa serve quantos projetos você quiser, cada um completamente isolado (testes, credenciais, schedule, histórico próprios), com um dashboard só pra ver e gerenciar todos eles juntos. A ideia:

  • Cada projeto tem sua própria conexão MCP (o Claude/Gemini "conectado" naquele projeto específico só enxerga e mexe nos testes daquele projeto).

  • O dashboard (npm run dashboard) não pertence a nenhum projeto — ele enxerga todos ao mesmo tempo, com um seletor pra trocar de contexto.

  • O scheduler (monitoramento automático) roda dentro do dashboard e cuida de todos os projetos ao mesmo tempo, cada um no seu próprio horário.

1. Registrar um novo projeto

Rode o instalador de novo, passando um slug em TUXEDO_QA_PROJECT (letras, números, -/_). Ele reaproveita a mesma instalação (mesmo clone, mesmo node_modules) e só registra uma nova conexão MCP:

TUXEDO_QA_PROJECT=fretebras bash install.sh
# → registra o servidor MCP "tuxedoqa-fretebras"

TUXEDO_QA_PROJECT=xtagger bash install.sh
# → registra o servidor MCP "tuxedoqa-xtagger"

Repita pra cada projeto/cliente novo. Os dados de cada um ficam isolados em projects/<slug>/ dentro da instalação (~/tuxedo-qa/projects/fretebras/, ~/tuxedo-qa/projects/xtagger/, etc.) — testes, credenciais, schedule e histórico nunca se misturam entre projetos.

2. Usar cada projeto pelo Claude/Gemini

Depois de registrado, abra uma conversa e escolha a conexão MCP certa pra cada projeto (tuxedoqa-fretebras quando estiver falando sobre o Fretebras, tuxedoqa-xtagger pro xtagger). Cada uma só cria/roda/lê testes do seu próprio projeto — não tem como um misturar com o outro por acidente.

3. Ver tudo junto no dashboard

Suba o dashboard uma vez só (ele não precisa de TUXEDO_QA_PROJECT nenhum — enxerga todos sozinho):

npm run dashboard
# → http://localhost:3131

Na aba Monitor tem uma visão geral com todos os projetos (quantos testes, uptime, o que tá rodando agora). Clicar num projeto ali — ou usar o seletor no topo da página — troca o contexto do resto do dashboard (abas Testes, Credenciais, Proteção, Status Page) pra aquele projeto específico. É o mesmo dashboard, só muda o que ele mostra.

4. Monitoramento automático

O scheduler roda dentro do processo do dashboard e verifica todos os projetos a cada minuto — não importa qual está selecionado na tela no momento. Se fretebras tem um teste agendado a cada 1h e xtagger tem um a cada 6h, os dois rodam nos seus próprios horários, de forma independente, enquanto o dashboard estiver de pé.

Sem TUXEDO_QA_PROJECT

Se você só tem um projeto, não precisa mexer em nada disso — sem essa variável, tudo funciona no modo padrão (um projeto só, sem namespace), exatamente como antes.

Desenvolvimento

npm run dev         # roda o servidor MCP com tsx (sem build)
npm run dashboard    # dashboard em modo dev
npm test             # roda a suíte Playwright diretamente

Navegador headless vs. visível

Por padrão, todo teste roda headless — o Chromium abre em background, sem janela nenhuma na tela. Pra acompanhar visualmente o que o teste está fazendo (útil pra debugar um fluxo novo), basta passar a flag PWHEADED=1 antes do comando:

npx playwright test                # headless (padrão)
PWHEADED=1 npx playwright test     # abre o navegador visível
PWHEADED=1 npm run dev             # mesma flag funciona rodando via o servidor MCP

Isso vale pra qualquer execução — manual, via dashboard, ou disparada pelo Claude/Gemini com run_tests/run_until_pass/create_test — porque todas passam pelo mesmo runner (src/lib/playwright-runner.ts), que lê playwright.config.ts.

Licença

MIT

Available Tools

9 tools
delete_credentialC

Delete a named credential set.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCredential set name to delete

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states it deletes, without mentioning whether deletion is irreversible, requires permissions, handles errors, or returns any confirmation. This is insufficient for a destructive action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no extraneous words. It is appropriately concise for a simple delete operation, though could be slightly more informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is destructive, has no annotations, and no output schema, the description is incomplete. It does not explain return values, error conditions, or confirm success, which are important for agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add any additional meaning beyond what the schema already provides for the 'name' parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete') and the resource ('credential set'), with the qualifier 'named'. It is specific and unambiguous, but does not differentiate from sibling tool 'delete_test'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., 'delete_test'). No prerequisites, exclusions, or context for appropriate use are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_testA

Permanently delete a test and its history. Irreversible — prefer update_test with enabled: false to deactivate.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTest file name (with or without .spec.ts)
confirmYesMust be true to confirm deletion. Never pass true without explicit user confirmation.

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes the irreversible destructive nature, compensating for missing annotations. Could add more details about side effects like history removal, but sufficient for a delete tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler, front-loaded with purpose and immediate warning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete tool with two parameters, the description covers purpose, behavior, usage guidance, and parameter semantics completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers parameters fully, and description adds critical behavioral guidance for the confirm parameter, stating it must never be true without user confirmation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool deletes a test and its history permanently, and distinguishes from update_test as a preferred alternative for deactivation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when not to use (prefer deactivation) and warns about irreversibility, providing clear usage boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pair_debug_contextA

Get the recorded timeline of the active pair-debugging session so far (console, network, errors, navigations, actions). Call this whenever the user says something looks wrong, to see exactly what just happened.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral disclosure. It indicates a read-only operation (get recorded timeline) and specifies the scope (active session) and data types. It does not mention side effects, but none are expected for a timeline retrieval.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first defines the tool, the second provides usage guidance. No extraneous information. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and no annotations, the description fully explains what the tool does and when to use it. The sibling list provides additional context. It is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and schema coverage is 100%. The description adds no parameter information since none exist, which is appropriate. The baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a timeline of the active pair-debugging session, listing specific data types (console, network, errors, navigations, actions). This distinguishes it from sibling tools like start_pair_debug (begins session) and get_status (general status).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises calling this tool 'whenever the user says something looks wrong' to see what just happened. While it does not mention when not to use or alternatives, the guidance is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_statusA

Get overall suite status, or per-test status with failure details and fix suggestion when test_name is provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
test_nameNoTest file name to get per-test status. Omit for overall suite status.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description bears full transparency burden. It correctly indicates a read operation with no side effects, and mentions returned data (failure details, fix suggestion). However, it omits potential behavioral details like authorization requirements or rate limits, though the tool's simplicity diminishes the need.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-structured sentence conveys all essential information without redundancy. Every phrase adds value: the dual-mode behavior and the conditional output details are precisely stated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no output schema, the description is complete. It explains both invocation modes and the nature of returned data (status, failure details, fix suggestion). No further context is needed given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds meaningful context beyond the schema: it explains when to omit the parameter (for overall status) and that providing it yields failure details and fix suggestions, enhancing the parameter's semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves overall suite status or per-test status with failure details and fix suggestions when a test name is provided. It uses a specific verb ('get') and resource ('status'), effectively distinguishing it from sibling tools that perform mutations (e.g., delete_test, pause_tests).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: omit test_name for overall status, provide it for per-test details. While it doesn't explicitly state when not to use it or compare to alternatives, the context is sufficient for an agent to decide based on the optional parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pause_testsA

Pause all tests for up to 60 minutes. Tests resume automatically. Use before deploys to avoid false alerts.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoWhy tests are being paused (e.g. "Deploy v2.3.0")
duration_minutesYesHow long to pause tests, in minutes (1–60)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries the full burden. It discloses auto-resume and duration limit, but lacks details on side effects (e.g., impact on running tests) and prerequisites. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each providing unique value: action+constraint, behavior, and use case. No redundant or unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple pause tool with no output schema, the description covers purpose, duration constraint, auto-resume, and usage context. However, it omits behavior on repeated calls or early resumption, which could be important.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description repeats the duration limit already in schema but adds no new meaning beyond the schema's own descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Pause' and resource 'all tests', with a specific scope (up to 60 minutes). It distinguishes from sibling tools which involve deletion, reading, running, or updating tests.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use before deploys to avoid false alerts.' It implies when to use but does not explicitly state when not to use or name alternatives. The context is clear enough for a focused tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_testC

Read the contents of a test file.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTest file name (with or without .spec.ts)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must fully convey behavior. While 'read' implies a read-only operation, it does not explicitly state that it is non-destructive or disclose any side effects, permissions, or output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at one sentence, but it could be more structured or informative. It is not wasteful but lacks front-loaded key details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, no output schema), the description is minimally complete. However, it could clarify the output type or context, making it adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters (only 'name') with a clear description. The tool's description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action ('Read') and the resource ('test file'), distinguishing it from siblings like delete_test and update_test. It is specific enough despite being brief.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as delete_test or update_test. The description lacks any context for selecting the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_until_passB

Run a test repeatedly, applying automatic fixes on each failure, until it passes or max attempts is reached.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTest file name (with or without .spec.ts)
max_attemptsNoMax run+fix iterations (default: 3, max: 5)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions applying 'automatic fixes' but does not explain what these entail (e.g., modifying source files, updating fixtures). It also does not disclose side effects, authentication requirements, or rate limits. This lack of detail could lead to unexpected behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 17 words, packing key information (repeated runs, auto fixes, termination conditions) without any redundancy. It is front-loaded with the main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is incomplete for a tool that performs an automated fix loop. It does not explain what happens on success/failure, what kind of output to expect (e.g., pass/fail status, logs), or error handling. Agent is left with significant unknowns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and both parameters ('name' and 'max_attempts') have adequate descriptions in the schema. The description adds the context of 'automatic fixes' but does not enhance parameter understanding beyond what the schema provides. No additional value over baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: running a test repeatedly with automatic fixes until it passes or max attempts. It uses specific verb 'Run' and resource 'test' with clear failure condition, distinguishing it from sibling tools like 'read_test' (read-only) and 'update_test' (direct update).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when wanting to automatically fix and retry a failing test, but it does not specify when to avoid using it or offer alternatives. For example, it does not mention that 'start_pair_debug' might be more appropriate for debugging interactions. Usage is clear but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_pair_debugA

Start a pair-debugging session: opens a visible browser at the given URL for the human to drive by hand. Records console messages, network errors, page exceptions, navigations, and their clicks/fills with timestamps as they go, so you can correlate what they did with what broke. Use when the user wants to walk through a flow live and have you spot the bug, rather than writing a scripted test upfront.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to open in the visible browser — the flow entry point the human will drive by hand (e.g. the login page).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description fully discloses behavior: opens visible browser, records console messages, network errors, page exceptions, navigations, clicks/fills with timestamps. Useful for agent to understand side effects. Lacks details on session termination or data retrieval.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, followed by details. No unnecessary words. Efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key behaviors and use case. No output schema, but description implies session recording. Could mention how to access recorded data (e.g., via get_pair_debug_context) or end session, but overall sufficient for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (1 param with description). Description adds that url is the 'flow entry point the human will drive by hand,' which aligns with schema. Minimal additional value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it starts a pair-debugging session with a visible browser, records detailed events, and contrasts with scripted tests. Verb 'start' and resource 'pair-debugging session' are specific. Distinguishes from siblings like 'get_pair_debug_context' and 'read_test'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use when the user wants to walk through a flow live...rather than writing a scripted test upfront.' Provides clear context for when to use vs. alternative approach (scripted tests). Could be more specific about prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_testB

Update a test — script, display name, description, schedule, or enabled state.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTest file name (with or without .spec.ts)
enabledNoSet false to disable without deleting
scheduleNoRun frequency (1h for critical flows)
test_codeNoNew full Playwright test code
validatedNoSet true ONLY after a human has manually run this test and confirmed the result looks right — this is what allows the scheduler/webhook to pick it up automatically. Never set this on your own inference (e.g. "the dry-run passed so it must be fine"); ask the user first. Ignored if test_code is also being changed in this same call — a code edit always resets validated to false, since the edited version hasn't been reviewed yet.
credentialNoCredential set label to inject as credentials.* in the test (e.g. "meuapp-prod")
descriptionNoWhat the test verifies
display_nameNoHuman-readable name for the test

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden for behavioral disclosure. It does not mention side effects (e.g., impact on running tests), authorization requirements, or mutation semantics. The parameter descriptions in the schema cover some behavioral details (e.g., validated parameter), but the main description lacks transparency on overall behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence that front-loads the purpose and lists key updatable fields efficiently, with no redundant or extraneous content. Ideal length for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the primary update targets but lacks completeness given the complexity: 8 parameters, conditional behavior (e.g., validated ignored if test_code changed), no output schema, and no information on whether updates are partial or full. Sibling tools are not addressed for contextual guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions, meeting baseline expectation. The main description adds limited value beyond restating some of the field names (script, display name, description, schedule, enabled state). It does not cover all parameters (e.g., validated, credential) or explain interdependencies already present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action 'Update a test' and lists the updatable fields (script, display name, description, schedule, enabled state). It distinguishes from sibling tools like delete_test, read_test, and run_until_pass, though it omits mentioning the 'validated' and 'credential' parameters from the schema, which are also updatable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like delete_test or read_test. The description does not mention prerequisites (e.g., test must exist) or conditions for use, leaving the agent without context on appropriate invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • First observeddelete_credential
    • First observeddelete_test
    • First observedget_pair_debug_context
    • First observedget_status
    • First observedpause_tests
    • First observedread_test
    • First observedrun_until_pass
    • First observedstart_pair_debug
    • First observedupdate_test

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: credentials, tests (CRUD except create), debugging sessions, status, and pausing. No overlapping purposes.

Naming Consistency4/5

Most tools follow verb_noun pattern (e.g., delete_test, get_status). 'run_until_pass' deviates slightly as a verb phrase, but overall convention is consistent and clear.

Tool Count5/5

9 tools is well-scoped for a test management server, covering operations like test editing, debugging, status checks, and credential management without excess.

Completeness3/5

Missing a create_test tool, which is a notable gap for full lifecycle management. Also lacks a simple 'run test' command independent of the auto-fix loop. However, debugging features are well-covered.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jonathan-ponciano/sts-tools-mcp-tuxedo-qa'

If you have feedback or need assistance with the MCP directory API, please join our Discord server