Verity
Server Details
Cited product-compliance ground truth for AI agents. Never generates; always cites.
- Status
- Healthy
- Uptime
- 100.0% over 20 days
- 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 four tools have distinct primary purposes: requirement lookup by subject/market, recall search by product identifiers, timestamp-based change listing, and general claim verification. The only source of potential confusion is that verify acts as a catch-all that could overlap with get_requirement and search_recalls, but the descriptions make the intended specialization clear.
Three tools follow a consistent verb_noun snake_case pattern (get_requirement, list_changes, search_recalls), and all tools are action-first lowercase verbs. verify breaks the verb_noun pattern slightly, but the style remains predictable and readable.
Four tools is a well-scoped size for a curated regulatory and recall lookup server. Each tool covers a distinct workflow—requirements, recalls, changes, and verification—with no bloat or redundant duplication.
The server covers the main workflows: retrieving cited requirements, searching recall records, listing changes, and verifying claims against the store. Minor gaps remain, such as no dedicated requirement-text search or recall-detail-by-ID endpoint, but these can be worked around with verify and search_recalls.
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
Cited US recall lookup for AI agents: CPSC and FDA data, nothing invented.
Cited answers on chemical, food, pharma, device, cosmetic and pesticide rules, linked to sources.
1Ground GTM agents in governed, cited company truth.
Source-cited EU/UK/US/AU market-access checks for Amazon and cross-border product compliance.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to retrieve verbatim U.S. mortgage regulations with citations and effective dates, verify quotes, and run guided compliance playbooks without sending user documents to the server.MIT
- FlicenseNot gradedqualityBmaintenanceEnables scanning e-commerce advertising content to detect prohibited claims and trademark violations, returning deterministic compliance evaluations for autonomous agents.7-
- AlicenseNot gradedqualityBmaintenanceProvides AI assistants with verified regulatory data from 850+ official sources across 50+ jurisdictions, enabling accurate compliance research.MIT
- FlicenseNot gradedqualityAmaintenanceSourced product prices, dated price history, specs and independent-test coverage across 4,764 hardware products and 2,064 software vendors — every figure returned with its source URL and the date it was captured. Unknown values come back as null rather than a guess, so an agent can cite what it surfaces.-
Glama MCP Gateway
Add one secure layer between your agents and this server.