Rattlewatch
Server Details
Cited US recall lookup for AI agents: CPSC and FDA data, nothing invented.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- veritylabsai/rattlewatch
- GitHub Stars
- 0
- Server Listing
- verity
TDQS
Scored across 4 tools
The tools are mostly distinct (requirements vs. recalls vs. changes), but 'verify' broadly overlaps with both 'get_requirement' and 'search_recalls' since it can return recalls and requirements for any claim or product query. An agent could be uncertain whether to use the specific lookup tool or the general verify tool for a given task.
Three tools follow a verb_noun pattern (get_requirement, list_changes, search_recalls), but 'verify' is a bare verb and breaks the pattern. The nouns are also inconsistent in number: singular in get_requirement, plural in list_changes and search_recalls.
Four tools is well-scoped for a small curated regulatory/recall store with no write operations. Each tool covers a distinct retrieval need without unnecessary bloat.
The set covers lookups, searches, and temporal change tracking, which suits the stated purpose of a small curated store. Minor gaps exist (e.g., no way to enumerate all supported subjects/markets or retrieve an individual record by ID), but agents can work around them with the provided tools.
Available Tools
4 toolsget_requirementARead-onlyIdempotentInspect
Get cited market-entry requirements for a product subject in a given market (e.g. subject='childrens_products', market='US'). This is a small curated set, not a full regulatory database: CPC, CPSC eFiling, EU GPSR, CE marking, REACH SVHC, RoHS and California Prop 65. Returns each fact with its official citation URL and last-verified date.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | ||
| subject | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds value by disclosing that the output is a curated set of facts, each with a citation URL and last-verified date, and explicitly states it is not a full regulatory database. This goes beyond annotations.
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?
Two sentences with no redundancy. The purpose is front-loaded, followed by scope limitations and output details. Every word adds value, and the structure is easy to parse.
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 tool with two parameters and no output schema, the description covers the essentials: what it returns, the scope of data, and the meaning of parameters. It does not mention error handling or empty results, but those are minor for this tool and not critical for 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?
The schema provides only types and titles for subject and market, with 0% schema description coverage. The description compensates by giving example values ('childrens_products' for subject, 'US' for market) and clarifying that subject refers to a product category and market to a geographic region. This adds meaningful guidance beyond the raw 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?
The description clearly states the tool retrieves cited market-entry requirements for a product subject in a given market, with a concrete example (subject='childrens_products', market='US'). It also lists the specific regulations covered, making it distinct from siblings like search_recalls or list_changes.
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 description implies usage context by noting it's a small curated set and not a full regulatory database, which tells the agent it's not for exhaustive searches. However, it does not explicitly name alternatives or state when not to use this tool in favor of siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_changesARead-onlyIdempotentInspect
List recall and requirement changes since an ISO-8601 timestamp (e.g. '2026-09-01T00:00:00+00:00'). Includes newly published recalls and rule changes, each with its source URL.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds behavioral context by specifying the kind of changes listed (recalls and rule changes) and that each includes a source URL, which goes beyond the annotations. No contradictions.
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?
The description is concise (two sentences) and front-loaded with the core purpose. The example timestamp is useful and the additional detail about source URLs is valuable. There is no fluff or redundancy.
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 listing tool with one required parameter, the description covers the main aspects: what is returned (changes with source URLs) and the required input format. It lacks details on response shape or pagination, but given the tool's simplicity and the annotations covering safety, it is sufficiently complete.
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 description coverage is 0%, so the description must compensate. It explains the 'since' parameter format and provides an example, but it does not explain the 'limit' parameter at all. The 'limit' parameter is optional with a default, but its semantics are not clarified, leaving a gap for agents.
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 clearly states the tool's purpose: to list recall and requirement changes since a timestamp. It specifies the resource ('recall and requirement changes'), the verb ('list'), and the scope ('since an ISO-8601 timestamp'). It also distinguishes itself from siblings by focusing on changes over time, while siblings like search_recalls and get_requirement have different purposes.
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 description implies when to use the tool (when you need to list changes since a timestamp) but does not explicitly mention alternatives or when not to use it. It provides clear context but no exclusions or guidance relative to sibling tools, so it falls short of a 4 or 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recallsARead-onlyIdempotentInspect
Search official US recall records by product name, brand, model, or UPC. Covers CPSC consumer products and FDA food, drug and device enforcement. Returns only cited records from the store, each with a source URL and a match score. If nothing matches, returns an empty list rather than guessing.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| market | No | US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds meaningful behavioral context: results are limited to cited records, each result includes a source URL and match score, and no matches yield an empty list rather than fabricated results.
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?
Three tightly written sentences with no filler. The action is front-loaded, scope is stated in the second sentence, and output behavior in the third. Every sentence earns its place.
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 read-only search tool with three simple parameters and no output schema, the description is mostly complete: it explains what can be searched, what results look like, and what happens on no match. The only minor gap is not explicitly describing the limit parameter, but the low complexity and annotations make this a small omission.
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 description coverage is 0%, so the description must compensate. It clarifies that 'query' accepts product name, brand, model, or UPC and implies the US market scope, but it does not explain the 'limit' parameter or its effect on result count. Two of three parameters are semantically covered.
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 action and resource: 'Search official US recall records by product name, brand, model, or UPC.' It also clarifies scope by naming CPSC and FDA coverage, making the tool's purpose immediately distinguishable from the sibling tools.
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 description gives clear context for when this tool is appropriate: US recall lookup across specific agencies with specific search fields. It does not explicitly name alternatives or exclusions, but the sibling tools appear unrelated, so no redirect is necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifyARead-onlyIdempotentInspect
Check a claim or product query against the store. Returns only cited records (recalls and requirements) that match. Explicitly reports 'no verified record' when nothing matches -- it never synthesizes an answer, so absence means 'not in the store', not a negative claim.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable behavioral detail: it returns only cited records, reports 'no verified record' when nothing matches, and never synthesizes an answer. This absence semantics is important and goes beyond the annotations.
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?
The description is two sentences, front-loaded with the core purpose, and then adds the key absence semantics. Every sentence contributes value and there is no filler or repetition of schema details.
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 tool with no output schema, the description covers the essential call-time behavior: what the query is, what records are returned, and how absence is reported. It does not spell out the exact output structure of cited records, but that is not critical for selecting or invoking this tool correctly.
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?
The input schema only names 'query' with no description, so the tool description carries the semantic weight. It defines the parameter as a 'claim or product query' and explains how it is used. This is meaningful but could be slightly stronger with examples or expected query format.
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 action and resource: 'Check a claim or product query against the store' and clarifies what counts as a match ('cited records (recalls and requirements)'). This makes the tool distinct from sibling tools like search_recalls or get_requirement by emphasizing verification rather than simple retrieval.
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 context clearly implies when to use this tool: when a claim needs to be checked against the store and when absence of a record should be interpreted as 'not in the store', not as a negative claim. It does not explicitly name alternatives or exclusions, but the sibling names and the verification framing provide enough guidance.
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.
4 tool updates
- First observed
get_requirement - First observed
list_changes - First observed
search_recalls - First observed
verify
Related MCP Connectors
Pre-purchase trust checks for AI agents: recalls, scam signals, proceed/caution/avoid verdict.
Search 120,000+ recalled products from 8 global safety agencies using AI similarity.
Match consumer products to official CPSC recalls and purchase source-linked evidence.
Cited product-compliance ground truth for AI agents. Never generates; always cites.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceSearch 120,000+ recalled products from CPSC, FDA, EU Safety Gate, and other global agencies via MCP. Enables AI agents to check product safety by text or image.Apache 2.0- AlicenseNot gradedqualityBmaintenanceAccess US consumer-product safety recalls from the CPSC, free and without authentication.155 npmMIT
- AlicenseAqualityCmaintenanceUniversal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.219 npm17MIT
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with deterministic, source-grounded food-safety screening tools for allergen identification, Indian label audits, regulation search, process hazard reviews, and official recall checks.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.