Skip to main content
Glama
eeantoss

mysql-mcp-server

by eeantoss

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v2.0.0

  • Disambiguation2/5

    Several tools have overlapping purposes: database_execute_sql, database_execute_script, and database_execute_batch all execute SQL but with subtle differences, while database_connect, database_connect_environment, and database_switch_environment cover similar connection territory. The presence of check_node_version, which has nothing to do with database operations, further confuses tool selection.

    Naming Consistency3/5

    Most tools follow a consistent database_verb_noun pattern (e.g., database_connect, database_execute_sql), but the lone check_node_version breaks the convention entirely. The naming is readable but not fully uniform.

    Tool Count3/5

    At 14 tools, the count is at the high end of the typical range but still acceptable for a database server. However, the inclusion of check_node_version, which is unrelated to MySQL/PostgreSQL work, suggests the count could be reduced or the tool placed in a separate utility server.

    Completeness4/5

    The tool set covers core database operations well: connecting, disconnecting, testing, executing SQL (single, script, batch), retrieving schema, managing project environments, and listing sessions. Minor gaps like explicit transaction control are not critical for a basic MCP database server, so the surface is fairly complete.

  • Average 3.2/5 across 14 of 14 tools scored. Lowest: 2.4/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior1/5

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

    With no annotations, the description carries the full burden of disclosing behavioral traits, but it only says 'Connect'. It fails to mention that this likely creates a persistent session, may require cleanup via database_disconnect, how authentication works, or what happens on duplicate connections. The description is essentially a label, not an explanation.

    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 short sentence, which is concise but not appropriately structured for a tool with 13 parameters and multiple connection types. It lacks any kind of organization or detail that would guide an agent, making it under-specified rather than elegantly concise.

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

    Completeness1/5

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

    Given the tool's complexity (13 parameters, no output schema, no annotations), the description is severely incomplete. It does not explain what a successful connection yields, how connection sessions are managed, or how this tool fits into the broader database workflow. The omission of side effects and return behavior leaves the agent with insufficient context.

    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 the schema itself includes detailed descriptions for all 13 parameters, including defaults and enums. The description adds no extra parameter insight, but the baseline of 3 applies because the schema already thoroughly documents parameters.

    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 the verb 'Connect' and the resource 'MySQL or PostgreSQL database', making the core purpose clear. However, it does not distinguish this tool from siblings like database_test_connection or database_connect_environment, which also relate to connecting or establishing sessions.

    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 guidance on when to use this tool versus alternatives such as database_test_connection or database_connect_environment. There are no mentions of prerequisites, connection types, or typical scenarios.

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

  • Behavior2/5

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

    The description only says 'Connect' without revealing side effects (e.g., session creation, persistent state) or prerequisites beyond 'detected'. With no annotations, the description carries the full burden but provides minimal behavioral disclosure.

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

    Conciseness4/5

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

    The description is a single concise sentence with no wasted words. It is appropriately short for the tool's simplicity, though its brevity contributes to lack of 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?

    Given the simple schema and lack of annotations, the description should provide more context about when to use this tool, what 'connect' implies (session, transaction, etc.), and any prior steps like environment detection. It is too minimal for safe invocation.

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

    Parameters4/5

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

    Schema coverage is 100% with a clear param description. The description adds the qualifier 'detected,' which clarifies that the environment must be one that was previously discovered, thereby adding meaning beyond the schema.

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

    Purpose4/5

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

    The description clearly states the action ('Connect') and the resource ('specific detected database environment'), distinguishing it from the generic database_connect by requiring a previously detected environment. It is specific but not as precise as naming the exact purpose or differentiating from database_switch_environment.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives like database_connect or database_switch_environment. The word 'detected' implies a prerequisite, but there is no clear statement of prerequisites or exclusions.

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

  • 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. It does not state whether the operation is read-only, whether it scans files, network access is needed, or any side effects. The term 'detect' implies a non-mutating operation, but this is not explicitly stated.

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

    Conciseness5/5

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

    The description is a single sentence, front-loaded with the verb and object. Every word contributes to the core meaning, with no redundancy or filler. It is appropriately sized for a simple tool.

    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 tool with one parameter and no output schema, the description is mostly adequate but does not explain the return value or any behavioral details like what 'detect' produces (e.g., a configuration object). The lack of output schema increases the need for description, but given the low complexity, a score of 3 is appropriate.

    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 schema already provides a full description of the sole parameter 'projectPath' as 'Path to the project directory'. The tool description adds little beyond that, merely echoing 'project directory'. Since schema description coverage is 100%, the baseline is 3; there is no extra semantic value added.

    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 'Detect database configuration from a project directory' clearly identifies the verb ('detect'), the resource ('database configuration'), and the context ('project directory'). This is specific enough to distinguish it from sibling tools like database_connect or database_execute_sql, though it could be more explicit about what detection entails.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. The description simply states what it does without mentioning prerequisites, use cases, or exclusions. There is no reference to sibling tools or scenarios where this should be preferred.

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

  • 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 reveals the dependency on an active connection but does not disclose transaction behavior, error handling, whether results are returned, or whether the batch is atomic. This is a significant gap for a mutation-capable SQL tool.

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

    Conciseness4/5

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

    The description is a single clear sentence with no wasted words. It is appropriately front-loaded, though it sacrifices necessary detail for brevity.

    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?

    The tool has no output schema and no annotations, and batch SQL execution is complex. The description only notes the active connection requirement, leaving out behavior on failure, return values, and the distinction from script execution. This is insufficient for an agent to use the tool 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?

    The schema description covers 100% of parameters with the 'batch' array described. The tool description does not add additional parameter guidance beyond restating that it executes multiple statements. Baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action (execute), the object (multiple SQL statements as a batch), and the scope (active database connection). It distinguishes from sibling database_execute_sql, which likely handles a single statement, though it doesn't explicitly differentiate from database_execute_script.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool instead of database_execute_sql or database_execute_script. The word 'batch' implies multiple statements, but there is no explicit statement of prerequisites (e.g., must have an active connection) or when to use alternatives.

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

  • 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 operation via 'get', but does not disclose what the summary contains, whether a connection is required, or what happens if no project is detected. This is minimal behavioral disclosure.

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

    Conciseness5/5

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

    The description is a single concise sentence, front-loaded with the verb and resource. Every word earns its place, with no filler or redundancy.

    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?

    The tool is simple (no params, no output schema), but the description omits important context: what a 'project summary' includes, whether a prior project detection or active connection is needed, and what happens in error cases. For a getter that depends on global state, this is incomplete.

    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 has zero parameters, so the schema is empty and needs no explanation. The description adds context by indicating the tool operates on the 'currently detected project', which is useful implicit state information. Baseline for 0 params is 4, and this description meets it.

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

    Purpose4/5

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

    The description clearly states the tool's action (get) and resource (summary of the currently detected project), which distinguishes it from siblings like database_get_schema and database_detect_project. However, 'summary' is somewhat vague, so it doesn't fully achieve 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?

    No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., 'after detecting a project') or exclusions, leaving the agent to infer usage 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.

  • Behavior2/5

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

    With no annotations, the description must carry the full burden of behavioral disclosure. It only states the high-level action but does not explain side effects, such as whether switching closes existing connections, changes the default environment for subsequent commands, or requires an active connection. This is insufficient for a state-changing tool.

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

    Conciseness5/5

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

    The description is a single, concise sentence that is immediately understandable. Every word earns its place, and there is no redundant or verbose phrasing.

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

    Completeness3/5

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

    Given the tool's simplicity (one parameter, no output schema), the description is minimally adequate. However, the presence of similar sibling tools like 'database_connect_environment' and the lack of usage guidance or behavioral nuance make it incomplete for an agent to confidently select and invoke the tool without ambiguity.

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

    Parameters3/5

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

    Schema coverage is 100% and the parameter 'environmentName' is described as 'Name of the environment to switch to'. The description adds only the word 'detected', which provides minor context that the environment must already be known, but it does not add substantive meaning beyond the schema.

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

    Purpose4/5

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

    The description 'Switch to a different detected database environment' clearly states the action (switch) and the resource (database environment), and adds 'detected' to indicate it operates on already known environments. However, it does not differentiate from the sibling tool 'database_connect_environment', which may have a similar 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 guidance about when to use this tool versus alternatives like 'database_connect_environment' or 'database_list_environments'. The description implies it is used after detection but does not state prerequisites, behavior relative to current sessions, or exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full responsibility for disclosing behavior. It only says 'Test' without explaining what the test does (e.g., ping, verify credentials), whether it has side effects, or what the return/error behavior 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.

    Conciseness5/5

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

    The description is a single concise sentence of eight words with no redundant information. It is appropriately sized for a tool with no parameters and a simple function.

    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?

    Despite its simplicity, the description lacks essential context for a tool with no output schema and no annotations. It does not state what a successful test returns (e.g., a boolean, a message) or what failure conditions look like, leaving the agent uncertain about how to interpret the result.

    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 has zero parameters and the schema is empty (100% coverage), so there are no parameter semantics for the description to add. The baseline score of 4 applies since no parameter documentation 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 clearly states the action ('Test') and the resource ('the active database connection'), making the tool's purpose unambiguous. However, it doesn't distinguish from sibling tools beyond the verb, so it lacks the specificity of a top-tier purpose statement.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like database_connect or database_execute_sql. There is no mention of prerequisites (e.g., 'use after connecting') or situations where this test is appropriate.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It only states 'Check Node.js version' without revealing what the tool actually does (e.g., executes a command, returns a string, or may fail if Node.js is missing). This is minimal and leaves significant ambiguity about behavior.

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

    Conciseness5/5

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

    The description is a single, concise sentence with no unnecessary words. It is front-loaded and immediately states the purpose, earning the maximum score for 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 simple zero-parameter, no-output-schema tool, the description is adequate but minimal. It does not mention what the returned information looks like (e.g., version string) or any potential failure modes, which would be useful context. However, its simplicity means it is not severely incomplete, warranting a middle score.

    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 has zero parameters, so the schema provides no parameter details. Per the baseline for zero-parameter tools, a score of 4 is appropriate since the description does not need to explain parameters, but could still mention any implicit inputs (e.g., environment variables).

    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 uses a specific verb ('Check') and resource ('Node.js version'), clearly distinguishing it from the database-focused sibling tools. However, it could be more precise by stating whether it returns the version or validates it, 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?

    The description provides no guidance on when to use this tool versus alternatives, nor any context for expected usage. While siblings are all database-related, the description itself does not mention any use cases or exclusions, leaving the agent without explicit direction.

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

  • Behavior2/5

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

    With no annotations, the description must convey behavioral traits. It states 'close' as a mutation but does not disclose side effects, reversibility, or error behavior (e.g., what happens if no connection is active). The description adds minimal value beyond the tool name.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no redundant words. It is front-loaded with the action verb and resource, making it efficient and easy to parse.

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

    Completeness3/5

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

    Given the tool's simplicity (one optional parameter, no output schema), the description is minimally adequate. However, it lacks context about return values, error conditions, or the effect of passing a sessionId, which could leave an agent uncertain about edge cases.

    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 schema provides a description for the sessionId parameter, so the description does not need to repeat it. The tool description adds no extra param semantics, but the baseline of 3 applies due to full schema coverage.

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

    Purpose5/5

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

    The description uses a specific verb 'Close' and identifies the resource 'database connection', clearly stating the action. It distinguishes from sibling tools like database_connect (which opens) and database_list_sessions (which lists), making the purpose 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?

    No guidance is provided about when to use this tool versus alternatives. The description only states what it does, not when to invoke it, nor does it mention any prerequisites or exclusions (e.g., not for closing other environments' connections).

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

  • 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 discloses that the tool executes a script and requires an active connection, but it does not mention side effects, return values, transaction handling, or error behavior—important for an execution tool.

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

    Conciseness5/5

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

    A single, front-loaded sentence conveys the essential action, resource, and context without any filler or redundant restatement of the tool name.

    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 one-parameter tool, the description covers purpose and prerequisite. However, with no output schema and no annotations, it omits expected return values and side-effect details, leaving notable gaps for an execution tool.

    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 schema only says the 'script' is a 'SQL script to execute'. The description adds valuable semantics: it is a multi-statement script, and it runs on the active database connection. This goes beyond the schema and helps the agent understand the parameter's role.

    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 uses a specific verb ('Execute') and names the resource ('SQL script') while adding scope ('multiple statements', 'active database connection'). It is close to distinguishing from siblings, but 'database_execute_batch' likely overlaps on multi-statement execution, so differentiation is not fully explicit.

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

    Usage Guidelines3/5

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

    The phrase 'on the active database connection' implies a prerequisite, and 'multiple statements' hints at the intended use case. However, it does not explicitly state when to prefer this tool over database_execute_sql or database_execute_batch.

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

  • Behavior2/5

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

    With no annotations provided, the description must carry full responsibility for disclosing behavior. It only says 'List active database sessions' without mentioning whether this is a read-only operation, whether it requires an existing connection, how 'active' is defined, or any potential side effects. This is minimal and lacks transparency.

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

    Conciseness5/5

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

    The description is a single, clear sentence that immediately conveys the purpose. It is concise and well-structured, with no unnecessary words or repetition.

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

    Completeness2/5

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

    Given the tool is simple (no parameters), the description is relatively complete for a basic list operation. However, there is no output schema, and the description does not explain what information is returned for each session, what 'active' means, or any operational requirements. This leaves gaps for an agent to correctly interpret the tool's behavior.

    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 has zero parameters, and the schema is empty. Per the rubric, a baseline of 4 is appropriate when there are no parameters. The description correctly matches this, adding no confusion about parameter usage.

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

    Purpose5/5

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

    The description exactly states the verb 'List' and the resource 'active database sessions', which clearly identifies what the tool does. It distinguishes itself from sibling tools like database_list_environments by focusing specifically on sessions.

    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 guidance on when to use this tool versus alternatives, nor any context about prerequisites, side effects, or intended scenarios. For a simple list operation, usage is implied, but no explicit guidance is given.

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

  • Behavior2/5

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

    No annotations, and the description only says 'get' without mentioning side effects, error conditions, connection requirements, or return structure. Lacks behavioral detail expected for a tool with zero annotation support.

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

    Conciseness5/5

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

    Single sentence that directly states the tool's function. No repetition or unnecessary qualifiers.

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

    Completeness4/5

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

    For a simple read-only tool with one optional parameter, the description adequately enumerates the returned metadata types. Could mention default schema behavior or connection dependency, but the parameter description covers the default aspect.

    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 only parameter 'schema' is fully described in the input schema (100% coverage). The description adds no extra semantic detail beyond what the schema already provides.

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

    Purpose5/5

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

    Says 'Get the database schema' with a specific list of schema elements (tables, columns, indexes, foreign keys, views). Clearly distinguishes from execute-style sibling tools.

    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?

    No explicit use-case guidance or comparison to alternatives. However, the purpose is clear enough that usage is implied; not misleading.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full behavioral disclosure burden. It only says 'execute' and does not disclose whether the SQL may be read-only or mutating, what side effects may occur, or what the return value looks like. The active connection context is a minor prerequisite but insufficient.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no unnecessary words. It states the action, resource, and key constraints efficiently.

    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 an arbitrary SQL execution tool with no output schema and no annotations, the description omits crucial return value information (e.g., result sets, affected rows), error behavior, and side effects. The sibling tool names suggest variants but provide no usage guidance. The description is too sparse to fully inform an agent about executing a potentially destructive statement safely.

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

    Parameters4/5

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

    Schema coverage is 100% with descriptions for both parameters, but the tool description adds the important constraint that the sql parameter must contain a single statement (not a script/batch). This adds semantic value beyond the schema's generic 'SQL statement to execute'.

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

    Purpose5/5

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

    The description uses a specific verb ('Execute') and resource ('SQL statement') with a clear scope qualifier ('single', 'active database connection'). It effectively distinguishes this tool from sibling tools like database_execute_script and database_execute_batch, which handle multiple statements.

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

    Usage Guidelines4/5

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

    The phrase 'single SQL statement' clearly implies usage for one statement only, distinguishing it from script/batch variants. It also hints at a prerequisite (active database connection). However, it does not explicitly name alternatives or state exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the burden of behavioral disclosure. It only states what the tool does, not whether it has side effects, read-only guarantees, or dependencies on prior connection/detection steps. It does not mention that it is a safe read operation.

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

    Conciseness5/5

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

    The description is a single, focused sentence that is easy to parse and front-loads the verb. No redundant information.

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

    Completeness4/5

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

    Given that this is a simple list operation with no parameters or output schema, the description provides sufficient context to understand its function. However, it does not explicitly describe the return format or any prerequisites, though these are implied by the tool's name and siblings.

    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 has zero parameters, and the schema is empty with 100% coverage (vacuously). Per the rubric, the baseline for 0 params is 4; the description does not need to elaborate on parameters.

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

    Purpose5/5

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

    The description clearly states the action (List) and the resource (database environments) with a scoping qualifier ('for the current project'). This differentiates it from sibling tools that connect or switch environments.

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

    Usage Guidelines3/5

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

    The description implies when to use the tool (to see detected environments) but does not explicitly state use cases or contrast with alternatives like database_connect_environment or database_switch_environment. 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.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mysql-mcp-server MCP server

Copy to your README.md:

Score Badge

mysql-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eeantoss/mysql-mcp-server'

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