WashyDish (US)
Server Details
Search, filter and compare dishwashers on WashyDish, with DOE and ENERGY STAR data where certified.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 7 tools
fetch and get_model both retrieve a single dishwasher's full data, distinguished mainly by id vs slug, while search and search_models both query the catalog with different result detail. The descriptions clarify inputs and return shapes, but an agent could still reasonably choose the wrong tool in either pair.
Most tools follow a snake_case verb-first pattern: compare_models, get_model, list_filters, list_guides, search_models. The bare verbs fetch and search are minor deviations, with fetch being especially vague, but overall the convention is readable and predictable.
Seven tools is well within the 3-15 range and fits the read-only dishwasher comparison domain: search, detail retrieval, comparison, filters, and guides. The surface is not bloated and each broad capability has a place.
The set covers the key workflows: discovery via search/search_models, filtering, single-model detail, comparison, and buying guides. Minor gaps remain, such as no explicit browse/list-all or brand/category listing, and the id/slug split can force workarounds, but the core domain is adequately served.
Available Tools
7 toolscompare_modelsCompare modelsARead-onlyIdempotentInspect
Compare 2 to 4 dishwashers from WashyDish's comparison (slugs) side by side on the same criteria.
| Name | Required | Description | Default |
|---|---|---|---|
| slugs | Yes | ||
| market | Yes | The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog. | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description usefully adds that results are aligned "on the same criteria" and that the operation is slug-driven, but says nothing about behavior with duplicate, unknown, or cross-market slugs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with zero padding, and the key constraints (2 to 4, slugs, side by side) are front-loaded. The parenthetical "(slugs)" is slightly awkward but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, two-parameter tool with no output schema and safety carried by annotations, the description covers what the tool does and the input intent. It could add a hint about the comparison result shape or how the market scopes the comparison, but nothing blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: market is fully documented inline, while slugs carries only minItems/maxItems. The description partly compensates by labeling slugs as WashyDish comparison identifiers, but it adds no format examples or constraints beyond what the schema already enforces.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("Compare ... dishwashers") plus the input form ("slugs") and cardinality (2 to 4), so an agent knows exactly what operation it is. It stops short of naming a sibling such as get_model as the alternative for single-item lookup, so differentiation is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 2-to-4 range and "side by side" framing imply this is the multi-item tool versus a single-model fetch, but no alternative is named and no when-not condition (e.g. one item, invalid slug) is stated. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch a modelCRead-onlyIdempotentInspect
The full content of one of WashyDish's dishwashers (an id returned by search): our data, its filter values, its official data and its address.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| market | No | The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog. | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description's added value is enumerating what the response contains ('our data, its filter values, its official data and its address'), which matters since there is no output schema. However, it discloses nothing about behavior when the id is invalid, whether the market affects resolution, or completeness of the record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with a parenthetical, front-loading the returned payload. No filler. The phrasing is slightly awkward ('the full content of one of ... dishwashers' rather than 'fetch a model by id'), which costs a bit of parseability but not length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the right thing by roughly listing returned fields, and it explains where the id comes from. What is missing is the sibling boundary against get_model and any note on failure behavior for an unknown id, which an agent needs to invoke this correctly in a six-tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'market' is fully documented in the schema with enum meanings per locale, while 'id' has no schema description at all. The description partially compensates for 'id' by saying it is 'an id returned by search', which establishes the expected format/source. That is useful but thin for the single required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('one of WashyDish's dishwashers') and enumerates the payload ('our data, its filter values, its official data and its address'), so the intent is inferable. But it is phrased as a noun fragment with no verb, and it makes no attempt to distinguish itself from the sibling 'get_model', which sounds like it does the same thing. An agent cannot confidently route between the two from this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the parenthetical '(an id returned by search)', which tells the agent where the id comes from — that is prerequisite info, not a when-to-use rule. There is no guidance on when to pick this over get_model, search, or search_models, and no exclusions or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_modelGet a modelBRead-onlyIdempotentInspect
All the data of one of the dishwashers in WashyDish's comparison (by its slug) and the link to its page.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| market | Yes | The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog. | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds that the result is the model's full record plus a page link, which helps since there is no output schema, but it says nothing about what happens with an unknown slug or the per-market catalog scope implied by the market param.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the resource and its identifier. The parenthetical '(by its slug)' is slightly awkward but earns its place as the only slug hint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter lookup with no output schema, the description covers the basic shape but omits the market dimension entirely and leaves the return value as the vague 'all the data'. An agent could invoke it correctly but may not understand catalog scoping.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: market is well documented inline, but slug has no schema description at all. The phrase 'by its slug' partially compensates by identifying slug as the model's unique identifier, but the description never mentions the market parameter or that each market has a separate catalog.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: fetch the full data of a single dishwasher model, identified by slug, plus a link to its page. That distinguishes it from list-oriented siblings like search_models and compare_models, though it never names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no hint that a sibling like search_models is needed to obtain a slug first. The only implicit signal is 'by its slug', which implies a known identifier lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filtersList filtersBRead-onlyIdempotentInspect
The filters of WashyDish's dishwashers comparison: key, label, possible values or range and unit, and what each means.
| Name | Required | Description | Default |
|---|---|---|---|
| market | Yes | The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog. | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds value by disclosing the shape of each returned entry (key, label, values/range, unit, meaning), which matters since there is no output schema. It says nothing about how the required 'market' parameter changes the result set or whether the list is stable across markets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that enumerates return fields without filler. The colon-list construction is slightly clunky but wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only reference tool with full schema coverage and clear annotations, the description supplies the one thing structured data lacks: the composition of each returned filter record. It is only incomplete in not tying the tool to the broader compare/search workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and its schema description covers it at 100%, including the enum meanings and the note that each market has its own catalog — baseline 3 applies. The description adds no parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource precisely (the filters of the WashyDish dishwasher comparison) and itemizes what the listing contains: key, label, possible values or range, unit, and meaning. An agent knows exactly what it gets back, though the description never differentiates the tool from siblings like list_guides or search_models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all — no statement that this is the discovery step before search_models, no mention of alternatives, and no exclusion rules. The agent must infer the workflow role from the noun 'filters' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_guidesList buying guidesCRead-onlyIdempotentInspect
WashyDish's buying guides for dishwashers, with their address.
| Name | Required | Description | Default |
|---|---|---|---|
| market | Yes | The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog. | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is fully covered. The description adds only one behavioral detail — that each guide is returned with its address — which is useful but thin, and it leaves 'address' ambiguous (URL? physical location?).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short fragment with no padding, which is efficient. The tradeoff is that the brevity comes from omissions rather than disciplined writing — no verb and a trailing, vague 'with their address' clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only list tool with one fully documented parameter, so the bar is modest. Still, with no output schema the description should clarify the return shape — what a guide consists of and what 'address' means — plus whether results vary by market, and it does neither.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'market' parameter has a thorough enum description explaining US/Amazon.com/English versus FR/Amazon.fr/French and separate catalogs. The description adds nothing about the market parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('buying guides for dishwashers') and a return attribute ('with their address'), so the agent knows roughly what comes back. However, it is a noun phrase with no verb, so it never says 'lists all guides', and it makes no attempt to distinguish this from siblings like search, fetch, or compare_models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative is named. The agent must infer from the name alone that this is the enumeration path versus search or search_models, with no explicit routing cue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchARead-onlyIdempotentInspect
Search the dishwashers in WashyDish's comparison, for the United States (Amazon.com, in English) or France (Amazon.fr, in French) (free text); returns each one's id, title and address.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| market | No | The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog. | us |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value by disclosing the return shape (id, title, address) and the fact that each market has its own catalog, but it says nothing about result limits, ranking or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that puts verb and resource first. The stacked parentheticals '(Amazon.com, in English)' duplicate the schema's market description and make the sentence denser than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only search with no output schema, the definition covers what is searched, where, and what comes back. The only missing piece an agent might want is the relationship to the sibling search_models and fetch tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, and the undescribed parameter is 'query'; the description compensates partly by labeling the search as free text. The market parameter is already fully documented in the schema, including enum meanings, so the description's market restatement adds little.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (dishwashers in WashyDish's comparison), plus the two supported markets. It does not explain how it differs from the sibling search_models, so an agent must infer that distinction from the word 'free text' alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(free text)' implies this is the free-text entry point as opposed to a structured lookup, but usage is only implied. With siblings named search_models, fetch, get_model and compare_models, there is no explicit when-to-use-this-instead-of-that routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_modelsSearch modelsARead-onlyIdempotentInspect
Search the dishwashers in WashyDish's comparison, for the United States (Amazon.com, in English) or France (Amazon.fr, in French), by need (free text) and exact filters; returns name, brand, filter values, official data with its source and the link to the model's page on the site (today's price and ratings are there).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Need in plain words (e.g. "quiet for a studio") | |
| market | Yes | The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog. | us |
| filters | No | {key: [exact values]} or {key: {min, max}}, using the keys and values of the comparison's filters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real context beyond that: results are summaries (name, brand, filter values, official data with its source) and price/ratings are deliberately excluded and must be fetched from the model page, and each market has its own separate catalog. It says nothing about result ordering, total match counts, or how limit truncation behaves, which are the remaining behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Everything is packed into one front-loaded sentence that puts the resource, markets, search modes and return contents in a logical order, with no filler. It is grammatically dense and the parenthetical about price and ratings is slightly buried, but no clause is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so substantively — name, brand, filter values, sourced official data, and the model page link. For a four-parameter search tool with annotations covering safety, the only missing pieces are result ordering and limit/pagination behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, and the schema already documents market, query and filters in comparable detail, so the description's restatement of 'by need (free text) and exact filters' adds little new meaning. The limit parameter is undocumented in both places, and the description gives no guidance on how query and filters combine or on filter key/value syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Search the dishwashers in WashyDish's comparison') plus the two supported markets, so an agent knows this is a catalog search rather than a detail lookup. It stops short of explicitly naming siblings like get_model or compare_models as the alternative, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the two search modes clearly — free-text need via query and exact-value filtering via filters — and implies a boundary by noting that today's price and ratings live on the linked model page, which routes the agent elsewhere for that data. There is no explicit 'use X instead of this tool' guidance, and nothing about when filters should be preferred over query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
compare_models1 field changed- changed
Input schema / requiredPrevious value: -[ - "slugs" -]New value: +[ + "slugs", + "market" +]
- Changed
get_model1 field changed- changed
Input schema / requiredPrevious value: -[ - "slug" -]New value: +[ + "slug", + "market" +]
- Changed
list_filters1 field changed- added
Input schema / requiredAdded value: +[ + "market" +]
- Changed
list_guides1 field changed- added
Input schema / requiredAdded value: +[ + "market" +]
- Changed
search_models1 field changed- added
Input schema / requiredAdded value: +[ + "market" +]
7 tool updates
- Changed
compare_models1 field changed- added
Input schema / properties / marketAdded value: +{ + "default": "us", + "description": "The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog.", + "enum": [ + "us", + "fr" + ], + "type": "string" +}
- Changed
fetch1 field changed- added
Input schema / properties / marketAdded value: +{ + "default": "us", + "description": "The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog.", + "enum": [ + "us", + "fr" + ], + "type": "string" +}
- Changed
get_model1 field changed- added
Input schema / properties / marketAdded value: +{ + "default": "us", + "description": "The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog.", + "enum": [ + "us", + "fr" + ], + "type": "string" +}
- Changed
list_filters1 field changed- added
Input schema / properties / marketAdded value: +{ + "default": "us", + "description": "The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog.", + "enum": [ + "us", + "fr" + ], + "type": "string" +}
- Changed
list_guides1 field changed- added
Input schema / properties / marketAdded value: +{ + "default": "us", + "description": "The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog.", + "enum": [ + "us", + "fr" + ], + "type": "string" +}
- Changed
search1 field changed- added
Input schema / properties / marketAdded value: +{ + "default": "us", + "description": "The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog.", + "enum": [ + "us", + "fr" + ], + "type": "string" +}
- Changed
search_models2 fields changed- changed
Input schema / properties / filters / descriptionPrevious value: -"{key: [exact values]} or {key: {min, max}} (see list_filters)"New value: +"{key: [exact values]} or {key: {min, max}}, using the keys and values of the comparison's filters" - added
Input schema / properties / marketAdded value: +{ + "default": "us", + "description": "The market: us = the United States (Amazon.com, in English), fr = France (Amazon.fr, in French). Each market has its own catalog.", + "enum": [ + "us", + "fr" + ], + "type": "string" +}
7 tool updates
- First observed
compare_models - First observed
fetch - First observed
get_model - First observed
list_filters - First observed
list_guides - First observed
search - First observed
search_models
Related MCP Connectors
Search, filter and compare washing machines on WashEdge, with official US data where certified.
Search, filter and compare fridges on FridgeBase, with DOE and ENERGY STAR data where certified.
French dishwasher comparison, with EU energy-label data (EPREL) where registered.
French washing machine comparison, with EU energy-label data (EPREL) where registered.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables comparing and ranking portable battery power stations and solar generator bundles by load, runtime, use case, solar charging, portability, battery chemistry, and budget, with modeled estimates and shopping guidance.-
- AlicenseAqualityDmaintenanceSearches US colleges and scholarships using government data, enabling comparisons of tuition, debt, earnings, and program-specific outcomes.4MIT
- AlicenseAqualityBmaintenanceEnables AI agents to search Iranian electronics products, read full spec tables, compare models side by side, and check shop offers and price history in Toman. It also covers category filtering, spec-based ranking, and Zoomit reviews, articles and buying guides, all read-only and without an API key.123MIT
- AlicenseAqualityDmaintenanceSearch URDB's product integrity database — integrity scores, enshittification events, warranty cuts, and material downgrades across consumer products. Sourced and evidence-backed.443 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.