Skip to main content
Glama
is-jvelez

mssql-mcp

by is-jvelez

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 targets a distinct resource type (tables, views, triggers, SPs) or action (list, get definition, get dependencies, run query). get_table_definition and get_object_definition are separated clearly for tables vs. code objects. No overlapping purposes.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern: list_* for enumerating objects, get_* for retrieving definitions/dependencies, and run_select_query for queries. The naming is predictable and uniform.

    Tool Count5/5

    With 8 tools, the server is well-scoped for its purpose: browsing database metadata and running read-only queries. Each tool earns its place and the count is neither too thin nor overwhelming.

    Completeness5/5

    The tool set covers the full read-only lifecycle: listing all object types, retrieving table schemas and code definitions, analyzing dependencies, and executing SELECT queries. There are no obvious gaps for the stated domain of database exploration.

  • Average 3.1/5 across 8 of 8 tools scored. Lowest: 2.1/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

  • Behavior2/5

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

    With no annotations provided at all, the description carries the full burden of behavioral disclosure. It provides no information about whether this is a read-only operation, whether schema filtering is supported despite the schema parameter existing, what the returned view definitions contain, or if it follows the same behavior as sibling listing tools.

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

    Conciseness3/5

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

    The single-sentence description is concise and front-loaded in Spanish. There is no wasted text, but it errs on the side of under-specification rather than appropriate conciseness.

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

    Completeness2/5

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

    For a tool with 2 undocumented parameters, no annotations, no output schema, and multiple closely-related sibling tools, this description is inadequate. It does not explain return format, filtering behavior, parameter semantics, or relationship to sibling tools like list_tables.

    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?

    Schema description coverage is 0%, so the description must compensate for the two undocumented parameters (schema, namePattern). It fails to do so — neither parameter is mentioned in the description. The agent is left guessing what these parameters mean and how they filter results.

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

    Purpose2/5

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

    The description 'Lista las vistas de la base de datos' (Lists the views of the database) states the verb and resource with reasonable clarity. However, it does not distinguish itself from sibling tools like list_tables or list_triggers which follow the same 'list X' pattern, and there's no mention of scope or filtering capabilities.

    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 on when to use this tool versus alternatives. The siblings list includes list_tables, list_triggers, and list_stored_procedures which are directly comparable 'listing' tools; the description gives no exclusions or context on which scenario calls for views specifically. No mention of optional filtering via schema or namePattern.

    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 doesn't mention whether this is a read-only operation (though 'lista' implies so), whether it requires special permissions, what happens with an empty database, or the output format. For a read-only listing tool, the description adds minimal behavioral context beyond the verb.

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

    Conciseness4/5

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

    A single, short sentence with no wasted words. Efficiently communicates the core action, though it errs toward under-specification rather than elegant conciseness.

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

    Completeness2/5

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

    For a tool with 2 undocumented parameters (0% schema coverage), no annotations, and no output schema, this short description is inadequate. It cannot help the agent understand the parameters' semantics, the output structure, or edge cases. Sibling tools exist for related listing/definition operations, so more differentiation context would help.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning neither the schema properties nor the description explain the two parameters (schema, namePattern). The description doesn't mention the parameters at all, so the agent has no idea that schema filters by database schema or that namePattern supports pattern-based name filtering. With 0% coverage and no compensating description, this is a significant gap.

    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 'Lista los stored procedures de la base de datos' (Lists the stored procedures of the database) identifies the verb (list) and resource (stored procedures), making the purpose fairly clear. However, it's generic and doesn't provide scope detail like how it differs from siblings such as list_tables, list_views, or list_triggers, all of which share the same 'list' pattern.

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

    Usage Guidelines2/5

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

    The description gives no guidance about when to use this tool vs. alternatives, which matters here since siblings like get_object_definition and list_triggers overlap conceptually in database introspection. No context on filtering by schema/name patterns or how this differs from other listing tools is provided.

    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. The description states the tool 'lists' triggers, implying a read operation, but doesn't disclose how the optional parameters affect results, whether an empty result set behaves a certain way, what happens with invalid table/schema names, or any other behavioral traits.

    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 efficiently conveys the core purpose. Missing some useful details, but that's a completeness issue rather than a conciseness issue—the structure itself is appropriately tight.

    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 listing tool with no output schema and no annotations, the description gives the essential purpose but omits parameter semantics entirely (0% coverage). A listing tool is relatively simple, so the description partially suffices, but the complete absence of param documentation is a notable gap for a tool with 2 undocumented params.

    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?

    Schema description coverage is 0%, meaning parameters (table, schema) are completely undocumented. The description does not mention these parameters at all—it doesn't clarify that 'table' filters by trigger's table or that 'schema' scopes the search. With zero coverage and no param guidance in the description, the agent must guess what these parameters do.

    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 what the tool does: list triggers, indicating the table they belong to and the events that fire them. It has a specific verb (list) and resource (triggers), and adds detail about what output includes (table and firing events). It doesn't explicitly differentiate from siblings, but siblings are mostly different object types (tables, views, stored procedures), so context partly distinguishes them.

    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 listing triggers but provides no explicit when-to-use guidance or exclusions. With sibling tools like run_select_query and get_object_definition, the description doesn't clarify when to use list_triggers vs alternatives. No mention of what the optional table/schema parameters do for filtering, which is relevant usage guidance.

    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 states this is read-only in nature (listing tables), but doesn't disclose whether it returns arrays, pagination behavior, performance implications on large catalogs, or whether the 'approximate row count' uses metadata (fast) or a count query (slow). For a discovery-style tool, the lack of behavioral disclosure about result format and performance is a gap.

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

    Conciseness4/5

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

    The description is a single efficient sentence that covers purpose, result content, and filtering capability. It's front-loaded with the primary purpose. Minor omission: it doesn't mention the 2 optional parameters by name in the description, but the schema handles that. No wasted words.

    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 list tool with 2 optional params and no output schema, the description is nearly adequate. However, with no annotations and no output schema, it leaves unanswered what the returned structure contains besides 'esquema y cantidad aproximada de filas.' The sibling set (list_views, list_triggers, etc.) places this in a clear family context. Overall decent but slightly thin for full completeness.

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

    Parameters3/5

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

    Schema description coverage is 100%, so both parameters (schema and namePattern) are documented in the schema with examples ('dbo' and '%cliente%'). The description adds the notion of name-pattern filtering, which aligns with the namePattern param, but adds no meaning beyond what the schema already provides. Baseline 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states it lists database tables with schema and approximate row counts, plus name-pattern filtering. It specifies the verb (lista) and resource (tablas de la base de datos) with result details. It's differentiated from siblings by being table-specific, though it doesn't explicitly name sibling alternatives for contrast.

    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 usage for browsing tables/filtering by name pattern, and the sibling list shows alternatives like list_views and list_stored_procedures that target other object types. However, it doesn't explicitly state when to use this over get_table_definition or run_select_query, or when NOT to use it. The context is implied rather than explicit.

    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 behavioral burden. It states the tool returns code and parameters, which adds some transparency about output content. However, it doesn't disclose any behavioral traits such as permission requirements, failure modes for non-existent objects, or how it behaves for objects that aren't SPs/views/triggers.

    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?

    Two clear sentences, efficient and front-loaded with the purpose. No wasted words. Slightly under-specified but appropriately concise.

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

    Completeness3/5

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

    For a read-only retrieval tool with 2 params and no output schema, the description conveys the core purpose and one usage context. However, it lacks detail on what aspects of the code are returned for views vs triggers, error behavior, and the significance of the schema parameter. It's adequate but not thorough for a tool used to inspect code before making modifications.

    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 50% (the 'name' parameter has a description, 'schema' does not). The description adds the context that 'name' refers to a SP, vista, o trigger, slightly extending the schema's 'Nombre del objeto'. However, it doesn't explain the schema parameter's default behavior or whether it's needed for non-dbo schemas.

    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 it returns full T-SQL code for a SP, view, or trigger, with parameters if it's a SP. This specifies the verb+resource well. However, it doesn't explicitly distinguish itself from siblings like get_table_definition, though the object types named (SP, vista, trigger) differentiate it adequately since sibling get_table_definition presumably handles tables.

    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 second sentence gives an explicit when-to-use: 'Úsala para analizar un SP y proponer ajustes' (use it to analyze a SP and propose adjustments). However, there are no exclusions or alternatives mentioned, and it doesn't clarify when to choose list_stored_procedures or get_table_definition instead.

    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. The description clearly indicates this is a read operation (returns metadata) and enumerates exactly what is retrieved. It does not mention any caveats like authorization requirements, performance implications on large databases, or whether the schema parameter defaults affect which objects are covered, but as a metadata-read tool the transparency is acceptable.

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

    Conciseness4/5

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

    A single, efficient sentence in Spanish that enumerates the returned metadata in a natural list. No filler or redundancy. Slightly terse but appropriately sized for a schema-inspection 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 metadata-inspection tool with 2 simple params and no output schema, the description covers the return contents well but leaves out parameter semantics (what format 'table' expects, what 'schema' means). No annotations exist to cover safety or behavior. The tool is straightforward enough that this is adequate but not complete.

    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 description must compensate for undocumented parameters. The description mentions 'de una tabla' which maps to the 'table' parameter, but neither the 'table' nor 'schema' parameters are described at all. It's unclear if 'schema' is a database schema qualifier (e.g., dbo) which the default suggests, and whether the table param expects a bare name or fully qualified name. The description adds minimal value over the schema's raw parameter names.

    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 ('Devuelve' - returns) and resource (table definition) plus enumerates the specific elements returned: columns, types, nullability, primary key, foreign keys, and indexes. This clearly distinguishes it from siblings like list_tables (which lists tables) and get_object_definition (which is broader/generic). The only minor gap is not explicitly contrasting with get_object_definition or other siblings.

    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 usage for retrieving table schema metadata but provides no explicit when-to-use vs alternatives guidance. Given the sibling tools include get_object_definition (which might overlap or differ in scope) and run_select_query, some guidance on when this vs get_object_definition is appropriate would strengthen it. However, the enumerated return content makes the use case reasonably clear by implication.

    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 does disclose the read-only nature and the row cap, which is valuable behavioral context. However, it doesn't describe the return format, pagination behavior, error handling, or what happens when query returns more than 500 rows (truncation? error?). For a query execution tool with zero annotation coverage, more disclosure would help.

    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 compact — two concise sentences that convey purpose and constraints efficiently. Front-loaded with the verb+resource ('Ejecuta una consulta SELECT') followed by operational limits and exclusions. No wasted words, though it could add a sentence on return behavior without becoming bloated.

    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 (query execution), no output schema, and zero annotation coverage, the description provides essential purpose and constraint info but omits behavioral details like return shape, truncation behavior, and any performance or connection considerations. It's adequate for basic use but incomplete for an agent needing to interpret results reliably.

    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?

    Schema description coverage is 0%, meaning the description must compensate for the undocumented 'query' parameter. The description states it's a SELECT SQL query with 500-row cap, which gives some guidance. However, it doesn't specify SQL dialect, whether it supports parameters/bind variables, multi-statement queries, or the expected structure (e.g., must it end with semicolon?). With a single param at 0% coverage, the description should be more explicit about the query parameter's 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 it executes SELECT queries (read-only) with a 500-row cap. It distinguishes from siblings by indicating it fires actual queries, which none of the sibling metadata-listing tools do. However, it lacks a specific resource/verb clarity that would differentiate it from other query tools, though within this sibling set it's distinct.

    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 clearly states when it applies (SELECT read-only queries) and explicitly excludes what it may not be used for (INSERT/UPDATE/DELETE/DDL/EXEC), establishing clear constraints. It also specifies the 500-row limit which is operational guidance. The sibling context is implicitly clear since all siblings are metadata-listing tools, not query executors, so no exclusion reference is needed.

    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?

    There are no annotations provided, so the description carries the full burden of behavioral disclosure. The description is honest about what the tool returns (a list of referenced objects) and frames it as a read/analysis operation. However, it doesn't detail the output format, whether dependencies are recursive (i.e., references within referenced SPs), or how it handles objects that don't exist. The description gives the essential behavioral intent but leaves some ambiguity about recursion depth and error 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, well-crafted sentence that efficiently states the tool's purpose, the input types, and the use case. There is no wasted text, and the key information is front-loaded. It earns its place in every phrase.

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

    Completeness3/5

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

    The tool has 2 parameters, no output schema, no annotations, and 0% schema description coverage, placing the burden on the description. The description covers the purpose and use case well but omits details like the return format of dependencies, whether it recursively resolves nested SP dependencies, and error handling for nonexistent objects. It's acceptable for a straightforward dependency-listing tool but leaves room for the agent to wonder 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?

    Schema description coverage is 0% for the 2 parameters (name, schema). The description mentions the input is an SP, vista o trigger, which maps to the 'name' parameter, but doesn't clarify what the 'schema' parameter does beyond what its name implies. The description provides minimal added meaning for the parameters; the schema's `default: dbo` for schema conveys its own intent. With 0% coverage, the description should compensate more but only partially does.

    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 what the tool does: lists objects (tables, views, other SPs) referenced by an SP, view, or trigger. It uses a specific verb (lista) and resource (objetos dependientes), and distinguishes it from siblings like get_object_definition (which retrieves definitions) and list_tables (which lists all tables). The 'impact' purpose adds clarity.

    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 includes 'útil para entender el impacto antes de modificarlo', which implies when to use it (before modifying an object), giving some contextual guidance. However, it doesn't explicitly state when NOT to use it or name alternative tools for related purposes, such as get_object_definition for reading a single definition or run_select_query for querying data.

    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

mssql-mcp MCP server

Copy to your README.md:

Score Badge

mssql-mcp 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/is-jvelez/mssql-mcp'

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