Skip to main content
Glama
sharansahu

MCP SQL Agent

by sharansahu

Server Quality Checklist

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

  • Disambiguation3/5

    Some tools have overlapping purposes that could cause confusion. 'describe_table' and 'get_schema' both provide table structure information, with 'get_schema' covering the entire database while 'describe_table' focuses on a specific table. 'list_tables' and 'search_tables' also overlap in table discovery functionality, though 'search_tables' adds keyword filtering.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with clear, descriptive names. The naming convention is uniform throughout: describe_table, get_schema, list_tables, query_data, and search_tables all use the same structure and are immediately understandable.

    Tool Count4/5

    Five tools is a reasonable number for an SQL agent, providing core database interaction capabilities without being overwhelming. The count feels slightly lean but covers essential operations for exploring and querying databases, though additional tools for data manipulation might be expected.

    Completeness3/5

    The toolset covers exploration and querying well but lacks data manipulation operations. There are no tools for creating, updating, or deleting tables or records, which are common SQL operations. The surface is complete for read-only database interaction but incomplete for full database management.

  • Average 3.2/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
  • 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

  • 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. While it implies a read operation ('Get detailed information'), it doesn't specify whether this requires permissions, what happens if the table doesn't exist, whether it's cached or real-time, or any rate limits. The description is minimal and lacks crucial behavioral 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/5

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

    The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and includes key details (columns and sample data) without unnecessary elaboration.

    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 has an output schema (which should document return values), the description doesn't need to explain outputs. However, for a tool with no annotations and low schema coverage, the description is too minimal—it lacks behavioral context and parameter guidance, making it incomplete for safe and effective use by an AI agent.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the schema provides no parameter details. The description doesn't add any parameter-specific information beyond implying 'table_name' is required. It doesn't explain what format the table name should be in, whether it's case-sensitive, or provide examples. Baseline 3 is appropriate as the description doesn't compensate for the low schema 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 description clearly states the tool's purpose with specific verbs ('Get detailed information') and resources ('about a specific table'), and it specifies what information is included ('columns and sample data'). However, it doesn't explicitly distinguish this tool from its sibling 'get_schema', which might also provide schema information about tables.

    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 like 'get_schema', 'list_tables', or 'query_data'. It doesn't mention prerequisites, exclusions, or specific contexts where this tool is preferred over siblings.

    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 searches for tables or columns by keyword but does not disclose critical behavioral traits such as whether the search is case-sensitive, if it returns partial matches, the format of results (e.g., list of table names, detailed metadata), pagination, rate limits, or authentication requirements. For a search 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/5

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

    The description is a single, clear sentence: 'Search for tables or columns containing a specific keyword.' It is front-loaded with the core purpose, has no redundant or vague language, and efficiently conveys the essential information without waste. Every word earns its place, making it highly concise and well-structured.

    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 moderate complexity (a search function with one parameter) and the presence of an output schema (which should cover return values), the description is minimally complete. It states what the tool does but lacks details on behavioral aspects like search behavior, result format, or error handling. With no annotations and low schema coverage, the description does not fully compensate, but the output schema may help, resulting in an adequate but incomplete overall 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?

    The input schema has one parameter ('keyword') with 0% description coverage, meaning the schema provides no semantic details. The description adds value by explaining that the keyword is used to 'search for tables or columns,' giving basic context. However, it does not specify constraints (e.g., minimum length, allowed characters), examples, or how the keyword is applied (e.g., exact match vs. substring), leaving the agent with incomplete guidance. This meets the baseline for minimal parameter semantics.

    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 purpose: 'Search for tables or columns containing a specific keyword.' It specifies the verb ('search'), resource ('tables or columns'), and scope ('containing a specific keyword'), making the intent unambiguous. However, it does not explicitly differentiate from siblings like 'list_tables' (which might list all tables without searching) or 'describe_table' (which might describe a specific table), so it falls short of 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/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. It does not mention siblings such as 'list_tables' (for listing all tables), 'describe_table' (for detailed info on a specific table), or 'query_data' (for querying data within tables), leaving the agent to infer usage context. This lack of explicit when-to-use or when-not-to-use instructions results in a low score.

    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 the tool retrieves schema and sample data, but doesn't cover critical aspects like whether this is a read-only operation, potential performance impacts, data freshness, or error handling. 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/5

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

    The description is a single, efficient sentence that front-loads the core purpose ('Get the complete database schema') and adds specific details ('with table structures and sample data') without any wasted words. It's appropriately sized for a simple tool with no parameters.

    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 (0 parameters, output schema exists), the description is minimally adequate. However, with no annotations and sibling tools present, it lacks context on when to use it versus alternatives and behavioral details. The output schema will cover return values, but the description doesn't fully address the tool's role in the broader context.

    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 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here, but since there are no parameters to explain, it doesn't need to compensate for any gaps. Baseline 4 is assigned as per rules for 0 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 clearly states the tool's purpose with a specific verb ('Get') and resource ('complete database schema'), including what it retrieves ('table structures and sample data'). However, it doesn't explicitly differentiate from sibling tools like 'describe_table' or 'list_tables', which likely provide overlapping or related schema 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?

    No guidance is provided on when to use this tool versus alternatives such as 'describe_table', 'list_tables', or 'search_tables'. The description implies a comprehensive schema retrieval but doesn't specify use cases, prerequisites, or exclusions, leaving the agent to infer usage from context 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 action but doesn't cover aspects like pagination, sorting, rate limits, permissions required, or what the output includes (e.g., table names only or metadata). This leaves significant gaps for an agent to understand how to use it effectively.

    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 wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by conveying essential information.

    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 (0 parameters, output schema exists), the description is minimally adequate. However, with no annotations and siblings like 'search_tables', it lacks context on when to use it versus alternatives. The output schema should cover return values, but behavioral aspects like performance or limitations are missing.

    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 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add parameter details, but that's appropriate here, as there are no parameters to explain. A baseline of 4 is given for tools with no 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 clearly states the verb ('List') and resource ('all tables in the database'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'search_tables' or 'describe_table', which could offer similar functionality with different scopes or details.

    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 'search_tables' (for filtered searches) or 'describe_table' (for detailed metadata). The description implies a broad listing but doesn't specify use cases, 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 mentions 'safely' but doesn't explain what that entails (e.g., read-only vs. write operations, error handling, or performance limits). This leaves significant gaps in understanding how the tool behaves beyond basic execution.

    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 highly concise with two sentences that are front-loaded and waste no words. Each sentence serves a clear purpose: stating the tool's function and providing a usage guideline.

    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 complexity (executing arbitrary SQL queries) and the presence of an output schema (which handles return values), the description is minimally adequate. However, with no annotations and low parameter coverage, it lacks details on safety, constraints, and error handling that would be helpful for an AI agent.

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

    Parameters2/5

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

    The schema description coverage is 0%, so the description must compensate. It only implies that the 'sql' parameter is for SQL queries without adding details like supported syntax, constraints, or examples. This fails to adequately clarify the parameter's meaning beyond the basic 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 ('Execute SQL queries') and resource ('database'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from its siblings like 'describe_table' or 'search_tables', which also interact with database structures.

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

    Usage Guidelines4/5

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

    The description provides clear guidance to 'Use get_schema() first to understand the database structure,' which helps the agent know when to use this tool in relation to a sibling. However, it doesn't specify when NOT to use it or mention alternatives like 'list_tables' for other purposes.

    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

mcp-sql MCP server

Copy to your README.md:

Score Badge

mcp-sql 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/sharansahu/mcp-sql'

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