itad-mcp
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
Search and lookup have similar purposes, but search is fuzzy matching with multiple results while lookup is precise by AppID or exact title. Price, historical low, and active deals are clearly distinct.
Naming Consistency5/5All tools follow a consistent verb_noun pattern: search_games, lookup_game, get_game_prices, get_historical_low, get_active_deals. Minor synonym variations (search vs lookup) are natural and do not break consistency.
Tool Count5/5Five tools is well-scoped for a game deals server, covering search, metadata lookup, pricing, historical lows, and active deals without unnecessary bloat or missing essentials.
Completeness4/5The surface covers the main workflows: finding games, retrieving prices, checking lows, and browsing deals. A price history graph or wishlist feature would be a nice addition, but the core domain is well covered.
Average 3.8/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 3 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.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
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It states the function and the output (UUIDs), but doesn't elaborate on specifics like result limits, partial-match behavior, or potential errors. For a read-only search tool, this level of transparency is reasonable but not exhaustive.
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 a single, concise sentence that front-loads the core action and outcome. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description adequately covers its purpose and output format (UUIDs). While it could mention edge cases or response structure, the low complexity means the description is complete enough for the agent to select and invoke the tool correctly.
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 schema already provides 100% coverage for the single 'query' parameter with examples. The description adds minimal semantic value beyond referring to it as a 'title query,' so the baseline score of 3 is appropriate.
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 a specific verb ('Search'), a resource ('IsThereAnyDeal'), and the outcome ('get their internal ITAD UUIDs'). It distinguishes itself from siblings like 'lookup_game' by focusing on title-based search rather than direct UUID lookup, though it doesn't explicitly contrast with them.
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 implies usage when you have a game title and need UUIDs, but it provides no explicit context about when to choose this over sibling tools or any exclusions. There's no guidance on prerequisites or workflow, leaving the agent to infer usage based on the name and description.
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 aggregation across storefronts but does not disclose return format, error behavior, authentication requirements, rate limits, or whether any side effects occur. 'Get' implies a read operation, but this is not explicitly stated beyond the description's phrasing.
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 a single, front-loaded sentence. It states the action, the object, and the input constraint without unnecessary words, making it highly concise and well-structured.
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?
The description provides the core purpose and main input but lacks details on output structure or how it relates to sibling tools. Given there is no output schema, the description could explain what the response contains (e.g., price, currency, date). It also does not mention optional parameters like 'country' or potential limitations.
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?
Schema description coverage is 50% (only 'country' has a direct description). The description clarifies that 'ids' accepts one or more game UUIDs, adding meaning beyond the schema's nested oneOf descriptions. However, 'country' is not mentioned in the description, leaving the schema to fully explain it.
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 uses a specific verb ('Get') and resource ('all-time historical low prices') with clear scope ('across digital storefronts' for 'ITAD game UUIDs'). It distinguishes itself from sibling tools like get_game_prices and get_active_deals by focusing on historical lows rather than current prices or deals.
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 when to use the tool (when historical low prices are needed) but provides no explicit guidance on when not to use it or how it compares to alternatives like get_game_prices. No exclusions or alternative recommendations 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 present, so the description carries the full burden. It states the action and filter but does not disclose whether the operation is read-only, what fields are returned (e.g., title, store, price), how 'top' is sorted, or any pagination/limitations. The vagueness of 'top' and lack of output schema leave behavior undisclosed.
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 a single, front-loaded sentence that captures the core purpose and key filter with no filler. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with only three parameters and no output schema, the description provides a solid overview of the tool's purpose and primary filter. However, it could be more complete by explaining how results are sorted, what fields are included in the response, or that it is a read-only operation.
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?
Schema description coverage is 100%, so the schema already documents limit, country, and minDiscount. The description adds context that minDiscount acts as a filter, but it does not provide substantial new meaning beyond what the schema states, so the baseline of 3 is appropriate.
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 uses a specific verb ('Get') with a clear resource ('top active game discounts') and scope ('across digital storefronts'), plus the filtering dimension ('minimum discount percentage'). This distinguishes it from siblings like search_games (search by title) and get_game_prices (prices for a specific game).
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 a use case: browse currently discounted games across multiple storefronts with a discount threshold. However, it does not explicitly contrast with sibling tools or state when to use this instead of get_game_prices or search_games, so guidance is only implied rather than direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must convey behavioral traits. It discloses the core action (read current prices) and input type, but omits potential caveats like price data refresh latency, behavior for invalid UUIDs, or whether any auth/rate limits apply. It is not misleading, but it leaves some behavioral ambiguity for a tool with no 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-constructed sentence that is front-loaded with the action and includes all necessary context (storefronts, input type, multiplicity). No waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter query tool with no output schema, the description covers the essential aspects: what it does, which storefronts, and what inputs are expected. It does not explicitly describe return format or error behavior, but the phrase 'current prices and discounts' sufficiently implies the response content. Slightly more detail would push it to the top.
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 description compensates for the schema's missing description of the 'ids' parameter by stating 'one or more ITAD game UUIDs', which clarifies the string/array union. The 'country' parameter is already well-described in the schema with default 'US'. This adds meaning beyond the schema for the less-documented parameter.
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 uses a specific verb ('get') and clearly identifies the resource ('current prices and discounts across digital storefronts') and input type ('ITAD game UUIDs'). It distinguishes itself from siblings like get_historical_low (historical) and get_active_deals (deals) by emphasizing current pricing and multi-storefront coverage.
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 clearly defines its scope (current prices/discounts across storefronts), giving an agent ample context for when to invoke it. However, it does not explicitly name alternative tools or state when not to use it, falling short of the explicit when/when-not criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the core action ('Lookup') and what is returned (metadata and UUID), but does not disclose additional traits such as return format, error handling, or behavior when both parameters are provided. This is adequate but not rich.
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 a single, focused sentence that states purpose and key inputs with no redundancy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with two self-descriptive parameters and no output schema, the description covers the essential information: what it does and how to invoke it. It lacks only explicit disambiguation from search_games, which would elevate it to fully complete.
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 already documents both parameters fully, including an example for steamAppId. The description adds the crucial semantic that the two parameters are alternative lookup keys ('using a Steam AppID or game title'), which is not explicit in the schema.
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 uses the specific verb 'Lookup' and clearly identifies the resource ('ITAD game metadata and internal ITAD UUID') and the lookup keys ('Steam AppID or game title'). It is easily distinguished from sibling tools like search_games, which implies searching rather than direct lookup.
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 you have a Steam AppID or game title to retrieve metadata/UUID. It does not explicitly mention when not to use it or name alternatives, but the context is unambiguous for a direct-lookup tool.
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/brandikun/itad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server