Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct aspect of the Billz system (products, sales, reports, shops) with no overlapping functionality. The report tools are clearly differentiated by their focus on general totals, customer statistics, and profit/loss.

    Naming Consistency5/5

    All tools follow a consistent 'billz_<verb>_<noun>' pattern using snake_case. Verbs are appropriate (get, search, report) and nouns are descriptive and plural where applicable.

    Tool Count5/5

    With 9 tools, the server is well-scoped for a retail/POS data retrieval and reporting purpose. It covers essential entities without being overwhelming or too sparse.

    Completeness4/5

    The tool set provides comprehensive read access to products, sales, reports, and shops, which aligns with its apparent query/reporting role. However, it lacks any write or update operations, which may be a gap depending on expected use cases.

  • Average 2.2/5 across 9 of 9 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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

  • Behavior1/5

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

    With no annotations, the description must disclose behavioral traits. It does not mention that the tool is read-only, whether authentication is needed, or what the report includes. The description is silent on all behavioral details.

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

    Conciseness2/5

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

    The description is extremely short (one phrase), but it sacrifices informativeness for brevity. A few more sentences would improve clarity without becoming verbose.

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

    Completeness1/5

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

    Given the tool has four parameters, no output schema, and no annotations, the description is wholly inadequate. It fails to provide essential context like parameter syntax, required fields, or report scope.

    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 coverage is 0%, and the description does not explain any of the four parameters (start_date, end_date, currency, shop_ids). It adds no meaning beyond the schema field names.

    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 'Profit and loss report' identifies the tool's purpose as generating a profit and loss report, which distinguishes it from sibling reports like general totals or customers table. However, it lacks a verb and specific resource details, making it only marginally clear.

    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 report versus alternatives such as billz_report_general_totals. The description offers no context or prerequisities.

    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 exist, so the description must fully disclose behavior. It only mentions 'totals (sums)' but does not indicate whether the operation is read-only, whether it aggregates across time or shops, or what permissions are needed.

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

    Conciseness2/5

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

    The description is extremely short (5 words) but lacks substance. Conciseness is not useful when it omits critical information needed for correct invocation.

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

    Completeness1/5

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

    With no output schema, no annotations, and four parameters, the description is severely inadequate. It does not explain return values, default behaviors, or how parameters interact, leaving an agent unable to use the tool effectively.

    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%, and the description adds no information about parameters. While parameter names like start_date and shop_ids are somewhat self-explanatory, format details, constraints, or examples are missing.

    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 'General summary report totals (sums)' is vague about what the report actually contains. It does not specify what data is being totaled (e.g., sales, customers, inventory) and fails to differentiate from sibling tools like billz_report_profit_loss or billz_report_customers_table.

    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 other report tools. There are no mentions of alternatives, prerequisites, 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?

    No annotations provided, so description must disclose behavior. It only implies read-only with 'Get', but does not confirm or describe any side effects, pagination, or filtering behavior.

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

    Conciseness2/5

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

    Extremely short at 3 words, but this is under-specification, not conciseness. For a tool with 4 optional parameters and no annotations, the description should include more details.

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

    Completeness1/5

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

    Given 4 parameters, no output schema, and no annotations, the description is grossly inadequate. The agent lacks necessary information to invoke the tool correctly.

    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?

    The input schema has 4 parameters (page, limit, search, is_deleted) with 0% description coverage. The description does not mention any parameter meaning, leaving the agent without guidance on how to use them.

    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?

    Description says 'Get product categories', which is a clear verb+resource. However, it does not distinguish from sibling tools like billz_get_brands, which similarly retrieve lists. More specificity would help.

    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 over alternatives. The description lacks context about scenarios 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, and the description does not disclose behavioral traits such as that the tool retrieves data, requires a date range, or supports pagination. The agent learns nothing about side effects or constraints.

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

    Conciseness2/5

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

    At only 4 words, the description is too short to convey necessary information. This is under-specification, not conciseness; it fails to earn its space.

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

    Completeness1/5

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

    Given 6 parameters, no output schema, and several sibling tools, the description is completely inadequate. It omits essential context for correct invocation, such as the report's content, filtering options, and how results are structured.

    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?

    With 0% schema description coverage and no parameter explanations in the description, the agent receives no help understanding the meaning of parameters like 'shop_ids', 'currency', or 'limit'. The description adds no semantic value.

    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 'Customer statistics report table' indicates a report on customer statistics but lacks a verb and specific details. It vaguely suggests the tool produces a table of customer data, but does not clearly state what statistics are included, making it somewhat ambiguous.

    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 compared to sibling report tools like billz_report_general_totals or billz_report_profit_loss. An agent has no context to decide between them.

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

  • Behavior1/5

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

    With no annotations provided, the description fully bears the burden of behavioral disclosure. It fails to mention pagination behavior, sorting, authentication requirements, rate limits, or any side effects. The description is minimal and leaves the agent guessing about the tool's behavior.

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

    Conciseness2/5

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

    The description is extremely concise at one sentence, but this brevity comes at the cost of essential details. It is under-specified for a tool with three parameters and no annotations. Conciseness should not sacrifice completeness.

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

    Completeness1/5

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

    Given the tool has three optional parameters, no output schema, and no annotations, the description is grossly inadequate. It provides no context for filtering, pagination, or expected result format. The agent cannot reliably use this tool based solely on the description.

    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%, so the description should compensate by explaining parameter purpose. It does not mention page, limit, or search. The description adds no value beyond the schema structure, leaving the agent without guidance on parameter usage.

    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 'Get list of product brands' clearly states the verb and resource. It distinguishes from sibling tools like billz_get_categories and billz_get_shops, as brands are a distinct entity. However, it lacks any additional context about what constitutes a brand.

    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. There are no exclusions or context signals to help the agent decide. The description does not mention typical use cases or prerequisites.

    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. While 'get' implies a read operation, it does not explicitly state that the tool is read-only or disclose any other behavioral traits such as authorization requirements or performance considerations.

    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 very short (one sentence), but it lacks necessary details that should be included. It is concise but not complete, so a score of 4 reflects that it is not verbose but still under-informative.

    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 simple tool with one optional parameter and no output schema, the description should at least explain what 'product custom field definitions' are and how the 'limit' parameter works. It fails to provide this context, leaving the agent without enough information for correct invocation.

    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?

    The only parameter 'limit' has no description in the schema, and the tool description does not explain its purpose or effect. With 0% schema description coverage, the description fails to compensate.

    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 states the specific verb 'get' and resource 'product custom field definitions', which clearly indicates what the tool does. However, it does not differentiate from sibling tools like billz_get_shops which also use 'get', but the resource name is distinct enough.

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

    Usage Guidelines1/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. There is no mention of 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 exist, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or rate limits. The action 'Get' implies a read operation, but this is not explicitly stated.

    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 description is a single sentence, which is concise, but it is too brief to be informative. It lacks structure and detail.

    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 has one parameter and no output schema, the description is insufficient. It does not explain what 'details' are returned, leaving ambiguity.

    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?

    The description adds no meaning beyond the input schema. The sole parameter order_id is not described at all, and schema description coverage is 0%. The description should explain what order_id represents.

    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 specifies the verb 'Get' and the resource 'details of a specific sale', making the action clear. However, it does not differentiate from sibling tools like billz_search_sales, which might also return sale details.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives (e.g., billz_search_sales). No prerequisites or context 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 must carry the burden of behavioral disclosure. It does not mention whether the list is paginated, if it requires authentication, or what the 'only_allowed' parameter implies behaviorally.

    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 description is very concise (one sentence), but this conciseness sacrifices utility. It is front-loaded but lacks necessary details, making it under-specified.

    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 has 2 optional parameters, no output schema, and no annotations, the description is incomplete. It does not cover return format, pagination, or the effect of parameters, leaving significant gaps for an agent to understand the tool's behavior.

    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%, and the description does not explain the parameters 'limit' or 'only_allowed'. While the names hint at their meaning, no explicit semantics or constraints are given, which is insufficient for proper agent usage.

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

    Purpose3/5

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

    The description 'Get list of shops' uses a verb+resource structure, but it is generic and does not differentiate from sibling tools like billz_get_categories or billz_get_brands. It lacks specifics on what kind of shops are returned (e.g., all shops, user-specific, etc.).

    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 like billz_search_sales or billz_get_categories. No context on prerequisites or typical use cases 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?

    With no annotations, the description must disclose behavioral traits. It only states 'Search sales with advanced filters (v3 endpoint)', failing to mention pagination defaults, rate limits, or that the endpoint is read-only. The schema includes page/limit but the description adds no behavioral context.

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

    Conciseness4/5

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

    The description is a single, short sentence that is concise and front-loaded with the core action. It is not verbose, but could include additional high-level details without losing 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?

    Given 9 parameters, no output schema, and no annotations, the description is insufficiently complete. It does not mention return format, pagination behavior, or date range implications. The schema partially compensates but the description fails to provide overarching 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 schema has 56% description coverage (5 of 9 parameters documented). The tool description does not add new parameter meaning beyond 'advanced filters'. Since coverage is moderate, a baseline of 3 is appropriate; the description does not compensate for undocumented parameters.

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

    Purpose4/5

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

    The description clearly states the verb 'Search' and the resource 'sales', indicating a listing/filtering function. The phrase 'advanced filters' hints at multiple parameters, which is accurate given the schema. However, it does not explicitly differentiate from sibling tools like billz_get_sale_details, which could be misconstrued as similar.

    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. For example, it does not explain that this tool is for broad searches with filters, while billz_get_sale_details might be for retrieving a single sale by ID. The description lacks exclusions or contexts.

    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

billz_mcp MCP server

Copy to your README.md:

Score Badge

billz_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/asadbekdev/billz_mcp'

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