Sentinela
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sentinelarun a full security audit of this project and show the risk score"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🛡️ Sentinela
Infraestrutura de Segurança e Auditoria de Código para Agentes de IA via Model Context Protocol (MCP)
🎯 Visão Geral
O Sentinela é uma solução corporativa de auditoria estática de segurança e conformidade arquitetural projetada para ser consumida diretamente por agentes de IA (Claude, Gemini, Cursor, Antigravity, Windsurf).
Operando via protocolo padrão MCP (Model Context Protocol), ele atua como um inspetor de segurança determinístico: analisa código, configurações e dependências em milissegundos, gerando relatórios de risco, checklists de conformidade e sugestões acionáveis de remediação.
32 Ferramentas MCP: 24 analisadores especializados por categoria de vulnerabilidade + 8 ferramentas de orquestração, diff e validação de correções.
Auditoria 100% Determinística: Sem alucinações ou variações estocásticas — regras precisas com extração de arquivo, linha e snippet de evidência.
Stack-Aware: Identifica automaticamente a linguagem, framework, ORM e banco de dados do projeto auditado para adaptar diagnósticos e recomendações.
Privacidade Absoluta: Nenhuma linha de código ou metadado sai da sua infraestrutura ou máquina local.
Related MCP server: VibeGuard MCP Server
🔒 Privacidade & Segurança
O Sentinela foi desenvolvido especificamente para atender requisitos corporativos e ambientes restritos:
Execução Local (On-Premise / Stdio): Todas as análises ocorrem localmente no processo do servidor MCP via
stdio.Zero Telemetria / Sem Conexões Externas: Não envia dados para nuvens de terceiros ou servidores externos.
Seguro para Código Proprietário: Totalmente compatível com projetos confidenciais e ambientes com políticas rígidas de compliance (LGPD, GDPR, SOC 2).
🚀 Como Configurar no seu Cliente MCP
O Sentinela conecta-se diretamente ao seu agente ou IDE compatível com MCP através do comando sentinela.
Claude Desktop
No seu arquivo de configuração claude_desktop_config.json:
{
"mcpServers": {
"sentinela": {
"command": "sentinela"
}
}
}Cursor / Antigravity / Windsurf / VS Code
Adicione às configurações de MCP do seu ambiente:
{
"name": "sentinela",
"command": "sentinela"
}⚡ Prompts & Slash Commands (/)
Clientes que suportam MCP Prompts (como Claude Desktop) expõem fluxos prontos que podem ser acionados diretamente no chat via /:
Comando | Descrição |
| Auditoria completa de segurança no projeto com relatório detalhado e score. |
| Análise focada em uma vulnerabilidade ou categoria específica (ex: |
| Orienta a correção de um finding e executa a validação determinística para confirmar que o problema foi eliminado. |
| Gera a matriz de conformidade com 24 verificações essenciais e status |
| Consulta as diretrizes e regras arquiteturais de segurança da base de conhecimento ( |
🛠️ Ferramentas Disponíveis (32 Tools)
1. Orquestração e Auditoria
Ferramenta | Descrição |
| Identifica linguagem, framework, ORM, banco de dados, auth provider e hosting da aplicação. |
| Executa todos os 24 analisadores em lote e retorna o |
| Converte a auditoria em um relatório detalhado formatado em Markdown pronto para documentação e entrega. |
| Compara dois relatórios (antes vs depois) detalhando vulnerabilidades corrigidas, novos riscos e evolução de pontuação. |
| Gera checklist de 24 pontos de segurança com verificação binária de conformidade ( |
| Consulta a base de diretrizes e regras de segurança por termo, categoria ou seção. |
2. Remediação & Validação
Ferramenta | Descrição |
| Sugere implementações seguras com exemplos práticos antes/depois ajustados à stack tecnológica do projeto. |
| Re-executa o analisador correspondente para validar de forma determinística se a correção eliminou a vulnerabilidade. |
3. Analisadores Especializados (24 Tools)
Cada analisador pode ser invocado de forma granular pelo agente:
sentinela_analyze_secrets: Chaves de API, segredos, senhas e tokens expostos no código.sentinela_analyze_xss: Vulnerabilidades de Cross-Site Scripting (dangerouslySetInnerHTML,innerHTML,v-html).sentinela_analyze_deserialization: Desserialização e execução de código insegura (eval,Function,pickle,unserialize).sentinela_analyze_logging: Vazamento de credenciais, PII ou informações sensíveis em logs.sentinela_analyze_error_messages: Exposição de stack traces ou mensagens técnicas em respostas de API.sentinela_analyze_timing: Comparações de segredos suscetíveis a ataques de temporização (Timing Attacks).sentinela_analyze_identity: Parâmetros de identidade (user_id) confiados a partir de payload do cliente.sentinela_analyze_mutations: Operações de mutação de dados sem validação de identidade do usuário.sentinela_analyze_dependencies: Ausência de lockfiles imutáveis e configurações de monitoramento automatizado.sentinela_analyze_headers: Ausência de cabeçalhos de segurança HTTP essenciais (CSP, HSTS, X-Frame-Options, etc.).sentinela_analyze_cors: Configurações de CORS permissivas com credenciais ativas.sentinela_analyze_tests: Verificação de cobertura e existência de testes de segurança.sentinela_analyze_secrets_mgmt: Gestão segura de variáveis de ambiente e modelos de.env.example.sentinela_analyze_request_limits: Limites de tamanho de payload HTTP e proteção contra exaustão de recursos.sentinela_analyze_idor: Vulnerabilidades de referência direta insegura a objetos em mutações (UPDATE/DELETE).sentinela_analyze_mass_assignment: Injeção de propriedades não autorizadas via espalhamento de payload (...req.body).sentinela_analyze_error_handling: Rotas assíncronas desprotegidas e ausência de manipuladores globais de exceção.sentinela_analyze_uploads: Upload de arquivos sem validação rigorosa de tipo MIME, extensão ou tamanho.sentinela_analyze_ssrf: Requisições de rede originadas no servidor com destinos controlados pelo usuário.sentinela_analyze_redirects: Redirecionamentos abertos baseados em entradas não validadas (Open Redirect).sentinela_analyze_rate_limiting: Ausência de limitação de taxa em endpoints sensíveis (autenticação, recuperação).sentinela_analyze_auth: Algoritmos fracos de hash, tokens JWT sem expiração ou cookies sem flags de segurança.sentinela_analyze_webhooks: Endpoints de webhook sem conferência de assinatura criptográfica (HMAC) e idempotência.sentinela_analyze_input_validation: Endpoints de API sem esquemas rigorosos de validação de entrada (Zod, Yup, Joi).
💻 Desenvolvimento Local & Contribuição
Para clonar e testar o projeto localmente:
# 1. Clonar o repositório
git clone https://github.com/alissonandrade1/sentinela-mcp.git
cd sentinela-mcp
# 2. Instalar dependências
npm install
# 3. Rodar a suíte de testes
npm test
# 4. Executar em modo watch (desenvolvimento)
npm run dev
# 5. Compilar o bundle de produção
npm run buildPara diretrizes de contribuição, padrões de código e convenções de commit, consulte o arquivo CONTRIBUTING.md.
📄 Licenciamento
Distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Available Tools
32 toolssentinela_audit_authC
Audita o domínio "auth" (Seção 8). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only notes that findings are returned "estruturados"; it does not state whether the tool is read-only, whether it requires a specific project layout, what auth/permission context it needs, or how findings are shaped. "Seção 8" is unexplained jargon rather than behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no padding. The only questionable element is the unexplained "(Seção 8)" citation, which consumes space without informing the caller.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the audit inspects and roughly what comes back. "Retorna findings estruturados" is a placeholder that leaves the agent unable to predict the result or decide between this and sentinela_audit_full.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema already documents project_path as an absolute path to the project root. The description adds nothing about the parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Audita") and a scoped resource (the "auth" domain), which lets an agent distinguish it from the many sibling audit tools by domain name. The parenthetical "(Seção 8)" is an opaque internal reference that adds no usable meaning, and the neighboring identity/secrets/mutations audits make the boundary of what "auth" covers non-obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over sentinela_audit_full or overlapping siblings like sentinela_audit_identity. An agent must infer that this is the auth-scoped slice of a larger audit, but nothing states prerequisites (e.g., whether detect_stack must run first) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_corsC
Audita o domínio "cors" (Seção 19). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it only says it returns structured findings. It does not state whether the audit is read-only, whether it touches project files, what permissions or services it needs, or what the findings' severity/shape looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the audited domain and with zero wasted words. The second sentence ("Retorna findings estruturados") is mild filler but harmless.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter audit tool with no output schema, the description is minimally viable: it names the domain and says findings come back structured. It omits what a finding contains, how the audit relates to the checklist section, and whether other audits must run first.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the single project_path parameter is fully documented in the schema as an absolute path to the project root. The description adds no parameter meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Audita") and a specific resource (o domínio "cors"), plus a checklist anchor ("Seção 19"). This distinguishes it from the many sibling audit_* tools by domain, though the "Seção 19" reference is opaque without external context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to run this versus siblings like sentinela_audit_full or sentinela_audit_headers, no prerequisites (e.g. run sentinela_detect_stack first?), and no mention of ordering within an audit workflow. Only the domain name implies usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_dependenciesC
Audita o domínio "dependencies" (Seção 21). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says only that it returns structured findings, without disclosing whether the operation is read-only, what the 'dependencies' domain covers, whether it requires a build/manifest to exist, or what the findings contain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and domain, with no filler. It is efficient, though the 'Seção 21' reference is opaque to an agent without the external spec.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter audit tool with no output schema and no annotations, the description should explain the scope of the dependency audit and what 'structured findings' look like. Instead it leaves the agent with only the domain name and an external section reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single project_path parameter is fully documented in the schema as an absolute path to the project root. The description adds nothing beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: auditing the 'dependencies' domain. An agent can tell it is one domain audit among many. However it offers no differentiation from the ~28 sibling audit tools or from sentinela_audit_full, so the boundary is only inferable from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as sentinela_audit_full which presumably covers the same ground. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_deserializationC
Audita o domínio "deserialization" (Seção 28). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses only that findings are structured; it does not state that the scan is non-destructive/read-only, whether it needs prior stack detection, whether it has side effects, or any permission/rate-limit considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no waste; the domain and section are stated first. It is perhaps too terse to be maximally useful, but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter audit tool with no output schema and no annotations, the description is minimal but adequate to call it. The unexplained 'Seção 28' reference and the absence of any note on how findings relate to report/fix siblings leave gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single project_path parameter is fully documented in the schema, so the baseline is 3. The description adds no extra meaning about the path (e.g., whether it must contain a config, or relate to another tool's output).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audita) and a specific resource/domain (deserialization, Seção 28), and the domain naming naturally distinguishes it from its audit_* siblings. It does not, however, say what the audit actually inspects or what a finding covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to run this versus sentinela_audit_full (which presumably covers all domains) or the other domain audits, no prerequisites, and no sequencing hints. Usage can only be inferred from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_error_handlingC
Audita o domínio "error-handling" (Seção 31). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states only that it returns structured findings, without saying whether the operation is read-only, what 'findings' contain, whether the path must exist, or any cost/latency behavior. Minimal behavioral disclosure for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding and the purpose front-loaded. The unexplained '(Seção 31)' is the only extraneous element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should clarify what 'findings estruturados' actually contain and how they are surfaced. It leaves the return shape and behavioral profile entirely unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single project_path parameter is fully documented in the schema, so the baseline of 3 applies. The description adds nothing about the parameter (e.g., that it must point to a project root with analyzable source).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audita') and resource ('domínio error-handling'), and the domain name distinguishes it from the many sibling audit_* tools that each target a different domain. The '(Seção 31)' reference is unexplained but does not obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to run this single-domain audit versus sentinela_audit_full, nor any prerequisite or ordering (e.g., run sentinela_detect_stack first). Usage is only inferable from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_error_messagesC
Audita o domínio "error-messages" (Seção 4). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. "Retorna findings estruturados" vaguely hints at the return shape, but it omits what is inspected, whether the operation is read-only, permission requirements, and scope limits. For an audit tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the action front-loaded and no filler. The only weakness is the cryptic "(Seção 4)" aside, which consumes space without informing the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and dense sibling overlap, the description leaves too much unspecified. It never says what constitutes a finding or how this audit differs from error_handling, so an agent lacks the context needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter (project_path), which the schema already documents as the absolute project root. The description adds nothing about parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a verb ("Audita") and a resource ("domínio error-messages"), so the core action is discernible. But "Section 4" is an opaque external reference, and nothing distinguishes it from the very similar sibling sentinela_audit_error_handling. An agent cannot confidently separate the two without guesswork.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing guidance. In a family of ~25 sibling audit_* tools, the description gives no signal about how this domain overlaps with error_handling or when to pick it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_fullB
Executa auditoria completa de segurança no projeto. Retorna AuditReport com todos os findings, score e checklist.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the return contents (findings, score, checklist) but says nothing about side effects — whether it only reads the project or writes files, whether it invokes all sub-audits, scan duration, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that each earn their place: the first establishes what runs, the second what comes back. Purpose is front-loaded with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an orchestrator-level audit with no output schema and no annotations, the definition is minimally adequate. It omits the relationship to generate_report/compare_reports and get_checklist, and gives no sense of scope or cost, which an agent choosing between this and the single-concern audits would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter (project_path, 'Caminho absoluto para o diretório raiz do projeto') is already fully documented in the schema. The description adds no constraint, format, or expected-value detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Executa auditoria completa de segurança no projeto', and names the return artifact (AuditReport). The adjective 'completa' implicitly contrasts with the granular sibling audits (sentinela_audit_secrets, sentinela_audit_xss, etc.), but the differentiation is left to inference rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not statement. The word 'completa' implies this is the umbrella scan to run when you want everything, versus the ~25 single-concern sibling audits, but the agent must infer that routing decision rather than being told it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_headersC
Audita o domínio "headers" (Seção 11). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only that it 'returns structured findings', with no detail on what it examines, whether it's read-only, permission needs, or side effects. An audit is presumably a safe read, but the description never confirms this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two very short sentences, front-loaded with the resource being audited. Every sentence is terse and relevant, though 'Returns structured findings' is thin rather than wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what the findings contain, yet it only says 'structured findings'. The '(Seção 11)' reference points to an external document the agent cannot resolve, and no behavioral context compensates for the absent annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter (project_path) fully documented in the schema. The description adds no meaning beyond that, which is acceptable baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: audits the 'headers' domain. The domain naming ('headers', Section 11) distinguishes it from siblings like sentinela_audit_xss or sentinela_audit_secrets. However, the '(Seção 11)' reference is opaque and the scoping vs sentinela_audit_full is not clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this domain-specific audit vs the full audit (sentinela_audit_full) or the other ~20 domain audits. The agent must infer usage entirely from the name. No exclusions or prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_identityC
Audita o domínio "identity" (Seção 2). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only says it returns structured findings. It does not state that the operation is read-only, whether it writes any report artifacts, what it requires from the project, or how findings are shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the scoping statement front-loaded ahead of the return-value note. Efficient, though 'Seção 2' is an opaque reference that consumes space without informing the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations means the description must supply behavioral and return context, but 'Retorna findings estruturados' is a placeholder rather than a description of findings. For an audit tool among many siblings, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single project_path parameter, so the schema already documents it fully. The description adds no parameter-level detail beyond what the schema provides, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb ('Audita') and a named resource/domain ('identity', Seção 2), so an agent can tell it apart from the secrets, XSS, or CORS audit siblings. However, it does not clarify how the 'identity' domain differs from the closely related sentinela_audit_auth sibling, and 'Seção 2' is an unexplained internal reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives despite a crowded family of ~24 audit siblings. The agent must infer that this audits the identity domain and cannot tell from the text whether audit_auth or audit_full should be preferred or combined with it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_idorC
Audita o domínio "idor" (Seção 6). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only says 'Retorna findings estruturados', giving a vague sense of the return shape but nothing about whether the tool is read-only, what it scans, prerequisites, or destructive side effects. For an audit tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded and no filler. It is efficient, though arguably too terse rather than genuinely well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a security audit tool with no output schema and no annotations, the description omits what the audit actually checks, what a 'finding' contains, and any prerequisites (e.g., whether detect_stack must run first). The unexplained 'Seção 6' citation leaves the agent without the context needed to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter (project_path) is fully documented in the schema. The description adds no additional meaning about the path, so the baseline of 3 applies — the schema does the work and the description neither helps nor hurts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audita') and resource ('o domínio idor'), and the domain name distinguishes it from siblings like sentinela_audit_xss or sentinela_audit_auth. The '(Seção 6)' reference adds a checklist anchor, though it isn't explained. Clear enough that an agent knows this audits IDOR specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing information. It never explains how it relates to sentinela_audit_full (which presumably subsumes it) or sentinela_audit_auth/mass_assignment, which touch adjacent concerns. The 'Seção 6' hint gestures at a checklist but gives no actionable selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_input_validationC
Audita o domínio "input-validation" (Seção 3). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses that structured findings are returned, but says nothing about whether the audit is read-only, what it reads, whether the project must be pre-scanned, or any rate/permission constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero waste and the domain identifier front-loaded. It is efficient, though arguably too terse to be genuinely helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations mean the description must cover behavior and return format. It only gestures at 'structured findings' without describing their shape, and offers no usage context for navigating 30+ sibling audit tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (project_path) with 100% schema description coverage, so the schema already fully documents it. The description adds no additional meaning about the path, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audita') and a specific resource/domain ('input-validation', Section 3), and says it returns structured findings. It is distinguishable from the many sibling audit_* tools by the named domain, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, no prerequisites, and does not point to alternatives such as sentinela_audit_full for whole-project coverage or sentinela_generate_report for output. Usage context is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_loggingC
Audita o domínio "logging" (Seção 22). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it only says it "returns structured findings". It does not state that the operation is read-only, whether it writes report files, what the findings contain, or any execution constraints. Since no output schema exists either, this return-value statement is the only behavioral hint and it is very thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the audited domain front-loaded ahead of the return-value note. Nothing is wasted, though the terse "Seção 22" reference is opaque without supporting documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter audit tool this is minimally adequate: the agent knows what domain is audited and that findings are returned. However, with no annotations and no output schema, the description should say more about the read-only nature of the audit and the shape of the findings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ("Caminho absoluto para o diretório raiz do projeto"), so the schema already documents it fully and the baseline of 3 applies. The description adds no extra meaning about project_path, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ("Audita") and a specific resource/domain ("logging", qualified as Seção 22), which lets an agent distinguish it from the other sentinela_audit_* siblings at a glance. It does not, however, contrast itself with sentinela_audit_full or explain what makes the logging domain distinct, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to choose this tool over sentinela_audit_full or any overlapping sibling. Usage is only implied by the domain name in the title; no prerequisites, sequencing, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_mass_assignmentB
Audita o domínio "mass-assignment" (Seção 20). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It reveals nothing about whether the scan is read-only relative to the target project, expected runtime, whether it needs installed dependencies or a specific stack, or what a 'finding' contains. 'Retorna findings estruturados' is the only behavioral hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the domain scope front-loaded and no filler. The second sentence about structured findings is brief but partly redundant with the naming convention; still, nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain the safety profile, what checks the mass-assignment audit performs, and how findings are shaped. It does none of these, leaving an agent unable to predict results or distinguish this from the broader audit_full sibling beyond the label.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (project_path), and schema description coverage is 100%, so the schema already documents it as an absolute path to the project root. The description adds no additional meaning, which matches the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audita') and resource/domain ('mass-assignment', Seção 20), which cleanly distinguishes it from the sibling domain audits like sentinela_audit_xss or sentinela_audit_idor. It also notes the return type ('findings estruturados'). It stops short of 5 because it never explains how this domain relates to the overlapping sentinela_audit_mutations or the catch-all sentinela_audit_full.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer 'call this when you need the mass-assignment check' from the domain name. There is no explicit when-to-use, when-not-to-use, or routing advice against sentinela_audit_full or sentinela_audit_mutations, which cover adjacent ground.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_mutationsC
Audita o domínio "mutations" (Seção 2). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that it returns structured findings; it says nothing about what is inspected, whether it mutates the project, permissions needed, or how findings are shaped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and scope, with no filler. It is lean rather than padded, though it is arguably too terse for the missing guidance rather than over-long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter audit tool with no output schema, the description should explain the finding structure and the audit's scope. It gestures at "findings estruturados" but leaves the return shape and domain coverage undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single parameter, so the schema already documents project_path fully. The description adds no syntax or interpretation beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Audita") plus the resource ("domínio mutations, Seção 2"), which distinguishes it from the ~20 sibling audit tools that each target a different security domain. The purpose is clear enough to select it over the other audit_* tools, though "mutations" would benefit from a one-line definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing to alternatives such as sentinela_audit_full or sentinela_audit_mass_assignment. The domain label is the only selector, and it is left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_rate_limitingC
Audita o domínio "rate-limiting" (Seção 5). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read/audit operation ('Retorna findings estruturados') but discloses nothing about authorization requirements, whether it modifies project state, or how long it may take.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the audited domain and ending with the return type. Efficient, with no wasted text, though it is so terse it sacrifices needed context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an audit tool with no annotations and no output schema, the description does not explain the structure of the 'findings' it claims to return, nor the operational context (read-only vs mutating, permissions). It leaves the agent under-informed relative to the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single required parameter project_path is fully documented in the schema, so the baseline of 3 applies. The description adds nothing about parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Audita) and the specific domain/resource (rate-limiting, Seção 5), and it maps cleanly onto the sentinela_audit_* sibling naming convention, so the agent can distinguish it from the other audit tools without guessing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance. It never states whether this should run standalone or as part of sentinela_audit_full, nor what prerequisites apply. Nothing routes the agent between this and the many similar audit siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_redirectsC
Audita o domínio "redirects" (Seção 24). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it says nothing about whether the audit is read-only, what redirect checks are performed, whether it needs network access, or what severity model the findings use. "Retorna findings estruturados" gestures at output but discloses no behavior an agent could rely on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the scope (domain being audited) front-loaded ahead of the return-value note. No filler, though "(Seção 24)" consumes space without conveying anything to an agent that lacks the reference document.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must explain the return shape; "findings estruturados" is too vague to tell an agent what fields, severity levels, or counts come back. An audit tool whose downstream reporting depends on finding structure needs more than this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100%, so the schema fully documents project_path as the absolute project root. Per the baseline rule for high coverage, a 3 is correct; the description adds nothing about the parameter but nothing is missing either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Audita") and a specific resource (the "redirects" domain), which cleanly distinguishes it from the ~28 sibling audit_* tools that each target a different domain. The opaque "(Seção 24)" reference adds no clarity without an external checklist, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to pick this tool over sentinela_audit_full or the other domain audits, and no prerequisites beyond the required project_path. Usage must be inferred entirely from the tool name and sibling family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_request_limitsC
Audita o domínio "request-limits" (Seção 32). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only says it "returns structured findings" – no indication of read-only nature, whether it scans the filesystem, execution cost, or what a finding contains. This is a significant gap for an audit tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no padding. Terse but efficient; nothing is wasted, though it is arguably under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an audit tool with no output schema and no annotations, the description should at least explain what the "request-limits" domain covers. It leaves the domain semantics and the meaning of "findings" entirely undefined, which is inadequate given the crowded sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, so the schema fully documents project_path. The description adds no additional parameter meaning, which is acceptable at this coverage level but earns only the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Audita") and resource (the "request-limits" domain, Section 32), which is better than a tautology. However, the domain name is ambiguous next to the sibling sentinela_audit_rate_limiting, and the description does nothing to differentiate the two, leaving an agent unsure which to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives. With 30+ sibling audit tools, the description gives the agent no basis for choosing this domain over rate limiting or the full audit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_secretsC
Audita o domínio "secrets" (Seção 13). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says findings are returned in structured form; nothing is disclosed about read-only nature, scope of the scan, severity output, permissions, or behavior on projects without secrets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the audited domain and followed by the return shape. No filler, though the parenthetical section reference is of marginal value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain what the findings contain and how this audit differs from sentinela_audit_secrets_mgmt. Neither is present, leaving the agent unable to confidently select or interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter (project_path) is fully documented in the schema, so the baseline is 3. The description adds no additional meaning about the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource ("Audita o domínio 'secrets'"), so the basic purpose is legible. However, it fails to distinguish itself from the near-identically named sibling sentinela_audit_secrets_mgmt, and the opaque "(Seção 13)" reference adds no discriminating information for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other audit_* siblings, and critically no clarification against sentinela_audit_secrets_mgmt. No prerequisites, exclusions, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_secrets_mgmtC
Audita o domínio "secrets-mgmt" (Seção 26). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, yet it only says findings are returned structured. It does not state whether the tool is read-only, what permissions or setup it requires, or how it relates to the broader audit tools. For an audit operation this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler, and the domain scope leads the description. It is efficient, though the terseness leaves behavior under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a security-audit tool with no output schema and no annotations, the description is too thin: it never explains what checks the 'secrets-mgmt' domain covers or when it should be preferred over 'sentinela_audit_secrets'. An agent lacks enough context to choose or configure it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so 'project_path' is already fully documented as an absolute path to the project root. The description adds no extra meaning beyond the schema, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audita') and resource (the 'secrets-mgmt' domain, cross-referenced to Section 26), which lets an agent tell it apart from generic siblings. However, it never clarifies how it differs from the closely-named sibling 'sentinela_audit_secrets', so the differentiation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives such as 'sentinela_audit_secrets' or 'sentinela_audit_full'. The agent must infer usage purely from the domain name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_ssrfC
Audita o domínio "ssrf" (Seção 23). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states it returns structured findings but discloses nothing about read-only behavior, permissions required, whether it scans the filesystem vs. running app, or rate/scope limits for an audit operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the domain and scope, with no filler. Slightly terse to the point of under-specification, but structurally clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter audit tool with no output schema, the description minimally covers the return ('structured findings') and scope, but omits what findings contain, severity model, or relationship to sentinela_generate_report. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single project_path parameter is fully documented in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audita') and resource ('domínio ssrf'), and the parenthetical 'Seção 23' signals a scoped audit domain. It implicitly distinguishes itself from siblings via the domain name, but never explicitly contrasts with other audit_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing to alternatives such as sentinela_audit_full or sentinela_get_rules. Usage is only implied by the domain label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_testsC
Audita o domínio "tests" (Seção 14). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only that it returns structured findings; it says nothing about read-only behavior, whether it modifies the project, what it reads, or whether findings are rule-based. The Section 14 reference hints at a ruleset but is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and the return type, with no filler. It is efficient, though its brevity veers toward under-specification rather than crisp completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an un-annotated audit tool with no output schema and no explanation of what the "tests" domain means or what findings contain, the definition leaves the agent guessing. It should say more given the crowded sibling set and lack of structured behavioral hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter at 100% schema coverage, and the schema fully documents project_path as an absolute root path. The description adds nothing beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audita) and resource (dom nio "tests", Seo 14), which lets it sit alongside the domain-specific sentinela_audit_* siblings consistently. However, it never clarifies what the "tests" domain actually covers for a security audit, and it does not distinguish itself from sentinela_audit_full, which likely subsumes it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. With ~30 sibling audit tools plus sentinela_audit_full, an agent has no signal telling it when to pick this one over the full audit or any other domain audit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_timingC
Audita o domínio "timing" (Seção 29). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. Beyond "returns structured findings" it says nothing about depth of analysis, whether the audit is read-only, what side effects or permissions are involved, or what findings look like. The '(Seção 29)' pointer is unverifiable without external documentation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the domain and return shape front-loaded; nothing is padded. Briefness here edges toward under-specification rather than waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the only source of behavioral and return information, yet it explains neither what the "timing" audit inspects nor the structure of the findings. An agent cannot confidently predict the tool's output or coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter, so the schema fully documents project_path as the absolute project root. The description adds no format, constraint, or meaning beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Audita") and resource (the "timing" domain), which is enough to distinguish it from generic siblings like sentinela_audit_full. However it never explains what the timing domain actually covers (timing attacks, race conditions, clock issues), so the scope remains opaque.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus the ~25 other audit siblings, nor whether it complements or overlaps sentinela_audit_full. Usage must be entirely inferred from the domain name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_uploadsC
Audita o domínio "uploads" (Seção 10). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says only that it returns structured findings; it does not state that it is read-only, whether it modifies or writes anything to the project, what authentication or environment it needs, or whether it is expensive/slow. Only the return-shape hint ("findings estruturados") adds anything.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding, and the resource being audited is front-loaded. The "(Seção 10)" parenthetical is cryptic but costs almost nothing in length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an audit tool with no annotations and no output schema, the description leaves important gaps: it never says the operation is non-destructive, what class of issues the "uploads" domain covers, or how findings are structured/aggregated. An agent can invoke it, but cannot predict its behavior or cost.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter (project_path), which the schema already documents as the absolute project root. The description adds nothing about the parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: audits the "uploads" domain, and it names that domain explicitly, which distinguishes it from the ~30 sibling sentinela_audit_* tools each covering a different domain. The reference to "Seção 10" is opaque without external context, so the scope of "uploads" is only partially self-explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this narrowly-scoped audit over sentinela_audit_full or the other domain audits, nor any stated prerequisites or ordering. Usage is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_webhooksC
Audita o domínio "webhooks" (Seção 27). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. Beyond 'Retorna findings estruturados' it says nothing about whether this is a read-only static scan, whether it touches or writes project files, what a finding contains, or how findings are reported. For a tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no padding. The 'Seção 27' fragment is the one element that doesn't clearly earn its place, keeping it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description is the only source of behavioral and return-shape information. Claiming 'findings estruturados' without describing the structure, severity model, or whether project_path must point at an already-scanned project leaves the agent under-informed for a domain audit step in a larger pipeline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the schema already documents 'project_path' as the absolute project root. The description adds no further parameter meaning, but baseline 3 applies when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audita') and resource ('o domínio webhooks'), and the domain name itself separates it from the ~25 sibling audit tools that each target a different domain. The '(Seção 27)' reference adds no meaning an agent can act on, since the taxonomy it points to isn't defined anywhere in the definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to run this domain audit versus sentinela_audit_full (which presumably covers all domains) or when a webhook audit is warranted. No prerequisites, no ordering relative to sentinela_detect_stack, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_audit_xssC
Audita o domínio "xss" (Seção 18). Retorna findings estruturados.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only states that findings are returned. It does not disclose whether the scan is read-only, what it inspects, how long it may take, or what "findings estruturados" actually contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded and no filler. It is efficient, though arguably terse enough that it borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an audit tool with no annotations and no output schema, the description should say more about what is scanned and what the structured findings look like. As written, an agent knows only the domain and that something is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema already documents project_path as the absolute root directory. The description adds no further semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ("Audita") and a clearly scoped resource ("o domínio 'xss' (Seção 18)"), so an agent can tell this audits the XSS domain rather than secrets or SSRF. It does not, however, explicitly explain how it differs from the many other sentinela_audit_* siblings beyond the domain label already in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the other audit siblings, no prerequisites, and no ordering guidance relative to sentinela_audit_full or sentinela_detect_stack. Usage is only inferable from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_compare_reportsA
Compara dois AuditReports (antes vs depois). Mostra findings novos, resolvidos e evolução do score.
| Name | Required | Description | Default |
|---|---|---|---|
| report_after | Yes | JSON string do AuditReport atual | |
| report_before | Yes | JSON string do AuditReport anterior |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full burden and does disclose the return content: new findings, resolved findings, and score evolution. That is meaningful behavioral disclosure of what the comparison produces, though it omits whether the operation is read-only/side-effect-free and what format the diff is returned in.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler; the core action is front-loaded and the output summary follows immediately. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-annotation comparison tool the description covers the essential actions and the shape of the result, which matters since no output schema exists. It falls short only on procedural context (where the two reports come from) and any read-only guarantee.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('JSON string do AuditReport anterior/atual') are already documented in the schema. The description adds no format detail, ordering rules, or constraints beyond what the schema states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Compara dois AuditReports' states exactly what the tool does, and the parenthetical '(antes vs depois)' clarifies the comparison axis. It is clearly distinct in function from the sibling audit_* tools, though it never names or contrasts with siblings such as sentinela_generate_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent can infer it needs two AuditReports, presumably produced by sentinela_generate_report or the audit tools, but the description never states when to call this versus re-running an audit or reading a report directly. No prerequisites about how the two report strings are obtained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_detect_stackC
Detecta a stack de um projeto: linguagem, framework, ORM, banco de dados, auth provider, hosting.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes only the detection targets and says nothing about whether the operation is read-only, what permissions or filesystem access it needs, or what form the result takes. For a tool with zero annotation coverage this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the action front-loaded and the detected items listed compactly. No filler, though it could signal context of use without bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Appropriate for a simple one-parameter detection tool, and the enumerated outputs give the agent a reasonable expectation of content. However, with no output schema and no annotations, the description should say more about the return shape and read-only nature to be fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter, project_path, and schema description coverage is 100%, so the schema already documents it fully. The description adds no parameter detail beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Detecta) and resource (stack de um projeto), and enumerates the concrete outputs: linguagem, framework, ORM, banco de dados, auth provider, hosting. This clearly distinguishes it from the audit_* siblings, which scan for vulnerabilities rather than identifying the project's technology stack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, and no mention of prerequisites or a recommended ordering relative to the sentinela_audit_* tools. The agent must infer that this is an introductory reconnaissance step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_generate_reportC
Gera relatório de segurança em Markdown a partir de uma auditoria completa.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not say whether the report is written to disk or returned inline, whether it requires a prior audit run, whether it overwrites an existing file, or how long it takes; for a one-parameter generator with zero annotation coverage this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted clauses. It is efficient, though perhaps too terse for a tool with this many unanswered behavioral questions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of truth, yet it leaves the output destination, the dependency on prior audits, and the scope of the 'complete audit' unexplained. An agent cannot confidently predict what calling it will do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the schema already explains project_path as the absolute project root. The description adds nothing beyond that, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (generate), resource (security report), format (Markdown), and source (from a complete audit). That is more than a tautology, though it never names a sibling or clarifies how it differs from sentinela_compare_reports or the many sentinela_audit_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'a partir de uma auditoria completa' hints at an ordering prerequisite, but the description never says whether the audits must be run first, whether they are run internally, or when to prefer this over compare_reports. No explicit when/when-not guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_get_checklistA
Retorna checklist de segurança com status pass/fail baseado nos findings do último audit.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Caminho absoluto para o diretório raiz do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Retorna'/'get' implies a read-only operation and the dependency on a prior audit is disclosed, which is genuine context. It does not say what happens when no audit exists yet, whether results are cached, or how pass/fail is computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the return value and appends the scoping condition. Nothing is wasted, though it is terse enough that the derived-view semantics take a moment to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, one-parameter read tool with no output schema, the description covers the essential behavior: it returns a checklist derived from the last audit. The main gap is the unstated behavior when no prior audit exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single 'project_path' parameter fully documented as an absolute path to the project root. The description adds no further parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retorna checklist de segurança') plus the derived nature of the output (pass/fail status from the last audit's findings). It is distinguishable from the audit_* siblings and generate_report, though it never names those siblings to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'baseado nos findings do último audit' hints that an audit must have been run first, which is a useful prerequisite signal. However, there is no explicit when-to-use, no when-not-to-use, and no routing to alternatives like sentinela_generate_report or sentinela_compare_reports.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_get_rulesA
Consulta regras de segurança por categoria ou termo. Retorna seções relevantes do knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Categoria, seção ou termo para buscar (ex: 'xss', 'auth', 'cors', '13') | |
| include_content | No | Se verdadeiro, inclui o texto explicativo da regra extraído do knowledge base |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the nature of the result set ('seções relevantes do knowledge base'), which tells the agent this is a read-only KB lookup with no audit side effects, but it says nothing about permissions, result size, truncation, or whether a miss returns empty vs. error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the action and the return content front-loaded in that order. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain what comes back, and 'seções relevantes' is too vague to tell an agent the shape of a rule record or whether 'include_content' expands it. For a two-parameter lookup with full schema coverage this is minimally adequate but leaves the caller guessing about the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'query' and 'include_content' are already documented in the schema. The description's 'por categoria ou termo' merely echoes what the schema says for 'query' and adds no syntax, examples, or guidance on how 'include_content' changes the response, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Consulta regras de segurança') and the retrieval axis ('por categoria ou termo'), plus what it returns ('seções relevantes do knowledge base'). This distinguishes it from the sibling sentinela_audit_* tools, which perform audits rather than lookups, though it never names the similarly read-only sentinela_get_checklist as an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the mention of 'categoria ou termo' hints at a keyword/topic lookup, but there is no explicit when-to-use, when-not-to-use, or comparison against the 25+ audit siblings and sentinela_get_checklist. An agent must infer that this is the reference-lookup tool rather than an analysis tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_suggest_fixC
Dado um finding (JSON), sugere código corrigido com exemplo prático para a stack do projeto.
| Name | Required | Description | Default |
|---|---|---|---|
| finding | Yes | JSON string do Finding a corrigir | |
| project_path | Yes | Caminho do projeto (para detectar stack) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations at all, so the description carries full burden. It does not state whether the tool is read-only, whether it modifies the project, whether it calls an LLM, or what format the suggestion takes. For a tool that ostensibly generates code, the side-effect profile is important and unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that front-loads the input (finding) and the output (corrected code). No wasted words, though it is almost too terse given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and no description of return format or behavior. For a code-suggestion tool, the description should at least indicate the response shape (e.g., diff, snippet) and any limits. The agent is left with significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mentions 'finding (JSON)' and 'stack do projeto', which aligns with the two schema parameters, but adds no additional semantics (e.g., expected Finding shape, how project_path is used).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (sugere) and resource (código corrigido) tied to an input finding and the project's stack. This clearly distinguishes it from sibling validation tool sentinela_validate_fix and audit tools. Lacks explicit naming of the sibling, but the action is specific enough for an agent to pick it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of prerequisites (e.g., needing a prior audit finding), and no differentiation from sentinela_validate_fix. The agent must infer that it is used after obtaining a finding from one of the audit tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sentinela_validate_fixB
Re-executa o analyzer de um finding específico para verificar se a correção foi aplicada com sucesso.
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Categoria do finding (ex: xss, secrets, idor) | |
| finding_id | Yes | ID do finding a validar (ex: SENT-XSS-001) | |
| project_path | Yes | Caminho do projeto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys that the analyzer is re-executed, but says nothing about whether this is read-only, whether it mutates state, cost/latency, permissions required, or what a failed validation implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the action front-loaded and no wasted words. It is appropriately sized, though arguably under-specified rather than maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should explain what validation returns (pass/fail, residual findings, re-scan output) and any preconditions. It omits all of this, leaving the agent unable to anticipate the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (finding_id, category, project_path) are documented in the schema itself, including examples. The description adds no additional meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb + resource: 'Re-executa o analyzer de um finding específico' with the goal of verifying that a fix was applied. An agent understands the action well, but the description makes no explicit reference to distinguish it from siblings like sentinela_suggest_fix or the sentinela_audit_* family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'verificar se a correção foi aplicada com sucesso' implies it should be called after applying a fix (presumably from sentinela_suggest_fix), so usage is inferable. However, no explicit when-to-use, prerequisites, or alternatives are stated.
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.
32 tool updates
v0.1.0- First observed
sentinela_audit_auth - First observed
sentinela_audit_cors - First observed
sentinela_audit_dependencies - First observed
sentinela_audit_deserialization - First observed
sentinela_audit_error_handling - First observed
sentinela_audit_error_messages - First observed
sentinela_audit_full - First observed
sentinela_audit_headers - First observed
sentinela_audit_identity - First observed
sentinela_audit_idor - First observed
sentinela_audit_input_validation - First observed
sentinela_audit_logging - First observed
sentinela_audit_mass_assignment - First observed
sentinela_audit_mutations - First observed
sentinela_audit_rate_limiting - First observed
sentinela_audit_redirects - First observed
sentinela_audit_request_limits - First observed
sentinela_audit_secrets - First observed
sentinela_audit_secrets_mgmt - First observed
sentinela_audit_ssrf - First observed
sentinela_audit_tests - First observed
sentinela_audit_timing - First observed
sentinela_audit_uploads - First observed
sentinela_audit_webhooks - First observed
sentinela_audit_xss - First observed
sentinela_compare_reports - First observed
sentinela_detect_stack - First observed
sentinela_generate_report - First observed
sentinela_get_checklist - First observed
sentinela_get_rules - First observed
sentinela_suggest_fix - First observed
sentinela_validate_fix
TDQS
Scored across 32 tools
The 24 domain audit tools each name a distinct security area, but several pairs have genuinely overlapping scopes: audit_secrets vs audit_secrets_mgmt, audit_error_messages vs audit_error_handling, and audit_identity vs audit_auth are easily confused. Worse, audit_identity and audit_mutations both claim '(Seção 2)', which signals an unclear boundary even within the server's own metadata. The audit_full vs individual audits split is reasonable, but the close pairs create real misselection risk.
Every tool uses the same sentinela_ prefix with a consistent snake_case verb_noun pattern (audit_*, get_*, generate_*, compare_*, suggest_*, validate_*, detect_*). The audit domain tools uniformly follow audit_<domain>, making the whole surface predictable. No mixed conventions or casing deviations.
32 tools is heavy and sits above the comfortable range. Most of the bulk comes from 24 near-mechanical per-domain audit tools that could arguably be a single parameterized audit call, though a security domain does have many legitimate areas. It is defensible but on the bloated side.
The lifecycle is well covered: stack detection, granular and full audits, rules lookup, checklist status, report generation, before/after comparison, fix suggestion, and fix validation. This is a coherent end-to-end workflow with no obvious dead ends. Only minor domain coverage questions remain (e.g. which sections are omitted), so it falls just short of perfect.
Maintenance
Related MCP Connectors
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Security scanner for AI-written code: SAST, secrets, dependencies, IaC, containers and DAST.
Zero-install security baseline for AI coding agents — OWASP/CWE-cited rules over MCP.
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to scan code for security vulnerabilities using multiple static analysis tools, with support for filtering, deduplication, and CI/CD integration.2754 PyPI4MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding tools to scan projects for security vulnerabilities, hardcoded secrets, injection flaws, and privacy violations with 699 rules and 76 MCP tools, all running locally with zero telemetry.4 npm7MIT
- FlicenseNot gradedqualityDmaintenanceEnables local security scanning and compliance gap analysis for code and text, detecting secrets, PII, and OWASP vulnerabilities, and assessing readiness across major frameworks like NCA, ISO 27001, NIST CSF, and SOC 2.-
- FlicenseBqualityCmaintenanceEnables AI agents to perform comprehensive, zero-infrastructure codebase analysis through 24 MCP tools, covering security, quality, architecture, type safety, git history, and dead code detection with high precision and local privacy.45-