Skip to main content
Glama
michaelyuwh

Enhanced MCP MSSQL Server

by michaelyuwh

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific database operations. There is no overlap: bulk_insert, describe_table, get_relationships, health_check, list_databases, list_tables, query, sample_data, and validate_query all serve unique functions in the MSSQL domain.

    Naming Consistency5/5

    All tools follow a consistent 'mssql_verb_noun' pattern with snake_case throughout. The naming is predictable and readable, making it easy for agents to understand the tool's function from its name alone.

    Tool Count5/5

    With 9 tools, this server is well-scoped for database management tasks. Each tool earns its place by covering essential operations like listing, querying, describing, and validating, without being overly sparse or bloated.

    Completeness4/5

    The toolset provides strong coverage for read operations, validation, and metadata queries in MSSQL. A minor gap exists in write operations beyond bulk_insert (e.g., update, delete, or stored procedure execution), but agents can work around this for most common database interactions.

  • Average 3/5 across 9 of 9 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 is passing
  • 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?

    With no annotations, the description carries full burden but only states basic functionality. It doesn't disclose behavioral traits like whether this is a read-only operation, potential performance impacts, authentication requirements beyond parameters, or how sample rows are selected (e.g., random vs. first N). The description is minimal and lacks critical context for safe use.

    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 appropriately sized and front-loaded, though it could benefit from more detail given the tool's complexity.

    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's complexity (9 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain return values, error handling, or how 'sample data' is defined, leaving significant gaps for an AI agent to use it correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema fully documents all 9 parameters. The description adds no meaning beyond what the schema provides—it doesn't explain parameter interactions, default behaviors, or usage examples. Baseline 3 is appropriate when schema does all the work.

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

    Purpose3/5

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

    The description 'Get sample data from a table' clearly states the verb ('Get') and resource ('sample data from a table'), but it's vague about scope and doesn't distinguish from siblings like 'mssql_query' or 'mssql_describe_table'. It doesn't specify what 'sample' means or how it differs from a full query.

    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 'mssql_query' for custom queries or 'mssql_describe_table' for schema info. The description implies a simple data retrieval 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 full burden but only mentions efficiency without disclosing critical behavioral traits such as authentication requirements, potential data overwriting, transaction handling, error behavior, or rate limits. It lacks details on what 'bulk operations' entail beyond the basic insert action.

    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 ('Insert multiple rows efficiently') without unnecessary words. It earns its place by conveying key information concisely.

    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's complexity (mutation with 9 parameters, no annotations, no output schema), the description is insufficient. It lacks details on authentication, data format expectations, error handling, and output behavior, leaving significant gaps 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 100%, so the schema fully documents all 9 parameters. The description adds no additional meaning beyond implying 'multiple rows' relates to the 'data' parameter, but it doesn't clarify parameter interactions or usage nuances, meeting the baseline for high 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 action ('Insert multiple rows') and resource ('using bulk operations'), specifying it's for efficiency. It distinguishes from basic insert operations but doesn't explicitly differentiate from sibling tools like mssql_query, which might also handle inserts.

    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 mentions 'efficiently' for bulk operations, implying usage for large datasets, but provides no explicit guidance on when to use this tool versus alternatives like mssql_query or other siblings. No exclusions or prerequisites are stated.

    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. While 'Get detailed information' implies a read-only operation, it doesn't explicitly state this or mention other behavioral traits like authentication requirements, potential performance impact, error conditions, or what format the detailed information will be returned in. The description is too minimal for a tool that interacts with a database system.

    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 states the core purpose without any wasted words. It's appropriately sized for a straightforward tool and gets directly to the point with no unnecessary elaboration.

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

    Completeness2/5

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

    For a database metadata tool with 8 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'detailed information' includes (columns, data types, constraints, indexes, etc.), doesn't mention authentication requirements despite the schema including user/password parameters, and provides no context about the complexity of the operation or expected output format.

    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 coverage is 100%, with all 8 parameters well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline of 3 for high schema coverage. It doesn't explain how parameters interact or provide usage examples.

    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 as 'Get detailed information about a table structure' which is a specific verb+resource combination. It distinguishes itself from siblings like mssql_list_tables (which lists tables) and mssql_query (which executes queries), though it doesn't explicitly mention these distinctions in the description text itself.

    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 doesn't mention when this tool is appropriate compared to mssql_list_tables (for listing tables) or mssql_get_relationships (for understanding table relationships), nor does it specify prerequisites or constraints for its use.

    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 but offers minimal information. It doesn't indicate whether this is a read-only operation, what format the relationships are returned in, whether it requires specific permissions, or any performance considerations. The description states what the tool does but not how it behaves.

    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 states the core purpose without unnecessary words. It's appropriately sized for a straightforward data retrieval tool and gets directly to the point with zero waste.

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

    Completeness2/5

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

    For a database tool with 8 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't address what the output looks like (structure, format), error conditions, authentication requirements beyond what's in the schema, or how it differs from related tools. The agent lacks critical context for proper tool selection and invocation.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already fully documents all 8 parameters. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain the optional 'table' parameter's effect on scope or provide context about relationship types. Baseline 3 is appropriate when schema does all the work.

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

    Purpose4/5

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

    The description clearly states the verb ('Get') and resource ('foreign key relationships for tables'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like mssql_describe_table or mssql_list_tables, but the specific focus on foreign key relationships provides reasonable distinction.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like mssql_describe_table (which might include relationship info) or mssql_list_tables. There's no mention of prerequisites, use cases, or comparison with sibling tools, leaving the agent to infer usage context.

    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. While it indicates this is a read operation ('List'), it doesn't describe what the output looks like (e.g., format, structure, or pagination), authentication requirements beyond the parameters, or any rate limits or constraints. This leaves significant gaps for a tool with connection parameters.

    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 directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.

    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 complexity of a database listing tool with connection parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the return format, error handling, or how 'access' is determined, leaving the agent with incomplete information to use the tool effectively.

    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 description adds no parameter-specific information beyond what's already in the schema, which has 100% coverage with detailed descriptions for all 6 parameters. The baseline score of 3 reflects adequate schema documentation, but the description doesn't compensate with additional context like parameter interactions or usage examples.

    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 ('List all databases') and the resource ('databases the user has access to'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'mssql_list_tables', which also lists resources but at a different level (tables vs databases).

    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 'mssql_list_tables' or 'mssql_query'. It doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.

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

  • 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. While 'List' implies a read operation, it doesn't specify whether this requires specific permissions, what format the output takes (e.g., table names only vs. metadata), or any limitations like pagination or rate constraints. This leaves significant gaps for a database 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, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for a straightforward listing operation and gets directly to the point.

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

    Completeness2/5

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

    For a database tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't address authentication requirements, connection behavior, output format, or how this differs from sibling tools. The agent would need to rely heavily on the input schema alone.

    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%, providing complete parameter documentation. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline expectation but doesn't enhance understanding of the 7 connection 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 action ('List') and target resource ('all tables in a database'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'mssql_list_databases' or 'mssql_describe_table', which would require more specific scope clarification.

    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. With siblings like 'mssql_list_databases' (lists databases) and 'mssql_describe_table' (describes specific table structure), the agent receives no help in selecting between these related listing/describing tools.

    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 states 'read-only SELECT query' which implies safety and query type, but lacks details on execution limits, error handling, result format, or performance implications. This is inadequate for a tool with 9 parameters and database operations.

    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 zero wasted words. It's front-loaded with the core functionality ('Execute a read-only SELECT query'), making it immediately actionable without unnecessary elaboration.

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

    Completeness2/5

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

    For a database query tool with 9 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., result set format), error conditions, or important behavioral aspects like transaction handling or timeout settings, leaving significant gaps for agent understanding.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema fully documents all 9 parameters. The description adds no parameter-specific information beyond implying the query must be SELECT-type. This meets the baseline for high schema coverage but doesn't enhance understanding of parameter interactions or constraints.

    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') and resource ('a read-only SELECT query'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like mssql_validate_query or mssql_sample_data, 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/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 mssql_validate_query (for validation) or mssql_sample_data (for sampling). It mentions 'read-only SELECT query' but doesn't clarify exclusions (e.g., no DML operations) or prerequisites beyond what's in the schema.

    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 mentions 'health and connectivity with performance metrics,' which implies a read-only diagnostic operation, but doesn't specify what metrics are included, whether it's safe to run frequently, or if it requires specific permissions. For a tool with 7 parameters and no 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: 'Check database server health and connectivity with performance metrics.' It's front-loaded with the core purpose and avoids any unnecessary words, making it highly concise and well-structured for quick comprehension.

    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 (7 parameters, no annotations, no output schema), the description is minimally adequate. It states the purpose clearly but lacks details on behavior, usage context, and output format. Without annotations or an output schema, the agent must rely heavily on the input schema and may struggle with how to interpret results, leaving room for improvement.

    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%, meaning all parameters are documented in the input schema with clear descriptions. The description adds no additional parameter information beyond implying that metrics might be included via 'includeMetrics.' Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate for any gaps.

    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: 'Check database server health and connectivity with performance metrics.' It specifies the verb ('Check'), resource ('database server'), and scope ('health and connectivity with performance metrics'), making it easy to understand. However, it doesn't explicitly differentiate from siblings like mssql_query or mssql_list_databases, which might also involve connectivity checks, so it's not a perfect 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. It doesn't mention prerequisites, such as needing valid credentials, or compare it to siblings like mssql_list_databases for basic connectivity. Without any explicit when/when-not statements or named alternatives, the agent must infer usage from the purpose alone.

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

  • Behavior3/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 validation is for 'security and syntax' and occurs 'without executing it', which is useful behavioral context. However, it doesn't mention error handling, response format, or performance implications (e.g., timeouts), leaving some gaps for a tool with no annotation coverage.

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

    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 ('Validate a SQL query') and adds key qualifiers ('for security and syntax without executing it'). Every word earns its place with zero waste, 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.

    Completeness4/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 (validation without execution), no annotations, and no output schema, the description is mostly complete. It covers the purpose and key behavioral trait (non-execution) but lacks details on output format or error handling. It's adequate but could be more comprehensive for full agent guidance.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents both parameters fully. The description doesn't add any meaning beyond what the schema provides (e.g., it doesn't explain what 'security' validation entails or give examples). Baseline 3 is appropriate as the schema does the heavy lifting.

    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 specific action ('validate a SQL query') and the resource ('SQL query'), distinguishing it from siblings like mssql_query (which executes) and mssql_describe_table (which inspects structure). It explicitly notes the validation is for 'security and syntax without executing it', 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 Guidelines5/5

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

    The description explicitly states when to use this tool: to validate queries 'without executing it', which directly contrasts with mssql_query (which executes). This provides clear guidance on choosing this tool over its sibling for pre-execution checks, with no misleading or missing exclusions.

    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-mssql-connector MCP server

Copy to your README.md:

Score Badge

mcp-mssql-connector 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/michaelyuwh/mcp-mssql-connector'

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