Skip to main content
Glama
lrferr

mysql-mcp-server

by lrferr

🚀 MySQL Node MCP Server

npm version Downloads GitHub stars License: MIT

Um servidor MCP (Model Context Protocol) para monitoramento e interação com MySQL Database, desenvolvido em Node.js com suporte a múltiplas conexões simultâneas.

✨ Funcionalidades Principais

  • 🔗 Múltiplas Conexões - Conecte-se a vários bancos MySQL simultaneamente

  • 📊 Monitoramento - Saúde do banco, performance e métricas em tempo real

  • 🛡️ Segurança - Validação de scripts de migração e operações seguras

  • ⚡ Performance - Pool de conexões otimizado para cada ambiente

  • 🔧 Administração - DDL, DML e DCL operations completas

  • 📱 Integração - Compatível com Cursor IDE e Claude Desktop

Related MCP server: MySQL MCP Server Pro

🚀 Início Rápido

1. Instalação

npm install -g mysql-mcp-server-v1

2. Configuração MCP (Cursor/Claude Desktop)

Adicione a seguinte configuração ao seu arquivo mcp.json:

{
  "mcpServers": {
    "mysql-monitor": {
      "command": "npx",
      "args": ["mysql-mcp-server-v1@latest"],
      "env": {
        "MCP_SERVER_NAME": "mysql-monitor",
        "MCP_SERVER_VERSION": "1.0.0",
        "LOG_LEVEL": "info",
        "MYSQL_CONNECTIONS": "{\"connections\":{\"prod\":{\"host\":\"localhost\",\"port\":3306,\"user\":\"seu_usuario\",\"password\":\"sua_senha\",\"database\":\"seu_banco\",\"description\":\"Production Database\"}},\"defaultConnection\":\"prod\"}"
      }
    }
  }
}

Para múltiplas conexões:

{
  "mcpServers": {
    "mysql-monitor": {
      "command": "npx",
      "args": ["mysql-mcp-server-v1@latest"],
      "env": {
        "MCP_SERVER_NAME": "mysql-monitor",
        "MCP_SERVER_VERSION": "1.0.0",
        "LOG_LEVEL": "info",
        "MYSQL_CONNECTIONS": "{\"connections\":{\"hml\":{\"host\":\"servidor_hml\",\"port\":3306,\"user\":\"usuario_hml\",\"password\":\"senha_hml\",\"database\":\"hml_db\",\"description\":\"Homologação Database\"},\"prod\":{\"host\":\"servidor_prod\",\"port\":3306,\"user\":\"usuario_prod\",\"password\":\"senha_prod\",\"database\":\"prod_db\",\"description\":\"Production Database\"}},\"defaultConnection\":\"prod\"}"
      }
    }
  }
}

3. Configuração Automática (Opcional)

# Configurar Cursor IDE automaticamente
npx mysql-mcp-server-v1 setup-cursor

# Diagnosticar problemas de conectividade
npx mysql-mcp-server-v1 diagnose

# Testar conexão MySQL
npx mysql-mcp-server-v1 test-connection

🛠️ Ferramentas Disponíveis

🔗 Múltiplas Conexões

  • list_connections - Lista todas as conexões

  • test_connection - Testa conexão específica

  • test_all_connections - Testa todas as conexões

  • get_connections_status - Status das conexões ativas

📊 Monitoramento

  • check_database_health - Verifica saúde do banco

  • monitor_schema_changes - Monitora mudanças em esquemas

  • check_sensitive_tables - Verifica tabelas sensíveis

  • detect_suspicious_activity - Detecta atividades suspeitas

🔧 Administração

  • DDL: create_table, alter_table, drop_table

  • DML: select_data, insert_data, update_data, delete_data

  • DCL: create_user, grant_privileges, revoke_privileges

🔍 Análise

  • get_table_info - Informações detalhadas da tabela

  • get_constraints - Lista constraints

  • get_foreign_keys - Lista chaves estrangeiras

  • get_indexes - Lista índices

  • analyze_table - Analisa tabela e gera estatísticas

📋 Pré-requisitos

  • Node.js 18.0.0 ou superior

  • MySQL 5.7 ou superior / MariaDB 10.3 ou superior

  • Acesso ao banco com privilégios adequados

🤝 Contribuição

Contribuições são bem-vindas! Consulte o arquivo CONTRIBUTING.md para mais detalhes.

📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

🆘 Suporte

Para suporte e dúvidas:

  1. Consulte a documentação completa

  2. Abra uma issue no GitHub

  3. Verifique os logs para erros específicos


Desenvolvido com ❤️ por Leandro Ferreira

Available Tools

39 tools
analyze_indexesC

Analisa todos os índices do banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameNoNome da tabela para filtrar
schemaNameNoNome do schema para filtrar
connectionNameNoNome da conexão para usar

TDQS

C2.3/5.0
Behavior1/5

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, and it discloses essentially nothing. It does not say whether the operation is read-only, whether it is expensive/long-running (analyzing every index across a database is potentially heavy), what permissions it needs, or whether it mutates statistics. The word 'todos' signals a full sweep but no cost or side-effect context is given.

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

Conciseness3/5

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

It is a single short, front-loaded sentence with no padding. Conciseness is fine, but brevity here reflects under-specification rather than disciplined economy, so it sits at the minimum-viable level.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and a database-wide scope, the description is not complete enough. An agent cannot tell whether the call is safe, what it returns, or how long it takes — all of which matter for an 'analyze everything' operation.

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

Parameters3/5

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

Schema description coverage is 100% and all three filter parameters (tableName, schemaName, connectionName) are documented in the schema itself. The description adds nothing about how these filters scope the analysis (e.g. whether omitting them analyzes the entire database), so this is a baseline 3 rather than a penalty.

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

Purpose3/5

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

The description names a verb ('Analisa') and a resource ('todos os índices do banco de dados'), so it is more than a tautology. However, 'analisar' is never defined — it is unclear whether it computes statistics, checks for missing/duplicate indexes, or assesses performance — and it gives no hint of how it differs from the sibling 'get_indexes' or 'analyze_table'. Purpose is stated but vague.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisite (e.g. an active connection), and no mention of the obvious alternative 'get_indexes'. An agent must infer usage entirely 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.

analyze_tableC

Analisa uma tabela e gera estatísticas

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
databaseNameNoNome do banco de dados
connectionNameYesNome da conexão

TDQS

C2.9/5.0
Behavior2/5

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. It says it generates statistics but not whether the operation is read-only, whether it locks or scans the table, how expensive it is, or what form the statistics take — all material for a table-analysis tool on a possibly large table.

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

Conciseness4/5

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

A single short, front-loaded sentence with no filler or redundancy. It is efficient, though the terseness edges into under-specification handled in other dimensions.

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

Completeness2/5

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

For a 3-parameter analysis tool with no annotations and no output schema, the description should at least say what statistics are produced and which parameters scope them. Against a dense sibling list containing analyze_indexes and get_table_info, one line is not enough to place the tool confidently.

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

Parameters3/5

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

Schema description coverage is 100%, with tableName, databaseName, and connectionName each documented in the schema. The description adds no meaning beyond that (e.g., whether databaseName is optional or how connectionName is resolved), so the baseline 3 applies.

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

Purpose4/5

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

The single sentence states a specific verb ("Analisa") and resource ("uma tabela") plus the outcome ("gera estatísticas"), which is understandable regardless of language. It does not, however, distinguish this tool from nearby siblings such as analyze_indexes or get_table_info, leaving the boundary to inference.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives like analyze_indexes, get_table_info, or check_database_health. No preconditions, no mention of cost or when the analysis is worthwhile are provided.

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

apply_retention_policyC

Aplica políticas de retenção de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoExecutar em modo de teste
policiesYesLista de políticas de retenção
connectionNameNoNome da conexão para usar

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It is a potentially destructive mutation (DELETE/ARCHIVE actions) yet the description says nothing about permissions, reversibility, scope, or the dry-run capability exposed in the schema. Only the bare purpose is conveyed.

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

Conciseness3/5

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

The single sentence is efficient with no wasted words, but it is under-specified rather than genuinely concise given the tool's destructive nature and multi-parameter schema. Minimal but not wasteful.

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

Completeness2/5

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

For a destructive retention tool with no annotations, no output schema, and a nested policy array including an action enum, the description is far too thin. An agent lacks the behavioral and safety context needed to invoke it responsibly.

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

Parameters3/5

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

Schema description coverage is 100%, with dryRun, policies, and connectionName documented in the schema itself. The description adds no meaning beyond this, so the baseline of 3 applies.

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

Purpose4/5

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

The description gives a specific verb ('Aplica') and resource ('políticas de retenção de dados'), which is clear and non-tautological. However, it does not differentiate from closely related siblings such as archive_old_data or drop_partition, so an agent cannot tell which retention-oriented tool to pick on purpose alone.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like archive_old_data or drop_partition, nor any prerequisites or exclusions. The description only states the function, leaving the agent to infer the context entirely.

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

archive_old_dataC

Arquiva dados antigos para schema de arquivo

ParametersJSON Schema
NameRequiredDescriptionDefault
batchSizeNoTamanho do lote para processar
conditionYesCondição SQL para arquivar
tableNameYesNome da tabela
schemaNameYesNome do schema
connectionNameNoNome da conexão para usar
archiveTableNameNoNome da tabela de arquivo
archiveSchemaNameNoNome do schema de arquivoarchive

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about whether source rows are deleted after archiving, whether the operation is transactional or resumable, how batchSize affects execution, or what permissions are needed. For a data-moving mutation across 7 parameters this is a significant disclosure gap.

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

Conciseness3/5

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

It is a single short, front-loaded sentence with no wasted words, which is efficient. However, it is undersized for a 7-parameter mutation tool, so brevity here reflects under-specification rather than disciplined concision.

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

Completeness2/5

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

With no annotations, no output schema, and seven parameters, the description should explain at least what hapens to the source data and how batching behaves. Instead it offers one generic clause, leaving the agent without enough context to invoke the tool safely or correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all seven parameters (including batchSize, condition, and archiveSchemaName) are already documented in the schema. The description adds nothing beyond that baseline, so a 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Arquiva' / archives) and resource ('dados antigos' / old data) plus the destination ('schema de arquivo'), so the operation is identifiable. However, it gives no differentiation from closely related siblings such as apply_retention_policy, compress_table, or create_partition, which an agent must choose between.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like apply_retention_policy or compress_table, and no preconditions (permissions, connection selection, retention rules) are stated. The agent must infer usage entirely from the name.

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

audit_user_accessC

Audita o acesso de usuários ao banco

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoHost do usuário para auditar
usernameNoNome do usuário para auditar
timeRangeNoPeríodo de tempo para auditar7d
connectionNameNoNome da conexão para usar
includeFailedAttemptsNoIncluir tentativas falhadas

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it says nothing about whether this is a read-only query, what permissions are required, how far back logs are retained, or what happens when no matching access records exist. 'Audit' implies a read, but this is never stated.

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

Conciseness4/5

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

A single front-loaded clause with no filler or redundancy. It is efficiently structured, though its brevity reflects under-specification rather than disciplined concision.

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

Completeness2/5

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

This is a 5-parameter audit tool with no annotations and no output schema, so the description must compensate for a lot and does not. It omits scope, permission requirements, and any indication of what the audit result contains, leaving the agent to guess at the tool's behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (host, username, timeRange, connectionName, includeFailedAttempts) is already documented in the schema, including defaults. The description adds no format, syntax, or interaction details 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.

Purpose4/5

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

The description states a specific verb and resource: auditing user access to the database. It is clear what the tool is about, but it does nothing to distinguish itself from closely related siblings such as detect_suspicious_activity, show_grants, or list_privileges, all of which could plausibly be described as 'auditing access'.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, nor any stated preconditions (e.g., that a connection must exist or that audit logging must be enabled). The agent must infer usage purely from the name and schema.

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

change_passwordC

Altera a senha de um usuário

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoHost do usuário%
usernameYesNome do usuário
newPasswordYesNova senha
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing beyond the operation's name. It does not state that this is a destructive/irreversible mutation, what privilege level is required to change another user's password, or whether the host parameter scopes which account is affected.

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

Conciseness4/5

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

It is a single, front-loaded sentence with no filler or redundancy, which is efficient. The terseness is a completeness problem rather than a conciseness failure, so it scores well here.

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

Completeness2/5

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

For a four-parameter, unannotated, output-schema-less mutation tool, this description is too thin. It omits privilege requirements, irreversibility, and the relationship between host/username and connectionName that an agent needs to call it safely and correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (host, username, newPassword, connectionName) are already documented in the schema, making a baseline of 3 appropriate. The description adds no extra meaning — it does not, for example, explain the '%' default on host or why connectionName is needed.

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

Purpose4/5

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

The description states a specific verb and resource ('Altera a senha de um usuário' — changes a user's password), which is unambiguous and easily distinguished from siblings like create_user, drop_user, or grant_privileges. It does not, however, explicitly contrast itself with the closest sibling (check_password_policy), 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.

Usage Guidelines2/5

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 alternatives such as check_password_policy (to validate policy compliance first) or create_user (for initial credentials). No preconditions, no mention of required privileges, no exclusions — the agent must infer all of this.

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

check_database_healthC

Verifica a saúde geral do banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionNameNoNome da conexão (opcional)
includePerformanceNoIncluir verificações de performance

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about what checks run, whether it is read-only, permissions required, cost/latency, or result format. 'Verifica' weakly implies a read-only operation but that is inference, not disclosure.

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

Conciseness3/5

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

It is a single front-loaded sentence with no wasted words, but it is under-specified rather than concise: the brevity comes at the cost of any scope or behavioral detail.

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

Completeness2/5

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

With no annotations, no output schema, and a dense set of sibling diagnostic tools, this definition should explain what 'health' covers and how results are returned. It leaves the agent unable to predict behavior or choose it over alternatives.

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

Parameters3/5

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

Schema description coverage is 100%, so the two optional parameters (connectionName, includePerformance) are already documented in the schema. The description adds no parameter meaning, so the baseline 3 applies.

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

Purpose3/5

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

The description gives a clear verb ('Verifica') and resource ('saúde do banco de dados'), but 'saúde geral' is vague about what is actually checked and it does not distinguish the tool from siblings such as get_connections_status, test_connection, or analyze_indexes.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the many sibling diagnostics (test_connection, get_connections_status, check_sensitive_tables). The only implied usage is that it is a health check, with no conditions, prerequisites, or exclusions stated.

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

check_password_policyC

Verifica a política de senhas do sistema

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose that this is presumably a read-only query, what it returns (policy rules? pass/fail?), whether it requires elevated privileges, or which connection it targets.

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

Conciseness4/5

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

A single short sentence that is front-loaded and free of filler. It is efficient, though its brevity comes at the cost of under-specification rather than true tightness.

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

Completeness2/5

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

With no output schema, no annotations, and a one-line description, the agent lacks critical context: what the check returns, whether it is scoped to a user or the whole system, and how to act on the result. More detail is needed for a tool in a security-sensitive area.

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

Parameters3/5

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

Schema description coverage is 100%, so the single connectionName parameter is already documented in the schema ('Nome da conexão para usar'). The description adds no syntax, default, or behavioral 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.

Purpose4/5

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

The description states a specific verb and resource (checks the system's password policy), which is clear enough to distinguish it from siblings like change_password or create_user. It does not explicitly name or contrast with any alternative tool, which keeps it from a 5.

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

Usage Guidelines2/5

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

There is no indication of when to use this tool, in what context (pre-audit, before creating a user, after a policy change), or what alternatives exist. The agent must infer usage entirely.

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

check_sensitive_tablesC

Verifica tabelas sensíveis no banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionNameYesNome da conexão

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not say whether the check is read-only, what criteria make a table 'sensitive', how it authenticates or what permissions are needed, or whether it has side effects such as writing audit rows.

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

Conciseness4/5

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

A single efficient sentence that front-loads the action and object with no filler. It is arguably too terse rather than padded.

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

Completeness2/5

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

With no annotations and no output schema, the description should compensate by explaining what 'sensitive' means and what the result reports. It omits both, leaving the agent unable to predict the response shape or the detection criteria.

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

Parameters3/5

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

With one parameter and 100% schema description coverage, the schema already documents connectionName. The description adds no meaning 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.

Purpose4/5

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

States a specific verb ('Verifica') and resource ('tabelas sensíveis no banco de dados'), which is more informative than a tautology. It does not, however, distinguish itself from near-neighbors like detect_suspicious_activity or audit_user_access, nor clarify whether it scans for sensitive tables or validates a known one.

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

Usage Guidelines2/5

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

There is no guidance on when to run this check, what triggers it, or how it relates to alternatives such as detect_suspicious_activity. The agent must infer usage entirely from the name.

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

compress_tableC

Comprime uma tabela para economizar espaço

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
schemaNameYesNome do schema
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It does not say whether the table is locked or unavailable during compression, whether the operation is reversible, how long it takes on large tables, or which privileges are required.

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

Conciseness4/5

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

A single front-loaded sentence with zero waste, and the verb+resource leads the phrase. It is terse rather than padded, though the brevity becomes under-specification rather than true efficiency for a risky mutation.

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

Completeness2/5

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

For a mutating maintenance operation with no annotations and no output schema, the description omits operational risk, permissions, downtime, and expected effects. The schema covers parameters, but the behavioral context an agent needs to call this safely is missing.

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

Parameters3/5

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

Schema description coverage is 100%, and each parameter already has a description in Portuguese, so the schema does the heavy lifting. The description adds no parameter-level meaning beyond that, making the baseline of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb+resource ('Comprime uma tabela') plus a rationale ('para economizar espaço'), so the operation is identifiable. However, it does not differentiate from related maintenance siblings such as analyze_table or archive_old_data, and 'compress' is left ambiguous across database engines.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool, when not to use it, or what prerequisites apply (write privileges, table locks, engine support). The only hint is the stated goal of saving space, which is implied usage at best.

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

create_backupC

Cria um backup do banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
compressNoComprimir o backup
databaseYesNome do database para backup
backupPathNoCaminho para salvar o backup./backups/
includeDataNoIncluir dados no backup
connectionNameNoNome da conexão para usar
includeStructureNoIncluir estrutura no backup

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it says nothing about where the backup lands, whether it overwrites an existing file, whether the operation blocks or streams, what permissions are required, or what happens on a large database. For a write-side operation 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.

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is efficient, though the efficiency comes from under-specification rather than disciplined editing.

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

Completeness2/5

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

For a six-parameter mutation tool with no annotations and no output schema, the definition is far too thin. An agent cannot learn from the description what the call returns, whether failures are recoverable, or how the output path behaves when backupPath defaults to './backups/'.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters (database, backupPath, compress, includeData, includeStructure, connectionName) are already documented in the schema. The description adds no parameter semantics 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.

Purpose4/5

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

States a specific verb and resource ('Cria um backup do banco de dados'), which is unambiguous on its own. However, it does nothing to distinguish it from the closely related siblings restore_backup and list_backups, which an agent must choose between.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of the alternative backup-related tools (restore_backup, list_backups). The agent must infer the context from the name alone.

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

create_partitionD

Cria partições em uma tabela

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
partitionsYesLista de partições
schemaNameYesNome do schema
partitionTypeNoTipo de partiçãoRANGE
connectionNameNoNome da conexão para usar
partitionColumnYesColuna para particionar

TDQS

D1.9/5.0
Behavior1/5

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

Annotations are absent, so the description carries full behavioral burden, yet it provides none. It does not state whether the operation is idempotent, what permissions are required, whether existing partitions are overwritten, or what happens on failure for a 6-parameter mutation tool.

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

Conciseness3/5

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

The description is a single, appropriately short phrase with no wasted words. However, it is under-specified rather than concise, lacking the front-loaded information an agent needs to correctly invoke a mutation tool.

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

Completeness2/5

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

For a 6-parameter creation tool with no annotations and no output schema, the description is insufficient. It omits critical behavioral context such as safety (non-destructive vs destructive), error handling, and return values, leaving the agent with only the schema to infer behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented in the schema (tableName, schemaName, partitionColumn, partitions, partitionType, connectionName). The description adds no parameter details beyond implying tables have partitions. Baseline 3 is appropriate when the schema fully documents parameters.

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

Purpose2/5

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

The description 'Cria partições em uma tabela' (Creates partitions in a table) is a near-tautology that restates the tool name with minimal added detail. It does identify the resource (partitions on a table) but provides no distinguishing scope versus sibling tools like drop_partition or create_schema.

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

Usage Guidelines1/5

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, prerequisites, or how it differs from alternatives like drop_partition or create_schema. An agent must infer usage from the tool name alone.

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

create_schemaC

Cria um novo schema no banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
charsetNoCharset do schemautf8mb4
collateNoCollation do schemautf8mb4_unicode_ci
schemaNameYesNome do schema a ser criado
ifNotExistsNoCriar apenas se não existir
connectionNameNoNome da conexão para usar

TDQS

C2.4/5.0
Behavior1/5

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 discloses nothing beyond the bare creation action. It does not state permission requirements, what happens if the schema already exists, or any side effects of this mutation.

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

Conciseness4/5

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

A single short sentence with no wasted words, and the action is front-loaded. Its brevity, however, reflects under-specification rather than tight editing.

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

Completeness2/5

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

For a mutation tool with five parameters, no annotations, and no output schema, the description is far too thin. An agent gains no information about permissions, idempotency behavior, or the result of the operation.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (charset, collate, schemaName, ifNotExists, connectionName) are already documented in the schema. The description adds no parameter meaning beyond that, which matches the baseline 3 when the schema does the heavy lifting.

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

Purpose3/5

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

The description names a specific verb and resource ("Cria um novo schema"), so the basic action is clear. However, it is barely more than a restatement of the tool name and offers no differentiation from siblings like drop_schema or list_schemas.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as drop_schema or list_schemas, nor any prerequisites or preconditions. The agent must infer all usage context.

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

create_userC

Cria um novo usuário no banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoHost do usuário%
passwordYesSenha do usuário
usernameYesNome do usuário
ifNotExistsNoCriar apenas se não existir
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden: it does not say whether privileges are required, whether an existing user triggers an error or is silently skipped (relevant given ifNotExists defaults to true), or anything about reversibility. 'Cria' implies mutation but no behavioral context is added.

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

Conciseness4/5

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

A single front-loaded sentence with no wasted words. It is efficient, though the brevity borders on under-specification rather than optimal conciseness.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is too thin: it omits permission requirements, conflict behavior, and the role of connectionName/host. The schema covers the parameters but nothing covers behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are already documented in the schema. The description adds no syntax, format, or defaulting information beyond that baseline, so a 3 is appropriate.

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

Purpose4/5

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

States a specific verb+resource ('Cria um novo usuário no banco de dados'), so the agent knows exactly what operation is performed. However, it does nothing to distinguish it from siblings such as drop_user, change_password, or list_users, so it cannot be 5.

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

Usage Guidelines2/5

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

No indication of when to use this rather than change_password, grant_privileges, or list_users, and no prerequisites mentioned. The agent gets no routing guidance beyond the bare purpose.

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

detect_suspicious_activityC

Detecta atividades suspeitas no banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionNameYesNome da conexão

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It says 'detect' but not what is inspected, which signals count, whether it is read-only, how results are reported, or whether privileged access is required. This is a significant gap for a security-audit tool.

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

Conciseness3/5

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

One short, front-loaded sentence with no waste, but the brevity reflects under-specification rather than disciplined concision; nothing is expanded where it would matter.

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

Completeness2/5

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

With no annotations and no output schema, the description should explain what 'suspicious activity' means, how findings are returned, and whether it is safe/read-only. None of that is present, leaving an agent unable to call or interpret it confidently.

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

Parameters3/5

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

The single connectionName parameter is fully documented in the schema (100% coverage), so the schema does the work. The description adds no meaning beyond it, which is the baseline case.

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

Purpose3/5

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

States a verb and resource ('detect suspicious activity in the database'), but the scope of 'suspicious' is undefined and nothing distinguishes it from related siblings like audit_user_access or check_sensitive_tables. An agent cannot tell what class of behavior this covers without opening the tool.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, no mention of alternatives among the many audit/security siblings. The agent must infer the trigger condition entirely from the name.

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

drop_partitionC

Remove uma partição de uma tabela

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
schemaNameYesNome do schema
partitionNameYesNome da partição
connectionNameNoNome da conexão para usar

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose that this is a destructive, likely irreversible operation, whether partition data is lost, what permissions are required, or what happens to dependent objects — all critical for a 'drop' tool.

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

Conciseness3/5

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

A single short, front-loaded sentence with zero waste, but it is minimally adequate rather than informative — it is concise at the cost of completeness. Being written in Portuguese while the sibling tool names are English adds a minor consistency issue.

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

Completeness2/5

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

For a 4-parameter destructive DDL operation with no annotations and no output schema, one sentence is insufficient. It omits irreversibility, authorization needs, and any statement about the effect on stored partition data.

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

Parameters3/5

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

Schema description coverage is 100%, so tableName, schemaName, partitionName and connectionName are already documented in the schema. The description adds no format, default, or naming-convention detail beyond that baseline.

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

Purpose4/5

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

Names a specific verb (remove) and resource (a partition of a table), which clearly separates it from create_partition among the siblings. It gives no explicit contrast with alternatives, but the operation itself is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus create_partition or other schema-modification tools, and no prerequisites or preconditions are stated. The agent must infer usage entirely from the name.

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

drop_schemaC

Remove um schema do banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
cascadeNoRemover em cascata
ifExistsNoRemover apenas se existir
schemaNameYesNome do schema a ser removido
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, but it only restates the action. For a destructive DDL operation it omits whether the removal is irreversible, what happens to contained objects, and any permission or safety requirements. Cascade behavior is only implied via the schema's cascade flag, not explained here.

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

Conciseness4/5

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

A single short sentence that is front-loaded with the action. Nothing is wasted, though the extreme brevity is a result of under-specification rather than disciplined editing.

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

Completeness2/5

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

For a destructive schema-drop tool with no annotations, no output schema, and no stated side effects, prerequisites, or rollback story, the definition is not complete enough for an agent to invoke it safely. The schema covers the parameters but the behavioral context is absent.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (cascade, ifExists, schemaName, connectionName) are already documented in the schema. The description adds no meaning beyond the schema, which is the baseline expectation at high coverage.

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

Purpose4/5

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

The verb+resource combination ("Remove um schema") clearly states what the tool does and on what object. However, it gives no differentiation from siblings like create_schema, list_schemas, or drop_partition, all of which operate on the same schema domain.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., needing elevated privileges), and no warnings about the consequences of dropping a schema. The agent must infer everything from the name.

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

drop_userC

Remove um usuário do banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoHost do usuário%
ifExistsNoRemover apenas se existir
usernameYesNome do usuário
connectionNameNoNome da conexão para usar

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden for a destructive DDL operation. It does imply removal, but says nothing about permanence, whether owned objects or grants are affected, required privileges, or what happens when the user does not exist (beyond the ifExists flag).

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

Conciseness3/5

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

A single front-loaded sentence with no wasted words, which is structurally fine. However, being this terse for a destructive multi-parameter tool means the brevity reflects under-specification rather than disciplined concision.

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

Completeness2/5

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

A destructive user-removal tool with no annotations, no output schema, and no guidance on effect or reversibility is not adequately described. The only thing compensating is the 100%-covered input schema, which documents parameters but not behavior.

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

Parameters3/5

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

Schema description coverage is 100%, with host, ifExists, username, and connectionName all documented in the schema. 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.

Purpose3/5

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

States a verb (remove) and a resource (user) plus domain context (database), but for a tool named drop_user this is close to decoding the name rather than adding information. It gives no differentiation from siblings such as revoke_privileges or list_users, so an agent gets only a minimal-viable sense of purpose.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives — notably revoke_privileges, which also removes a user's access and is a plausible confusion point. Usage must be inferred entirely 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.

get_connections_statusB

Obtém o status de todas as conexões ativas

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It implies a read-only lookup and scopes it to active connections, but says nothing about what "status" means, whether this is safe/non-mutating, or what the response 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.

Conciseness4/5

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

A single, front-loaded sentence with no filler. It is terse to the point of under-specification, but nothing in it is wasted.

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

Completeness3/5

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

No parameters and no output schema, so the description is the only source of information about the result — yet it never explains what a "status" value contains. It is adequate to identify the tool but thin for a zero-schema, zero-annotation definition.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to clarify; baseline 4 applies. The scope phrase "todas as conexões ativas" is the only parameter-like qualifier and it is implicit rather than user-selectable.

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

Purpose4/5

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

The description states a clear verb+resource ("Obtém o status" + "conexões ativas") and the scope (all active connections). It does not, however, differentiate itself from siblings such as list_connections or test_all_connections, which an agent could easily confuse it with.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no mention of the alternative siblings (list_connections, test_connection, test_all_connections). The agent must guess which of these overlapping connection tools to pick.

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

get_constraintsC

Lista todas as constraints de uma tabela

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
databaseNameNoNome do banco de dados
connectionNameYesNome da conexão

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It never states that the operation is read-only, whether results are paginated, what the output contains, or what permissions/connection setup is required.

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

Conciseness4/5

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

A single short sentence with no filler, and the resource scope is front-loaded. It is efficient, though arguably too terse given the tool's context.

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

Completeness2/5

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

For a 3-parameter tool with no annotations and no output schema, the description should say more: return shape, read-only nature, and how it differs from get_foreign_keys/get_indexes/get_table_structure. None of that is present.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents tableName, databaseName, and connectionName. The description only implies the tableName scope and adds nothing about parameter formats, defaults, or required combinations.

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

Purpose4/5

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

The description states a specific verb ('Lista') and resource ('constraints de uma tabela'), so the purpose is unambiguous. However, it does not differentiate from overlapping siblings such as get_foreign_keys, get_indexes, or get_table_structure, which also enumerate table metadata.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling inspection tools. Usage is only weakly implied by the phrase 'de uma tabela'.

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

get_foreign_keysB

Lista todas as chaves estrangeiras de uma tabela

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
databaseNameNoNome do banco de dados
connectionNameYesNome da conexão

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it offers none beyond the word 'list'. It does not confirm the operation is read-only, say whether the connection must already exist, or describe scope/format of the returned list.

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

Conciseness5/5

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

A single front-loaded sentence with zero redundancy. Nothing could be removed without losing meaning.

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

Completeness3/5

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

For a simple read-only lookup tool with a fully documented schema and no output schema, the description is minimally sufficient. It falls short of explaining the relationship to overlapping constraint/structure tools or any filtering behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so tableName, databaseName, and connectionName are all documented in the schema itself. The description adds no additional 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.

Purpose4/5

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

The description states a specific verb and resource: listing all foreign keys of a table, which is clear and actionable. It does not, however, differentiate itself from similar siblings such as get_constraints or get_table_structure, which plausibly overlap with this information.

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

Usage Guidelines2/5

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

There is no indication of when to use this tool versus get_constraints, get_table_info, or get_table_structure, nor any stated prerequisites. 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.

get_indexesC

Lista todos os índices de uma tabela

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
databaseNameNoNome do banco de dados
connectionNameYesNome da conexão

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Lista' implies a read-only operation, but there is no statement about permissions required, scope of the listing, or failure behavior for nonexistent tables/connections.

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

Conciseness4/5

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

A single short sentence with no wasted words, and the object of the operation is front-loaded. It is efficient, though its brevity is partly a symptom of under-specification rather than disciplined conciseness.

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

Completeness3/5

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

The tool is a simple 3-parameter read with fully documented parameters and no output schema, so the description need not explain return values. Still, with no annotations it should say more about reading behavior and the optional databaseName's role to be fully adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (tableName, databaseName, connectionName) are already documented in the schema and the baseline of 3 applies. The description adds nothing beyond implying that tableName scopes the result.

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

Purpose4/5

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

States a specific verb (list) and resource (indexes) with scope (of a table), so the operation is unambiguous. However, it offers no differentiation from the sibling analyze_indexes or get_constraints, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no indication of when to use this versus analyze_indexes or other introspection tools, and no prerequisites (e.g., connection must exist) are stated. The agent gets no routing guidance at all.

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

get_table_infoC

Obtém informações detalhadas sobre uma tabela

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
databaseNameNoNome do banco de dados
connectionNameYesNome da conexão

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a read-only operation, whether it requires elevated permissions, what scope of metadata it returns, or whether it is expensive. 'Detalhadas' adds no behavioral detail beyond implying a read.

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

Conciseness4/5

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

A single short sentence with no filler, and the action is front-loaded. Its concision is fine, though the brevity is partly achieved by omitting information the description should carry.

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

Completeness2/5

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

There is no output schema, no annotations, and no statement of what 'detailed information' comprises, so the agent cannot predict the return shape or disambiguate from siblings. For a metadata-inspection tool in a schema that already contains get_table_structure, get_constraints, get_indexes, and get_foreign_keys, the description should explain the distinction and scope; it does not.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents connectionName, tableName, and databaseName. The description adds no additional parameter meaning (e.g., that databaseName is optional or how omitted values are resolved), so the baseline 3 applies.

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

Purpose3/5

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

States a verb ('Obtém') and a resource (tabela), but 'informações detalhadas' is vague about what is actually returned. It fails to distinguish itself from close siblings like get_table_structure, get_constraints, get_indexes, or get_foreign_keys, which plausibly return overlapping 'detailed information' about a table.

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

Usage Guidelines2/5

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

The description provides no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent cannot tell from the text whether to call this versus get_table_structure for the same table.

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

get_table_structureC

Obtém a estrutura completa de uma tabela

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNameYesNome da tabela
schemaNameYesNome do schema
connectionNameNoNome da conexão para usar
includeIndexesNoIncluir informações de índices
includeConstraintsNoIncluir informações de constraints

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It implies a read-only lookup ('Obtém'), but does not state permissions required, what 'complete structure' includes, whether defaults are applied, or any output characteristics, leaving key behavioral traits undisclosed.

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

Conciseness4/5

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

The single sentence is concise and front-loaded with no wasted words. However, its extreme brevity leaves the definition under-informative, though that is not a violation of conciseness itself.

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

Completeness2/5

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

For a tool with five parameters, no annotations, no output schema, and many closely related siblings, a single sentence is insufficient. The description does not explain what 'complete structure' entails, what the return contains, or how it differs from similar tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all five parameters. The description adds no additional meaning beyond what the schema provides, making the baseline of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb ('Obtém') and resource ('estrutura completa de uma tabela'), making the core action clear. However, it does not distinguish this tool from siblings like get_table_info, get_constraints, or get_indexes, so an agent cannot tell when to prefer it without inferring from the name.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description gives no context, prerequisites, or exclusions, leaving the agent to guess based on the tool name and sibling list.

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

grant_privilegesC

Concede privilégios a um usuário

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoHost do usuário%
tableNoTabela para conceder privilégios*
databaseNoDatabase para conceder privilégios*
usernameYesNome do usuário
privilegesYesLista de privilégios a conceder
connectionNameNoNome da conexão para usar
withGrantOptionNoPermitir que o usuário conceda privilégios

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden for a security-sensitive mutation. It does not disclose that this alters access control, what permissions are needed to run it, whether the change is reversible, or how privileges interact with existing grants or withGrantOption.

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

Conciseness2/5

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

A single short sentence is efficient in word count but is badly under-sized for a seven-parameter, security-critical mutation. There is no structure or front-loading of the information an agent actually needs before invoking it.

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

Completeness2/5

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

Given seven parameters, no annotations, no output schema, and a destructive security operation, a one-line description is far from complete. The agent lacks permission requirements, scope semantics (database/table wildcards), and any indication of reversibility or side effects.

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

Parameters3/5

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

Schema description coverage is 100%, so the seven parameters (including host, table, database, privileges, and withGrantOption) are already documented in the schema. The description adds no extra syntax, format, or default behavior beyond what the schema provides, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Concede privilégios a um usuário'), which is clear. However, it offers no differentiation from closely related siblings such as revoke_privileges, show_grants, or list_privileges, so an agent must infer the boundary on its own.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites (e.g. required admin/GRANT authority), and no routing to alternatives like revoke_privileges or show_grants. The agent is left to infer everything about placement in a workflow.

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

list_backupsC

Lista todos os backups disponíveis

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNúmero de dias para filtrar
databaseNoDatabase para filtrar
backupPathNoCaminho dos backups./backups/

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only says the tool lists backups. It does not indicate that this is a read-only operation, whether the 'days' default silently limits results, how the filters combine, or what the return 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.

Conciseness4/5

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

A single short sentence with no filler, and the core purpose is front-loaded. It is efficient, though arguably too terse given the behavioral and usage gaps it leaves unfilled.

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

Completeness2/5

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

For a tool with three optional filtering parameters, no annotations, and no output schema, the description omits key context: that days defaults to 30 (implying default filtering despite 'todos os backups'), what the filters do together, and the read-only nature of the call. An agent could invoke it but not confidently predict results.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (days, database, backupPath) are already documented in the schema with defaults. The description adds nothing beyond that, which is the expected baseline when the schema does the heavy lifting.

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

Purpose4/5

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

The description states a specific verb and resource ('Lista todos os backups'), which is unambiguous and easily distinguished from create_backup or restore_backup by verb alone. It stops short of explicitly naming or contrasting with any sibling, so it lands at 4 rather than 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus create_backup, restore_backup, or archive_old_data, nor any mention of prerequisites or typical context. The description is purely a purpose statement.

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

list_connectionsB

Lista todas as conexões configuradas

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the bare action. It does not say whether the output includes connection strings, credentials, hosts, or just labels, nor whether it is paginated, ordered, or includes disabled/inactive connections.

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

Conciseness4/5

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

A single short sentence with no filler, and the action is front-loaded. It is efficient, though its brevity edges toward under-specification rather than true conciseness.

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

Completeness3/5

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

For a zero-parameter list tool with no output schema, the definition is minimally adequate, but it leaves the return payload entirely undefined and does not disambiguate 'connections' from the several connection-related siblings. No output schema exists, so the description was the place to say what comes back.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. No parameter confusion is possible.

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

Purpose4/5

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

States a clear verb+resource ('Lista todas as conexões configuradas'), making it obvious this is a read/list operation over configured connections. It does not, however, explicitly distinguish itself from siblings such as test_all_connections or get_connections_status, leaving the boundary to inference.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no conditions, and names no alternatives. An agent must infer that this is the choice when it wants an inventory of connections rather than a health/status or connectivity test, which is exactly the sibling ambiguity the description should have resolved.

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

list_privilegesC

Lista todos os privilégios do sistema

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNoTabela para filtrar
databaseNoDatabase para filtrar
connectionNameNoNome da conexão para usar

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about whether this is read-only, what permissions are needed to enumerate privileges, whether results are scoped to the connection, or what the output looks like — all of which matter for a security-sensitive privilege listing.

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

Conciseness3/5

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

It is a single short sentence with no wasted words and the resource is front-loaded, but the extreme brevity reflects under-specification rather than disciplined conciseness. It is appropriately sized only in the sense that it says almost nothing.

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

Completeness2/5

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

For a three-parameter tool with no annotations and no output schema, the description leaves too much unstated: it does not explain how the table/database/connectionName filters combine, what is returned, or how results relate to grant_privileges and show_grants. An agent could call it, but not confidently.

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

Parameters3/5

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

Schema description coverage is 100%, so the three optional filters (table, database, connectionName) are already documented in the schema. The description adds no syntax, default, or interaction detail 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.

Purpose4/5

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

The description gives a clear verb+resource ("Lista todos os privilégios"), so an agent knows this is a read/list operation over privilege objects. However, it adds no differentiation from close siblings such as show_grants, grant_privileges or revoke_privileges, and the scope phrase "do sistema" is vague about whether it means system-level privileges or all privileges across the connection.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives despite show_grants and list_users overlapping in this space. The only hint of usage is the implicit read-only nature of "Lista", which is not explicit.

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

list_routinesC

Lista procedures e functions

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaNameNoNome do schema para filtrar
routineTypeNoTipo de rotina (PROCEDURE ou FUNCTION)
connectionNameNoNome da conexão para usar

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no indication that this is a read-only operation, no permissions or connection requirements, no note on ordering or result volume. Only the implied read semantics of 'Lista' hints at safety.

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

Conciseness3/5

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

The single phrase is front-loaded and free of waste, but it is under-specified rather than concise — there is no structure to speak of and nothing beyond the minimal verb+object.

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

Completeness2/5

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

For a tool with three filter parameters, no annotations and no output schema, the description is too thin: it never says what is returned (names only? definitions? metadata?) or how results relate to the schema/connection filters. The schema covers the inputs, but the description leaves the overall behavior opaque.

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

Parameters3/5

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

Schema description coverage is 100%, so all three optional filters (schemaName, routineType, connectionName) are already documented in the schema. The description adds no filtering 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.

Purpose3/5

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

States a verb ('Lista') and a resource, and usefully expands 'routines' into 'procedures e functions', which the tool name alone does not convey. However it does nothing to distinguish itself from siblings such as list_views, list_tables or list_schemas, and gives no sense of scope.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative guidance of any kind. An agent must guess that this is the routine-listing counterpart to list_views/list_tables 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.

list_schemasC

Lista todos os schemas disponíveis

ParametersJSON Schema
NameRequiredDescriptionDefault
includeSystemNoIncluir schemas do sistema
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about whether listing is read-only (implied), what permissions are required, how connectionName affects results, or what the response contains. A single word 'disponíveis' is the only added context.

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

Conciseness4/5

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

A single short sentence with zero waste and the core action front-loaded. It is efficient, though its brevity borders on under-specification rather than deliberate concision.

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

Completeness3/5

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

For a zero-required-parameter list tool with full schema coverage and no output schema, the description is minimally adequate — the agent can call it. But with no annotations and no guidance on the listing scope or return format, it stops at the minimum viable level.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (includeSystem, connectionName) are already documented in the schema with defaults. The description adds no parameter detail 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.

Purpose4/5

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

States a specific verb ('Lista') and resource ('schemas'), so the agent knows exactly what operation is performed. It does not differentiate from sibling lifecycle tools like create_schema or drop_schema, but the verb alone makes the intent unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no mention of the includeSystem or connectionName options, and no prerequisites stated. The agent must infer usage entirely from the name.

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

list_tablesC

Lista todas as tabelas e views

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaNameNoNome do schema para filtrar
includeViewsNoIncluir views na listagem
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about read-only nature, permissions, scoping by connection, result size, or pagination. 'Lista todas' hints at an unbounded result set but that consequence is never made explicit.

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

Conciseness4/5

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

A single front-loaded sentence with no wasted words. It is efficient, though arguably too terse to be maximally useful.

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

Completeness2/5

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

With three parameters, no output schema, and no annotations, the description should do more. It omits the connection-scoping behavior (connectionName) and the view-inclusion toggle (includeViews), which materially affect what 'all tables' returns.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (schemaName, includeViews, connectionName) are already documented in the schema with defaults. The description adds no parameter detail 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.

Purpose4/5

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

States a clear verb and resource ('Lista todas as tabelas e views'), so the agent knows it enumerates tables and views. However, it does not explicitly differentiate itself from close siblings such as list_views, get_table_info, or get_table_structure, leaving some ambiguity about when this is the right enumeration call.

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

Usage Guidelines2/5

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

No when-to-use guidance is given. The description does not say when to prefer this over list_views, get_table_info, or get_table_structure, nor does it note any prerequisites such as needing a connection.

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

list_usersC

Lista todos os usuários do sistema

ParametersJSON Schema
NameRequiredDescriptionDefault
includeSystemNoIncluir usuários do sistema
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. Beyond implying a read of "all" users, it says nothing about permissions, pagination, result size, or that includeSystem defaults to false — meaning "todos" is slightly misleading since system users are excluded by default.

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

Conciseness4/5

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

A single short sentence that is front-loaded and wastes no words. It is efficient, though arguably under-specified rather than optimally concise.

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

Completeness3/5

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

For a simple two-parameter, no-required, no-output-schema list tool, the description is minimally adequate. It does not resolve the tension between "todos" and the includeSystem default, but the schema covers the parameters.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (includeSystem, connectionName) are documented in the schema itself. The description adds no parameter detail, which matches the baseline 3 when the schema does the heavy lifting.

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

Purpose4/5

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

States a clear verb+resource ("Lista todos os usuários"), so an agent immediately knows it enumerates users. However, it does not distinguish itself from sibling listing tools such as list_privileges or list_routines beyond the word "usuários".

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like show_grants or audit_user_access, nor any stated prerequisites or context. Usage must be fully 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.

list_viewsC

Lista todas as views disponíveis

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaNameNoNome do schema para filtrar
connectionNameNoNome da conexão para usar

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Lista' implies a safe read, but it says nothing about whether results are filtered by connection, whether it hits the network, or what the response shape is.

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

Conciseness4/5

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

A single front-loaded sentence with zero waste. It is efficient, though arguably too terse given the tool's filtering capabilities.

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

Completeness3/5

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

For a simple no-annotation read-only list with a fully documented 2-param schema and no output schema, the description is minimally viable. It omits any mention of the filtering capability, which is the tool's only real behavioral nuance.

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

Parameters3/5

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

Schema description coverage is 100%, so both optional parameters (schemaName, connectionName) are already documented in the schema. The description adds no extra meaning, which is acceptable per the baseline rule.

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

Purpose4/5

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

States a clear verb ('Lista') and resource ('views'), so the agent knows exactly what comes back. However, it offers no differentiation from sibling list tools such as list_tables or list_schemas, leaving the agent to infer the distinction.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the many other list_* siblings, nor any prerequisites or exclusions. Usage is only weakly implied by the verb itself.

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

monitor_schema_changesC

Monitora mudanças no esquema do banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
databasesNoLista de bancos para monitorar
connectionNameYesNome da conexão

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Monitor' weakly implies an observational, non-destructive read, but the description says nothing about whether this is a one-shot check or continuous polling, what permissions are required, what it returns, or any side effects.

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

Conciseness3/5

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

A single front-loaded sentence with no wasted words, but it is terse to the point of under-specification. Brevity here reflects missing content rather than disciplined editing.

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

Completeness2/5

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

With no annotations and no output schema, the description had to explain the monitoring behavior, expected results, and usage context on its own, and it does none of that. For a tool whose core semantics (what a 'schema change' event is, how it is surfaced) are non-obvious, this is inadequate.

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

Parameters3/5

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

Schema description coverage is 100%, with both 'connectionName' and 'databases' documented directly in the schema. The description adds no further parameter meaning, so the baseline of 3 applies since the schema does the heavy lifting.

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

Purpose2/5

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

The description is essentially a Portuguese restatement of the tool name: 'monitor_schema_changes' → 'Monitora mudanças no esquema do banco de dados'. It identifies the verb (monitor) and resource (database schema changes) but adds no distinguishing detail, such as what is monitored or how it differs from siblings like list_schemas or get_table_structure.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no preconditions, and no mention of alternatives among the many schema-related siblings (create_schema, drop_schema, list_schemas). An agent gets no signal about when this tool is appropriate versus a one-time schema listing.

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

restore_backupC

Restaura um backup do banco de dados

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseYesNome do database para restaurar
backupFileYesCaminho do arquivo de backup
connectionNameNoNome da conexão para usar

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. A restore is a destructive operation that overwrites current database state, yet the description says nothing about overwrite risk, required permissions, downtime, or reversibility. The verb "restore" implies mutation, which is the only signal present.

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

Conciseness3/5

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

It is a single short, front-loaded sentence with no filler, but its brevity reflects under-specification rather than efficient information density. Nothing is wasted, but little is delivered.

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

Completeness2/5

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

For a destructive, no-annotation, no-output-schema restore tool, the description should at minimum flag the overwrite semantics and any prerequisites. The schema covers the inputs, but the risky operational context an agent needs before invoking it is absent.

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

Parameters3/5

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

Schema description coverage is 100%, so database, backupFile, and connectionName are already documented in the schema. The description adds no format, path, or default-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.

Purpose3/5

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

The description gives a clear verb+resource ("Restaura um backup do banco de dados") and scopes it to the database, but it is essentially a translation of the tool name restore_backup with no differentiation from the sibling backup tools (create_backup, list_backups). An agent can infer the purpose, but the description adds almost nothing beyond the identifier.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, even though create_backup and list_backups sit in the same sibling set. No prerequisites (e.g., an existing backup file, an active connection) or conditions are stated.

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

revoke_privilegesC

Revoga privilégios de um usuário

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoHost do usuário%
tableNoTabela para revogar privilégios*
databaseNoDatabase para revogar privilégios*
usernameYesNome do usuário
privilegesYesLista de privilégios a revogar
connectionNameNoNome da conexão para usar

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations at all, the description carries the full burden, and it says nothing beyond the bare action. It does not disclose that this is an irreversible write with potentially disruptive effects (locking a user out of the database), nor any permission or connection prerequisites.

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

Conciseness3/5

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

It is a single short, front-loaded sentence with no wasted words, but the brevity comes at the cost of required substance rather than from efficient communication, so it reads more as under-specification than conciseness.

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

Completeness2/5

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

For a destructive, six-parameter privilege-management tool with no annotations and no output schema, one bare sentence leaves too much unsaid: which privileges exist, whether the operation is reversible, what the default wildcards imply, and what happens on partial failure are all unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters (host, table, database, username, privileges, connectionName) are already documented in the schema. The description adds no semantics beyond that, which is the baseline case.

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

Purpose3/5

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

The description states a specific verb and resource ('Revoga privilégios de um usuário'), so the core action is clear. However it gives no scope detail (database/table/host dimensions) and does nothing to distinguish itself from the near-mirror sibling grant_privileges or from list_privileges/show_grants.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no mention of the obvious alternative grant_privileges. An agent must infer the inverse relationship itself.

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

show_grantsC

Mostra os privilégios de um usuário

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoHost do usuário%
usernameYesNome do usuário
connectionNameNoNome da conexão para usar

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only implies a read operation through the verb 'Mostra'. It doesn't disclose whether elevated permissions are required to view another user's grants, whether the result includes role-derived privileges, or anything about the response shape.

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

Conciseness3/5

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

A single short sentence is front-loaded and waste-free, but it is terse to the point of under-specification rather than being efficient communication of necessary detail.

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

Completeness2/5

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

For a 3-parameter tool with no annotations and no output schema, the description is inadequate: it never clarifies the read-only nature, the required permissions, or how it differs from the many sibling privilege tools. The safety profile and output expectations must be inferred.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents username, host, and connectionName. The description adds no parameter-level detail beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource ('Mostra os privilégios de um usuário') that clearly identifies the operation. However, it does nothing to distinguish this tool from the sibling 'list_privileges' (or 'audit_user_access'), leaving the agent to guess which privilege-listing tool applies.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus 'list_privileges', 'grant_privileges', or 'revoke_privileges'. No prerequisites, no context about the scoping by username, and no exclusions are mentioned.

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

test_all_connectionsB

Testa todas as conexões configuradas

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It says nothing about whether the test is read-only, whether it stops at the first failure or reports per-connection results, whether it requires elevated privileges, or whether it has side effects such as logging or locking.

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

Conciseness4/5

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

A single, front-loaded sentence with no waste. It is on the thin side for a tool with no annotations or output schema, but there is no filler.

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

Completeness3/5

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

For a zero-parameter tool the description is minimally adequate, but with no annotations and no output schema it never explains what the test returns (e.g. per-connection pass/fail) or what happens on partial failure, which an agent needs to interpret results.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to clarify; baseline 4 applies. No parameter documentation is needed or missing.

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

Purpose4/5

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

States a specific verb+resource ('Testa... conexões') and the scope 'todas as conexões configuradas'. The plural scope implicitly distinguishes it from the sibling test_connection (singular), though it never names that sibling or contrast explicitly.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no routing between this tool and test_connection, get_connections_status, or list_connections. The agent must infer that 'all' means bulk verification rather than a per-connection operation.

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

test_connectionB

Testa uma conexão específica com o banco MySQL

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionNameYesNome da conexão a ser testada

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: whether the test opens an actual socket/authenticates, whether it is read-only and side-effect free, what a failure looks like, or whether results are cached. Only the bare action is stated.

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

Conciseness4/5

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

A single short sentence with no filler and the verb front-loaded. It is efficient, though it may be over-concise given everything it leaves unsaid.

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

Completeness3/5

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

For a one-parameter diagnostic tool with no output schema and no annotations, the description covers the minimum. It fails to say what the test returns (success/failure, latency, error detail) or what happens on a failed connection, which an agent would want before invoking.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter, and the description adds no syntax, format, or example beyond the schema's 'Nome da conexão a ser testada'. Baseline 3 applies when the schema already does the work.

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

Purpose4/5

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

Names a specific verb+resource ('testa uma conexão ... com o banco MySQL'), which is unambiguous about what the tool does. The word 'específica' implicitly distinguishes it from the sibling test_all_connections, though that sibling is never named.

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

Usage Guidelines3/5

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

Usage is only implied: 'específica' hints at testing one connection rather than all, which is the natural contrast with test_all_connections. There is no explicit statement of when to prefer this over that sibling, nor any prerequisite (e.g. the connection must already exist / be configured).

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.

  1. 39 tool updatesv1.2.5
    • First observedanalyze_indexes
    • First observedanalyze_table
    • First observedapply_retention_policy
    • First observedarchive_old_data
    • First observedaudit_user_access
    • First observedchange_password
    • First observedcheck_database_health
    • First observedcheck_password_policy
    • First observedcheck_sensitive_tables
    • First observedcompress_table
    • First observedcreate_backup
    • First observedcreate_partition
    • First observedcreate_schema
    • First observedcreate_user
    • First observeddetect_suspicious_activity
    • First observeddrop_partition
    • First observeddrop_schema
    • First observeddrop_user
    • First observedget_connections_status
    • First observedget_constraints
    • First observedget_foreign_keys
    • First observedget_indexes
    • First observedget_table_info
    • First observedget_table_structure
    • First observedgrant_privileges
    • First observedlist_backups
    • First observedlist_connections
    • First observedlist_privileges
    • First observedlist_routines
    • First observedlist_schemas
    • First observedlist_tables
    • First observedlist_users
    • First observedlist_views
    • First observedmonitor_schema_changes
    • First observedrestore_backup
    • First observedrevoke_privileges
    • First observedshow_grants
    • First observedtest_all_connections
    • First observedtest_connection

TDQS

C2.7/5.0

Scored across 39 tools

Disambiguation3/5

Most tools target distinct resources, but several pairs overlap confusingly: get_table_info vs get_table_structure, list_tables (which claims to include views) vs list_views, and get_indexes vs analyze_indexes. Descriptions partially disambiguate but an agent could still easily misselect among the table-info cluster.

Naming Consistency5/5

Every tool follows a clean snake_case verb_noun pattern (create_user, drop_schema, list_backups, grant_privileges). The convention is applied uniformly with no camelCase or stylistic deviations.

Tool Count3/5

39 tools is heavy for a single server and pushes into the over-large range. The breadth (users, connections, schemas, monitoring, backups, maintenance) partly justifies it, but several single-purpose tools could be consolidated.

Completeness3/5

Strong coverage of administration/introspection (user lifecycle, schema CRUD, backups, maintenance, monitoring), but there is no tool to actually query, read, insert, or modify table data, and no table create/drop — a notable gap for a MySQL server.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides comprehensive MySQL database operations including CRUD, performance optimization, health analysis, and anomaly detection. Supports multiple connection modes, OAuth2.0 authentication, and role-based permissions for database management through natural language.
    9
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language database operations on MySQL databases with AI integration, supporting CRUD operations, schema inspection, and audit logging with built-in security features including SQL injection protection and permission controls.
    317 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables interaction with MySQL databases (including AWS RDS and cloud instances) through natural language, supporting query execution, schema inspection, index management, and comprehensive database operations with secure SSL connections.
    8
    2 npm
    MIT