Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. The tools cover different aspects of the shopping workflow (browsing, searching, cart management, ordering, tracking) without overlap. For example, 'add_to_cart' and 'update_cart' are complementary but distinct operations.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern throughout (e.g., 'add_to_cart', 'browse_categories', 'get_orders'). The verbs are descriptive and appropriate for each action, with no mixing of conventions or styles.

    Tool Count5/5

    With 12 tools, this server is well-scoped for an e-commerce alcohol delivery platform. Each tool earns its place by covering essential functions like product discovery, cart management, ordering, and tracking, without being overly sparse or bloated.

    Completeness5/5

    The tool set provides complete coverage of the domain, including product browsing/searching, cart CRUD operations (add, update, get), ordering (place, track, get history), and supporting functions like availability checks and recommendations. There are no obvious gaps that would hinder agent workflows.

  • Average 3.1/5 across 12 of 12 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Add') but doesn't explain key behaviors: whether this requires authentication, if it modifies existing cart items or creates new ones, potential side effects (e.g., inventory updates), or error conditions. This is inadequate for a mutation tool with zero 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 directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy 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?

    For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't cover behavioral aspects like authentication needs, error handling, or what the tool returns (e.g., success confirmation or updated cart). Given the complexity of cart operations and lack of structured data, more context is needed.

    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 input schema fully documents all parameters (productId, name, quantity, price, imageUrl). The description adds no additional meaning beyond what's in the schema, such as explaining relationships between parameters or usage examples. This 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.

    Purpose4/5

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

    The description clearly states the action ('Add') and resource ('a product to the shopping cart'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like 'update_cart' or 'place_order', which also involve cart modifications, leaving some ambiguity about when to use each.

    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 'update_cart' or 'place_order'. It lacks context about prerequisites (e.g., whether the product must be available or in stock) or exclusions, leaving the agent to infer usage from the 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes a read-only browsing operation but lacks details on permissions, rate limits, pagination, or response format. For a tool with zero annotation coverage, this is a significant gap in transparency.

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

    Conciseness4/5

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

    The description is a single, efficient sentence that clearly states the tool's purpose and includes relevant examples. It's front-loaded with the main action and resource, with no wasted words, though it could be slightly more structured for optimal clarity.

    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 (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and parameters but lacks behavioral details like response format or usage context, which are important for an agent to use it effectively without 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?

    The schema description coverage is 100%, so the schema already documents both parameters fully. The description adds minimal value by listing example categories and subcategories, but doesn't provide additional syntax or usage details beyond what the schema provides. Baseline 3 is appropriate when the schema handles most of the parameter documentation.

    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: 'Browse Drizly products by category and subcategory.' It specifies the verb ('browse') and resource ('Drizly products'), and mentions example categories and subcategories. However, it doesn't explicitly differentiate this tool from sibling tools like 'search_products' or 'get_product_details,' which is why it doesn't achieve a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or compare it to sibling tools like 'search_products' or 'get_product_details,' leaving the agent without context for tool selection.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions personalization based on preferences and order history, which hints at data usage, but lacks details on rate limits, authentication needs, response format, or whether it's a read-only operation. For a tool with 4 parameters and no annotations, this is a significant gap in transparency.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It directly states what the tool does, making it easy to parse. There's no redundancy or fluff, earning its place as a concise definition.

    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 (4 parameters, personalization logic) and lack of annotations and output schema, the description is incomplete. It doesn't explain the return values, error conditions, or behavioral traits like data privacy implications. For a recommendation tool with no structured output, more context is needed to guide effective 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 adds minimal meaning beyond the input schema, which has 100% coverage with clear parameter descriptions. It implies that 'preferences' map to categories and price ranges, and 'order history' maps to previousOrders, but doesn't elaborate on how these parameters interact or affect results. With high schema coverage, the baseline is 3, and the description doesn't significantly enhance parameter understanding.

    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: 'Get personalized product recommendations based on preferences and order history.' It specifies the verb ('Get') and resource ('personalized product recommendations'), and distinguishes it from siblings like search_products or browse_categories by emphasizing personalization. However, it doesn't explicitly differentiate from all siblings (e.g., get_orders also involves order history).

    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 to prefer get_recommendations over search_products (which might be for broader queries) or get_orders (which retrieves order details rather than recommendations). There's no context about prerequisites, such as needing order history for effective personalization, 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 states the action without disclosing behavioral traits. It doesn't mention if this is a destructive/mutative operation, potential side effects (e.g., charging payment, inventory changes), error conditions, or response format, leaving 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.

    Conciseness5/5

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

    The description is a single, efficient sentence with zero waste, clearly front-loading the core action. Every word contributes directly to stating the tool's purpose.

    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 purchase tool with no annotations and no output schema, the description is incomplete. It lacks crucial details like behavioral implications, return values, or error handling, making it inadequate for safe and effective use by an 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 parameters. The description adds no additional meaning about parameters beyond implying they relate to checkout, which doesn't compensate for or enhance the schema's details.

    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 ('complete checkout and place the order') and resource ('items in the cart'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'update_cart' or 'get_cart', which would require mentioning this is the final purchase action.

    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 'update_cart' or prerequisites such as having items in the cart. It merely states what the tool does without context about timing or conditions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool updates or removes items, implying mutation, but does not cover permissions, side effects (e.g., cart totals update), error handling, or response format. This is inadequate for a mutation tool without annotation support.

    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 function without redundancy. It is front-loaded with the core action and includes necessary detail (quantity to 0 for removal) in a compact form.

    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 mutation nature, lack of annotations, and no output schema, the description is insufficient. It does not explain what happens on success/failure, return values, or interactions with other cart operations, 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?

    The schema description coverage is 100%, so parameters are fully documented in the schema. The description adds minimal value by clarifying that quantity 0 means removal, which is already implied in the schema's description for 'quantity'. This 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.

    Purpose4/5

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

    The description clearly states the action ('update the quantity of an item in the cart or remove it') and specifies the resource ('cart'), making the purpose unambiguous. However, it does not explicitly differentiate from sibling tools like 'add_to_cart' or 'get_cart', which would be needed for a score of 5.

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

    Usage Guidelines2/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 'add_to_cart' (for initial addition) or 'get_cart' (for viewing). It mentions setting quantity to 0 for removal, but lacks context on prerequisites, error conditions, or typical use cases.

    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 lacks behavioral details. It doesn't disclose whether this is a read-only operation, if it requires authentication, rate limits, error conditions, or what the output format looks like (e.g., boolean availability, store list with stock levels). The description states the action but misses key operational context.

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

    Conciseness4/5

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

    The description is a single, efficient sentence that front-loads the core action ('Check if a product is available for delivery') and adds secondary detail ('and see which stores carry it'). It has zero waste, though it could be slightly more structured for clarity (e.g., separating delivery vs. store aspects).

    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 no annotations and no output schema, the description is incomplete for a tool that likely returns complex availability data. It doesn't explain return values (e.g., availability status, store list, delivery options), error handling, or dependencies. For a 2-parameter tool with zero annotation coverage, this leaves significant 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?

    Schema description coverage is 100%, so the schema already documents both parameters ('productId' and 'address'). The description adds no additional meaning beyond implying these are used for availability and delivery checks, matching the schema. 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 ('Check if a product is available for delivery') and resource ('product'), distinguishing it from siblings like 'get_product_details' (which retrieves info) or 'place_order' (which initiates purchase). It explicitly mentions both delivery availability and store inventory, 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 Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'get_stores' (which might list stores without product checks) or 'search_products' (which might find products without availability info). It implies usage for availability checking but offers no explicit context, 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions searching on Drizly but does not cover key traits like whether this is a read-only operation, potential rate limits, authentication needs, or what the search results include (e.g., format, pagination). This is a significant gap for a search 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 without unnecessary details. Every word earns its place, making it highly concise and well-structured for quick understanding.

    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 complexity (7 parameters, no annotations, no output schema), the description is incomplete. It adequately states the purpose but lacks behavioral context, usage guidelines, and details on output format. However, the high schema coverage partially compensates, making it minimally viable but with clear 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?

    Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description adds minimal value by mentioning 'by name, type, or brand,' which loosely relates to the 'query' parameter but does not provide additional syntax or meaning beyond what the schema already specifies. This 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.

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Search for beer, wine, spirits, and other alcoholic beverages on Drizly by name, type, or brand.' It specifies the verb ('search'), resource ('alcoholic beverages'), and platform ('Drizly'), but does not explicitly differentiate it from sibling tools like 'browse_categories' or 'get_product_details', 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. It mentions searching 'by name, type, or brand,' but does not compare it to siblings like 'browse_categories' (for browsing without a query) or 'get_product_details' (for specific product info), leaving the agent without explicit 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. It states the tool retrieves status and delivery time, implying a read-only operation, but doesn't cover aspects like error handling (e.g., invalid order IDs), rate limits, authentication needs, or whether it's idempotent. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It directly states what the tool does ('track the current status and estimated delivery time of an order'), making it easy to parse and understand quickly.

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

    Completeness3/5

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

    Given the tool's moderate complexity (a single parameter with full schema coverage) and lack of annotations or output schema, the description is minimally adequate. It covers the basic purpose but lacks details on usage context, behavioral traits, and output format, which could hinder an agent's ability to use it effectively in varied scenarios.

    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, with the 'orderId' parameter clearly documented in the schema itself. The description doesn't add any parameter-specific details beyond what the schema provides, such as examples or contextual usage. With high schema coverage, the baseline score of 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.

    Purpose4/5

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

    The description clearly states the tool's purpose with specific verbs ('track') and resources ('order'), specifying what information is retrieved ('current status and estimated delivery time'). It doesn't explicitly differentiate from sibling tools like 'get_orders', but the focus on tracking a specific order's status and delivery time is reasonably distinct.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'get_orders' (which might list orders without tracking details) or 'place_order' (for creating orders). There's no mention of prerequisites, such as needing a valid order ID, or contextual cues for when tracking is appropriate versus other order-related operations.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool is for viewing, implying a read-only operation, but doesn't disclose any behavioral traits such as authentication needs, rate limits, or what happens if the cart is empty. This leaves significant gaps for an agent to understand how to use it effectively.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the key information ('View the current shopping cart contents and totals') with zero waste. It's appropriately sized for a simple tool and every word earns its place.

    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 is low (0 parameters, no output schema), the description is somewhat complete but has gaps. It lacks behavioral context (e.g., no annotations, no output schema to explain return values), which could hinder an agent's ability to use it correctly in all scenarios, especially without guidance on usage or alternatives.

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

    Parameters4/5

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

    The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately doesn't mention any. This meets the baseline for a parameterless tool.

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

    Purpose4/5

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

    The description clearly states the tool's purpose with specific verbs ('view') and resources ('shopping cart contents and totals'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_orders' or 'track_order', which might also involve viewing order-related information.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. There are no explicit instructions on when/when-not to use it, nor any mention of prerequisites or alternatives among the sibling tools (e.g., how it differs from 'get_orders' or 'update_cart').

    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 the tool retrieves information (a read operation), but doesn't disclose behavioral traits such as authentication needs, rate limits, error conditions, or whether it requires a valid product ID format. This leaves significant gaps for an agent to understand how to invoke it safely and effectively.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the purpose and lists key attributes without unnecessary words. Every part of the sentence contributes to understanding the tool's function.

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

    Completeness3/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 simple read tool. It specifies what information is returned (ABV, origin, ratings, pricing), but lacks details on response format, error handling, or dependencies. For a tool with one parameter and high schema coverage, it's adequate but has clear gaps in behavioral context.

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

    Parameters3/5

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

    The input schema has 100% description coverage, with the parameter 'productId' documented as 'Product ID or slug from Drizly'. The description adds no additional parameter semantics beyond what the schema provides, such as examples or format details. 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.

    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 'detailed information about a specific product', with specific attributes listed (ABV, origin, ratings, pricing). It distinguishes from siblings like 'search_products' (which likely returns multiple products) and 'browse_categories' (which is category-based), though it doesn't explicitly name these distinctions.

    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 when detailed information for a specific product is needed, but doesn't explicitly state when to use this tool versus alternatives like 'search_products' (for broader searches) or 'get_recommendations' (for suggestions). No exclusions or prerequisites are mentioned.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the tool's purpose but lacks behavioral details such as whether it requires authentication, has rate limits, returns paginated results, or what the output format looks like (e.g., list of stores with delivery options). For a 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 ('Get available stores and retailers') and adds necessary scope ('that can deliver to a specific address'). There is zero waste or redundancy.

    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 (1 parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose but lacks behavioral context (e.g., response format, error handling) and usage guidelines. Without annotations or output schema, more detail would improve completeness for 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 already documents the single 'address' parameter. The description adds marginal value by implying the address is used for delivery eligibility, but doesn't provide additional context like address format requirements or examples. 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.

    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 available stores and retailers') and the resource ('stores and retailers'), with explicit scope ('that can deliver to a specific address'). It distinguishes from siblings like 'search_products' or 'browse_categories' by focusing on delivery-eligible stores rather than products or categories.

    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. While the description implies it's for finding stores that deliver to an address, it doesn't specify prerequisites (e.g., whether the address must be validated first), exclusions, or comparisons to siblings like 'check_availability' (which might overlap in functionality).

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'view,' implying a read-only operation, but doesn't clarify aspects like authentication needs, rate limits, data format, or pagination. For a tool with zero annotation coverage, this leaves significant gaps in understanding 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 front-loads the core functionality ('view order history') and adds clarifying scope ('including past and current orders'). There is no wasted text, 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 simplicity (0 parameters, no output schema, no annotations), the description is adequate but minimal. It covers the basic purpose but lacks details on behavioral traits like data format or usage constraints. For a read-only tool with no structured support, it meets the minimum viable standard but could be more informative.

    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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied as it compensates adequately for the lack of parameters by focusing on the tool's purpose.

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

    Purpose4/5

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

    The description clearly states the tool's purpose with a specific verb ('view') and resource ('order history'), including scope details ('past and current orders'). It distinguishes itself from siblings like 'track_order' (which likely focuses on real-time status) and 'place_order' (which creates new orders), though it doesn't explicitly name these alternatives.

    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 'order history,' suggesting this tool is for retrieving historical data rather than current actions. However, it doesn't provide explicit guidance on when to use it versus alternatives like 'track_order' (for ongoing orders) or 'get_cart' (for pending items), leaving some ambiguity for the agent.

    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-drizly MCP server

Copy to your README.md:

Score Badge

mcp-drizly 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/markswendsen-code/mcp-drizly'

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