Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes, with clear separation between database operations (execute_sql, search_db_objects) and object storage operations (get_object, list_objects, etc.). However, search_objects and list_objects could potentially cause confusion as both involve listing objects in buckets, though search_objects offers more advanced filtering capabilities.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern (e.g., execute_sql, get_object, list_buckets). There are no deviations in style or convention, making the set predictable and easy to understand.

    Tool Count4/5

    With 7 tools, the count is reasonable for a server handling two domains (database and object storage). It's slightly on the lower side for covering both areas comprehensively, but each tool appears purposeful and well-scoped.

    Completeness3/5

    For object storage, the tools cover retrieval, listing, and search well, but lack create, update, or delete operations, which are notable gaps. For database operations, execute_sql and search_db_objects provide query and search capabilities, but there's no direct CRUD for tables or schemas, leaving the surface incomplete for full database management.

  • Average 3.5/5 across 7 of 7 tools scored. Lowest: 2.9/5.

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

  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.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, the description carries full burden for behavioral disclosure. It mentions the supported filtering parameters but doesn't describe important behavioral aspects like pagination behavior (only mentions 'max_results' default), error conditions, authentication requirements, rate limits, or what the output format looks like. For a search tool with 10 parameters, this leaves significant gaps.

    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 efficiently structured as a single sentence that immediately states the core purpose and enumerates the filtering capabilities. It's appropriately sized for the tool's complexity, though it could potentially be more front-loaded with critical behavioral information given the lack of annotations.

    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 search tool with 10 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (object metadata, full objects, or just keys), doesn't mention pagination beyond the 'max_results' parameter default, and provides no information about error handling or authentication requirements. The description leaves too many open questions for effective tool use.

    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 lists the supported filtering capabilities (prefix, suffix, extensions, glob patterns, file size, modification date), which provides context about what the parameters do collectively. However, with 100% schema description coverage where each parameter is already well-documented in the schema, the description adds only marginal value beyond what's already in the structured data.

    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 ('Search for objects') and resource ('in a bucket from the 'huawei_obs' source'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from its sibling 'list_objects', which appears to serve a similar listing function, preventing 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 'list_objects' or 'search_db_objects'. It mentions supported filtering capabilities but doesn't indicate whether this is the primary tool for object searches or if there are specific scenarios where other tools should be preferred.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the database target and JSON output format but lacks critical details: whether queries can be read/write, if there are transaction or timeout limits, authentication requirements, error handling, or safety warnings about destructive operations. This is inadequate for a tool that executes arbitrary SQL.

    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 extremely concise and front-loaded, consisting of two clear sentences that directly state the tool's purpose and output. Every word earns its place with zero redundancy, 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 executing arbitrary SQL (potentially destructive operations), no annotations, and no output schema, the description is incomplete. It omits essential context like safety warnings, permissions needed, result structure details beyond 'JSON', and limitations. This leaves significant gaps for an agent to use the tool effectively and safely.

    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%, with the single parameter 'sql' documented in the schema as 'SQL query or multiple SQL statements to execute'. The description adds no additional meaning beyond this, such as syntax examples, supported SQL dialects, or constraints on query complexity. Baseline 3 is appropriate since 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 ('Execute SQL query'), target resource ('on the 'sqlserver_local' database'), and outcome ('Returns query results as JSON'). It uses precise language that distinguishes it from sibling tools like search_db_objects or get_object, which likely perform different operations on databases or objects.

    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 (e.g., database connectivity), exclusions (e.g., avoid for read-only vs. write queries), or compare it to sibling tools like search_db_objects, leaving the agent to infer usage context independently.

    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 it mentions pagination and filtering capabilities, it doesn't describe important behavioral aspects like rate limits, authentication requirements, error conditions, response format, or whether this is a read-only operation. The description provides basic functional context but misses critical operational details.

    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 perfectly concise - a single sentence that efficiently communicates the core functionality and key features. Every word earns its place with zero waste, and it's front-loaded with the primary purpose before mentioning supporting features.

    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 5-parameter tool with no annotations and no output schema, the description provides adequate basic context but leaves significant gaps. It covers what the tool does and key features, but doesn't address behavioral aspects, error handling, or response format. Given the complexity and lack of structured metadata, the description should do more to compensate for these gaps.

    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?

    With 100% schema description coverage, the input schema already documents all 5 parameters thoroughly. The description adds minimal value by mentioning 'prefix filtering, delimiter for hierarchical listing, and pagination' which aligns with but doesn't significantly expand upon the schema documentation. The baseline score of 3 is appropriate when the schema does the heavy lifting.

    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 objects') and resource ('in a bucket from the huawei_obs source'), making the purpose immediately understandable. It distinguishes from siblings like 'list_buckets' by specifying bucket-level listing, though it doesn't explicitly contrast with 'search_objects' or 'get_object'.

    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 listing objects with filtering capabilities, but doesn't explicitly state when to use this tool versus alternatives like 'search_objects' or 'get_object_metadata'. It mentions supported features (prefix, delimiter, pagination) which provides some contextual guidance, but lacks explicit 'when-not-to-use' scenarios or clear alternative recommendations.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It discloses the search functionality and SQL LIKE pattern support, but lacks critical behavioral details such as whether this is a read-only operation, potential performance impacts, result limits, error handling, or authentication requirements. For a search tool with no annotation coverage, this is a significant gap.

    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 ('Search database objects') and adds essential details (target, pattern support) without waste. Every word earns its place, making it appropriately sized for the tool's complexity.

    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 no annotations and no output schema, the description is moderately complete for a search tool. It covers the purpose and basic usage but lacks behavioral transparency (e.g., safety, limits) and output details. With 4 parameters fully documented in the schema, it's adequate but has clear gaps in guiding the agent on operational context.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value by mentioning 'SQL LIKE patterns' (which relates to the 'pattern' parameter) but doesn't provide additional syntax, format details, or usage examples beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.

    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 ('Search') and resource ('database objects') with specific examples (schemas, tables, columns, procedures) and target ('sqlserver_local'). It distinguishes from siblings like 'execute_sql' (execution vs. search) and 'get_object' (retrieval vs. search), but doesn't explicitly differentiate from 'search_objects' which might be similar.

    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 searching with SQL LIKE patterns, but provides no explicit guidance on when to use this tool versus alternatives like 'search_objects' or 'get_object_metadata'. It mentions the target database ('sqlserver_local'), which gives some context, but lacks clear when/when-not rules or prerequisites.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: the tool retrieves content, handles text vs. binary files differently (plain text vs. base64), has a default max size (10MB), and truncates larger files. This covers important operational traits beyond basic functionality.

    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 front-loaded with the core purpose and efficiently adds essential details in two sentences. Every sentence earns its place by conveying critical information (source, file handling, size limits) without redundancy or unnecessary elaboration.

    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 (3 parameters, no output schema, no annotations), the description is largely complete. It covers purpose, behavior, and key constraints. However, it lacks details on error conditions, authentication needs, or rate limits, which could enhance completeness for a retrieval tool with no annotations.

    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 all parameters (bucket, key, max_size) with their descriptions. The description adds value by explaining the default max size and truncation behavior for max_size, but does not provide additional meaning for bucket or key beyond what the schema states. 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 ('Retrieve the content'), target resource ('an object from the 'huawei_obs' source'), and distinguishes it from siblings like get_object_metadata (which retrieves metadata only) and list_objects (which lists objects rather than retrieving content). It precisely defines what the tool does.

    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 by specifying the source ('huawei_obs') and default behavior for file types, but it does not explicitly state when to use this tool versus alternatives like get_object_metadata or search_objects. It provides some context but lacks explicit guidance on exclusions or comparisons with sibling tools.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the operation as read-only and non-destructive by specifying 'without downloading content' and listing return values, but it lacks details on error handling, authentication needs, or rate limits, which are important for a tool interacting with an external source.

    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 front-loaded with the core purpose in the first sentence and efficiently lists return values in the second. Every sentence adds value, with no redundant or unnecessary information, making it appropriately sized 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 (2 parameters, no output schema, no annotations), the description is mostly complete: it explains the purpose, usage context, and return values. However, it could improve by addressing potential errors or prerequisites, as there's no output schema to clarify response formats.

    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 100% description coverage, clearly documenting both parameters ('bucket' and 'key'). The description does not add any parameter-specific semantics beyond what the schema provides, such as format examples or constraints, so it meets the baseline for high schema coverage.

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

    Purpose5/5

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

    The description clearly states the specific action ('Get metadata'), resource ('an object from the 'huawei_obs' source'), and scope ('without downloading content'), distinguishing it from sibling tools like 'get_object' (which likely downloads content) and 'list_objects' (which lists rather than gets metadata).

    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 context for when to use this tool ('without downloading content'), implying it's for metadata retrieval only. However, it does not explicitly state when not to use it or name alternatives, such as using 'get_object' for content download, which would be helpful for sibling differentiation.

    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?

    With no annotations provided, the description carries full burden. It discloses the return format (bucket names, creation dates, and locations) which is valuable behavioral information. However, it doesn't mention pagination behavior, rate limits, authentication requirements, or error conditions that would be important for a list operation.

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

    Conciseness5/5

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

    The description is perfectly concise with two sentences that each earn their place. The first sentence states the action and scope, the second describes the return format. No wasted words or redundant information.

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

    Completeness4/5

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

    For a simple list operation with 0 parameters and no output schema, the description provides good context about what's returned. However, without annotations and with no output schema, it could benefit from more detail about response format structure, pagination, or error handling to be fully complete.

    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 baseline would be 4. The description appropriately doesn't discuss parameters since none exist, and instead focuses on what the tool does and returns.

    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 ('List all storage buckets'), identifies the resource ('storage buckets'), and specifies the scope ('available in the 'huawei_obs' source'). It also distinguishes from siblings by focusing on buckets rather than objects or SQL operations.

    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 context by specifying the 'huawei_obs' source, but doesn't explicitly state when to use this tool versus alternatives like list_objects or search_objects. No explicit exclusions or alternative recommendations are provided.

    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

hybrid-mcp MCP server

Copy to your README.md:

Score Badge

hybrid-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/zq940222/hybrid-mcp'

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