bach-walmart_scraper4
Server Quality Checklist
Latest release: v2.0.0
- Disambiguation3/5
The two 'discover_top_products' tools have overlapping purposes and could be confused, with the only clear distinction being the input type (URL vs keyword) described in the text. Other tools are distinct in function.
Naming Consistency3/5All names use snake_case, but there is no consistent pattern: 'get_product_data_from_url' and 'discover_top_products_in_a_category_by_keyword' are long and descriptive, while 'monitor_status' is short. Verbs vary and one pair of tools differs only by a trailing qualifier.
Tool Count4/5Four tools is a reasonable scope for a scraper server. However, having two very similar discovery tools adds slight redundancy and makes the set feel less concise than it could be.
Completeness4/5The set covers the core scraping workflow: fetching a single product, discovering top products by two methods, and checking async task status. No obvious critical gaps are present for the stated purpose.
Average 3/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto 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?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only says 'collect product information' which implies a read operation, but it doesn't disclose any side effects, required auth, rate limits, error handling, or the structure of the response. This is a minimal, non-committal description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the key action ('collect product information from a URL'). It is concise and easy to read, though it lacks depth. No unnecessary words are present, and it earns its place despite being generic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, no annotations, and a parameterless schema, so the description is the only source of guidance. It fails to specify what product information is collected, what URL formats are accepted, return value structure, or any limitations. The description is far from complete for a tool that is presumably meant to fetch and parse external data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, yet the description says 'from a URL', implying a URL input is required. There is no explanation of how the URL is passed, and no parameter exists in the schema. This is a contradiction between description and schema, making the tool's invocation unclear. The description adds misleading meaning rather than clarifying.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool collects product information from a URL, which is a clear verb+resource pairing. It distinguishes from siblings like 'discover_top_products_in_a_category' by focusing on a specific URL. However, it doesn't clarify how the URL is provided given the schema has no parameters, leaving slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 the discovery tools or monitor_status. It doesn't mention prerequisites, typical use cases, or exclusions. The only implicit signal is that it's URL-specific, but no explicit usage context is given.
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 carries the full burden of behavioral disclosure. It only says 'discovers top products' without explaining how the keyword is provided (schema has no parameters), what 'top products' means, ordering, or return structure. 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but the typo ('if' instead of 'is') and vague phrasing ('from a given category keyword') detract from clarity. It is short but not well-structured enough for high marks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description is expected to provide more context. It lacks info on how the keyword is passed, what constitutes a top product, and how results are returned. Also, the sibling tool 'discover_top_products_in_a_category' suggests a need to explain the difference, which is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so the baseline is 4. However, the description mentions 'a given category keyword,' implying an input that is not reflected in the schema. This creates confusion about how the keyword is supplied, reducing the score from baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('discovering top products') and the basis ('a given category keyword'), distinguishing it from siblings like 'discover_top_products_in_a_category' which likely uses a category ID. However, the typo 'if' and the phrase 'from a given category keyword' adds slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 does not mention when to prefer this over 'discover_top_products_in_a_category' or other siblings, nor any exclusions 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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'scrapes' but fails to explain return format, rate limits, authentication needs, or potential side effects. The claim that it 'takes URL as parameter' is not reflected in the input schema, which is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with two short sentences, front-loaded with the purpose. However, the second sentence is inaccurate relative to the schema, which slightly detracts from its value, but structurally it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is far from complete. It lacks any mention of output format, pagination, error handling, or contextual guidance for choosing this tool over its sibling. The schema is empty, no output schema exists, and no annotations are provided, leaving the agent without essential operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says 'It takes URL as parameter,' but the input schema has zero parameters and no properties. This contradicts the schema and misleads the agent into believing a URL can be supplied. Since the description adds no valid parameter meaning and actually contradicts the schema, the score is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'scrapes top products in a given category.' It also explicitly mentions the URL parameter, which distinguishes it from the sibling 'discover_top_products_in_a_category_by_keyword' that presumably accepts a keyword instead of a URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a category URL is available, but it does not explicitly state when to use this tool versus alternatives like the keyword-based sibling. 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?
With no annotations, the description carries full responsibility for behavioral transparency. It states data can be retrieved when complete, but does not disclose what happens if called before completion (e.g., returns status, blocks, errors), whether the task is consumed, or any rate limits. This ambiguity is significant for a status-monitoring tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the conditional scenario, and uses no filler. Every clause contributes to understanding the tool's purpose and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description gives essential context about async scraping but omits critical details like what the tool returns (status vs. data), behavior when the task is incomplete, and how the agent knows the data is ready. These are gaps given the absence of annotations and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with a simple task_id string and example. The description adds meaning by explaining that this task_id is obtained from previous scraping calls when data takes longer, which helps the agent understand the parameter's origin and purpose beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool is for retrieving data associated with a task_id from async scraping operations. It distinguishes itself from sibling scraping tools by focusing on retrieval after completion, though it never explicitly names the action as 'monitor status' or 'check status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool when a scraping operation returns a task_id because data takes longer than average. It implicitly tells the agent to use it for polling/completing async work, though it does not explicitly mention alternatives or when not to use it.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/BACH-AI-Tools/walmart_scraper4'
If you have feedback or need assistance with the MCP directory API, please join our Discord server