MCP SQL Server
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a clearly distinct purpose: sql_capabilities provides metadata about the server, sql_describe_table describes a specific table's structure, sql_list_tables enumerates available tables/views, sql_run executes a single SQL statement, and sql_run_script handles multiple statements. There is no overlap or ambiguity between these functions.
Naming Consistency5/5All tool names follow a consistent snake_case pattern with a 'sql_' prefix and descriptive verb_noun combinations (e.g., sql_list_tables, sql_run_script). This uniformity makes the tool set predictable and easy to understand.
Tool Count5/5With 5 tools, the server is well-scoped for SQL operations. Each tool serves a specific, essential function in a database interaction workflow, from discovery (list_tables, describe_table) to execution (run, run_script), and configuration (capabilities). No tool feels redundant or missing.
Completeness4/5The tool set covers core SQL operations effectively: listing and describing tables, running queries and scripts, and checking server capabilities. A minor gap is the lack of tools for schema modification (e.g., create/alter/drop tables) or transaction management, but agents can work around this using sql_run for such operations.
Average 3.3/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits 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
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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.jsonto 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
- 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 describes what the tool does but lacks critical details: it doesn't specify if this is a read-only operation, what permissions are required, how errors are handled, or the format of the output. For a metadata query tool with zero annotation coverage, this is a significant gap in 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Spanish that directly states the tool's function without unnecessary words. It's front-loaded with the core purpose, making it easy to parse quickly. Every part of the sentence earns its place by specifying what is described.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (a metadata query with one parameter), no annotations, and an output schema present, the description is minimally adequate. It covers the basic purpose but lacks details on usage, behavior, and parameter nuances. The output schema mitigates the need to explain return values, but overall completeness is limited, aligning with a score of 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning the input schema provides no descriptions for parameters. The description adds some value by implying the 'table_name' parameter is used to specify which table to describe, but it doesn't clarify syntax, format, or constraints. With one parameter and low schema coverage, the description partially compensates but not fully, warranting a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Describe columnas, PK, FK e índices de una tabla' (Describe columns, primary keys, foreign keys, and indexes of a table). It specifies the verb 'describe' and the resource 'table', with details about what aspects are described. However, it doesn't explicitly differentiate from sibling tools like sql_list_tables or sql_capabilities, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. It doesn't mention sibling tools like sql_list_tables (for listing tables) or sql_capabilities (for broader metadata), nor does it specify prerequisites or exclusions. This leaves the agent with minimal context for tool selection.
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 states this executes SQL statements but doesn't cover critical aspects like whether it's read-only or destructive, authentication requirements, transaction behavior, error handling, or rate limits. For a SQL execution tool, this is a significant gap in safety and operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Spanish that directly states the tool's function. It's front-loaded with the core purpose and includes the key detail about optional named parameters without any unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (SQL execution with parameters), lack of annotations, and 0% schema description coverage, the description is incomplete. However, the presence of an output schema means the agent can infer return values from structured data, raising the baseline. The description covers the basic action but misses critical behavioral and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter documentation. The description adds some value by explaining that 'params' are 'parámetros nombrados opcionales' (optional named parameters), but it doesn't clarify the format of 'statement' (e.g., SQL dialect, allowed operations) or provide examples. It partially compensates but leaves key details undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Ejecuta una sentencia SQL individual usando parámetros nombrados opcionales' (Executes a single SQL statement using optional named parameters). It specifies the verb ('ejecuta'), resource ('sentencia SQL'), and scope ('individual'), though it doesn't explicitly differentiate from sibling tools like sql_run_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/5Does 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. It doesn't mention sibling tools like sql_run_script (for scripts vs. single statements) or sql_list_tables/sql_describe_table (for metadata queries), leaving the agent to guess based on tool names 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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool describes configuration and operations, implying a read-only, informational function, but doesn't specify details like whether it requires authentication, returns structured data, or has any side effects. For a tool with zero annotation coverage, this leaves significant gaps in understanding its 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence in Spanish: 'Describe la configuración activa y operaciones soportadas.' It is front-loaded with the core purpose and wastes no words, making it efficient and easy to parse. Every part of the sentence contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (0 parameters, no annotations, but with an output schema), the description is minimally adequate. It explains what the tool does but lacks details on usage context, behavioral traits, or how it differs from siblings. The presence of an output schema means the description doesn't need to explain return values, but overall, it's incomplete for effective agent use without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the schema description coverage is 100% (since there are no parameters to describe). In such cases, the baseline score is 4, as there's no need for the description to compensate for missing parameter information. The description doesn't add parameter semantics, but that's acceptable given the lack of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Describe la configuración activa y operaciones soportadas' (Describe active configuration and supported operations). It uses a specific verb ('describe') and identifies the resource ('active configuration and supported operations'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like sql_describe_table or sql_list_tables, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. There are multiple sibling SQL tools (sql_describe_table, sql_list_tables, sql_run, sql_run_script), but the description doesn't indicate when sql_capabilities is appropriate compared to these other tools. No context or exclusions are mentioned.
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 but only states the action without disclosing behavioral traits like permissions needed, rate limits, or output format. It mentions 'esquema actual' which adds some context but is insufficient for a mutation-free 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Spanish that directly states the tool's purpose without any wasted words. It is front-loaded and appropriately sized for its simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 params, read-only listing), an output schema exists, and schema coverage is high, the description is minimally adequate. However, it lacks details on scope or behavior that could enhance completeness, such as what 'esquema actual' entails or how results are structured.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter info is needed. The description doesn't add param semantics, but with zero params, the baseline is appropriately high as there's nothing to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Lista') and resource ('tablas y vistas disponibles en el esquema actual'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like sql_describe_table or sql_run, which prevents a score of 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as sql_describe_table for detailed table info or sql_run for querying. The description implies usage for listing but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/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 effectively describes key behavioral traits: executes multiple statements sequentially and stops at the first error. This provides important context about transaction-like behavior and error handling that isn't captured elsewhere. However, it doesn't mention permissions, rate limits, or what happens on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that communicates both the core functionality and a critical behavioral constraint. Every word earns its place, with no wasted verbiage. The structure is front-loaded with the main purpose followed by the important behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (which handles return values) and only one parameter, the description provides good contextual completeness. It covers the key behavioral aspects (sequential execution, error stopping) that aren't captured in structured fields. For a single-parameter tool with output schema, this is reasonably complete, though it could mention permissions or other constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter documentation. The description doesn't explicitly mention the 'script' parameter or explain its format, content requirements, or syntax. However, the description implies the parameter contains multiple SQL statements, which adds some semantic context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Ejecuta múltiples sentencias SQL en secuencia' (executes multiple SQL statements in sequence). It specifies the verb (execute) and resource (SQL statements) with additional detail about sequential execution. However, it doesn't explicitly differentiate from sibling tools like 'sql_run' which might handle single statements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance through the phrase 'se detiene al primer error' (stops at the first error), suggesting this tool is appropriate for batch operations where atomic execution is desired. However, it doesn't explicitly state when to use this vs. alternatives like 'sql_run' or provide any exclusion criteria.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/miguel1603/MCP-SQL'
If you have feedback or need assistance with the MCP directory API, please join our Discord server