Recall Kitchen
Server Details
US recalls MCP: free API key/signup or x402 $0.025 Base; some tools need key; verify↑limits
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Recall-Kitchen/rk-mcp
- GitHub Stars
- 2
Available Tools
19 toolsadd_inventory_productAIdempotentInspect
Add a product to this API key's inventory. Requires a verified account (sign in at https://app.recallkitchen.com with the signup email). Unverified signup keys cannot add inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | optional SKU or UPC | |
| name | Yes | product name | |
| brand | No | optional brand | |
| category | No | optional category |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| sku | Yes | |
| name | Yes | |
| brand | Yes | |
| category | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already indicating readOnlyHint=false and idempotentHint=true, the description adds useful behavioral context about the verified-account requirement and the failure condition for unverified keys. It does not repeat or contradict 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 compact and front-loaded: the first sentence states the core action and resource, and the second sentence adds a necessary usage constraint. Every sentence earns its place with no filler.
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?
The tool has only four flat parameters, full schema coverage, an output schema, and clear annotations. The description covers the key non-schema context—account verification—so an agent has what it needs to call the 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?
Schema description coverage is 100%, so all four parameters already have meaningful schema descriptions. The tool description adds no additional parameter-level detail beyond what the schema provides, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Add'), names the resource ('product'), and scopes it to 'this API key's inventory,' clearly distinguishing it from siblings like list_inventory and remove_inventory_product. There is no ambiguity about what the tool does.
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 an explicit prerequisite: a verified account is required, and unverified signup keys cannot add inventory. It does not explicitly mention alternatives or when-not-to-use scenarios, but the auth requirement is clear and actionable context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_watch_patternAIdempotentInspect
Add a recall watch pattern for this API key. Same websearch syntax as search_product_recalls (AND, OR, -exclude, quoted phrases). Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| weight | No | optional weight 0-8, default 4 | |
| pattern | Yes | websearch pattern: unquoted words are AND, OR is or, -term excludes, quoted phrases match as a unit |
Output Schema
| Name | Required | Description |
|---|---|---|
| weight | Yes | |
| pattern | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the operation is idempotent and non-destructive. The description adds the auth requirement ('Requires an API key') and scoping, but it does not go into side effects, duplicate behavior, or other operational details 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?
Two tight sentences front-load the operation and scope, then provide syntax guidance and a prerequisite. There is no filler or redundant restatement of the schema.
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 two-parameter tool with full schema coverage and an output schema, the description covers the action, scope, syntax, and auth requirement. It could offer more detail on behavior for duplicate patterns or explicit exclusions, but annotations and schema carry much of that weight.
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%, so the baseline is 3. The description references the pattern syntax and search_product_recalls, but the schema already documents the same semantics; it adds little new meaning.
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 specific action ('Add') and resource ('recall watch pattern') and scopes it to an API key, making it clearly distinct from sibling tools like list_watch_patterns and remove_watch_pattern even without opening the schema.
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: use this to add a watch pattern scoped to an API key, and it points to search_product_recalls for the exact pattern syntax. It does not explicitly list when-not-to-use or alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_tracked_productsARead-onlyIdempotentInspect
Check this API key's watch patterns and inventory against current indexed recalls (including historical notices). Does not create notifications. Generic patterns such as food or hazard only match in titles. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum matches to return | |
| offset | No | number of matches to skip |
Output Schema
| Name | Required | Description |
|---|---|---|
| offset | Yes | |
| matches | Yes | |
| message | No | |
| nextOffset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses meaningful behavior: it does not create notifications, generic patterns like 'food' or 'hazard' only match in titles, and an API key is required. This adds real context about side effects, matching semantics, and auth requirements.
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 three sentences with no filler. The primary action is front-loaded, followed by high-value caveats about notifications, pattern matching, and authentication. 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?
The description covers the operation's scope, side effects, matching behavior, and authentication requirement. An output schema exists, so return values are already documented. The description is sufficiently complete for an agent to invoke 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?
Schema description coverage is 100%, so both the limit and offset parameters are already fully documented with defaults, min, max, and descriptions. The tool description adds no additional parameter context, which is acceptable at the baseline of 3.
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 a specific verb ('check') and resource ('this API key's watch patterns and inventory against current indexed recalls'), and it explicitly notes that no notifications are created. However, it does not name or contrast any sibling tools, so it stops short of a 5.
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: use this tool to check an API key's tracked products/inventory against recalls, including historical notices. It does not explicitly mention alternatives or when not to use it, but the purpose is specific enough to imply the right usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_api_keyAInspect
Create an additional API key for this account. Requires an existing API key. Unverified accounts may have only one key; verified accounts may have three. Usage is counted per account, not per key.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | optional kind: user or agent, default agent | |
| name | No | optional key name |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| name | Yes | |
| key_id | Yes | |
| limits | Yes | |
| api_key | Yes | |
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations do not reveal much beyond non-read-only and non-destructive intent. The description adds meaningful behavioral details: a prerequisite, account-level limits, and usage counting per account rather than per key. This helps the agent anticipate side effects.
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 concise sentences, with the main purpose front-loaded. Every sentence adds useful information: what it does, the prerequisite, and account-level constraints. No filler or redundant content.
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?
The tool is simple with two optional parameters and an output schema present. The description covers prerequisites, limits, and accounting behavior sufficiently. It does not describe error cases when limits are reached, but that is a minor gap for a simple creation tool.
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 100%, so the schema already explains both parameters. The description does not add extra param-level meaning, but it does clarify that the created key is additional to existing keys, which is context beyond parameter names. Baseline 3 is appropriate.
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: create an additional API key for this account. It clearly differentiates from sibling tools like list_api_keys and revoke_api_key, so an agent can identify this as the creation operation.
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 provides clear context for when to use the tool: requires an existing API key, and explains key limits for unverified vs verified accounts. It does not explicitly name alternatives or state when not to use it, but the guidance is sufficient for a create operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_product_recallARead-onlyIdempotentInspect
Get a recall by id, including extracted lots, UPCs, model numbers, locations, contact info, and product photo URLs
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | alias for recall_id | |
| recall_id | No | recall id returned by search tools |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| title | Yes | |
| source | Yes | |
| status | No | |
| extracted | No | |
| description | Yes | |
| publishedOn | Yes | |
| descriptionTruncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnly, idempotent, openWorld, and non-destructive behavior, so the safety profile is fully covered. The description adds no behavioral context beyond the fact that recall data is returned, but it also does not contradict 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?
A single sentence that front-loads the core action and lists the returned content types without unnecessary words. Every element contributes useful information.
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 get-by-id tool with an output schema, rich annotations, and fully described parameters, this description is complete. An agent has enough information to invoke it correctly and understand what it returns.
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 100%, with both parameters documented as id/recall_id. The description simply says 'by id' and adds no further meaning beyond what the schema already provides, so the baseline of 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 states a clear verb and resource ('Get a recall by id') and enumerates the contained data, distinguishing it from the search siblings. The name get_product_recall matches the described behavior precisely.
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 the tool is for fetching a single recall by identifier rather than searching, and the schema notes that recall_id is 'returned by search tools,' indicating the workflow. It does not explicitly name alternatives or state when not to use it, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_api_keysARead-onlyIdempotentInspect
List this account's API keys (id, name, prefix, created). Secrets are not shown. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| keys | Yes | |
| limits | Yes | |
| message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable operational details beyond those: secrets are never shown, and a valid API key is required. This helps the agent set expectations without repeating annotation data.
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 tight sentences with no filler. The core purpose is front-loaded, followed by essential security and auth caveats. 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 zero-parameter list tool with an output schema present and annotations covering safety, the description provides all necessary context: what it lists, what fields are shown, what is not shown, and what authentication is required. Nothing important is missing.
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 tool has no parameters and schema coverage is complete, so the description needs to do little. It still usefully indicates the output fields (id, name, prefix, created), which is more than the schema alone communicates.
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 ('List'), a clear resource ('API keys'), account-level scope ('this account's'), and the returned fields. It is immediately distinguishable from sibling tools like create_api_key and revoke_api_key.
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 clearly implies read-only retrieval of existing API keys and states the authentication prerequisite. It does not explicitly name alternatives or exclusion criteria, but the intended use is clear from the context and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_inventoryARead-onlyIdempotentInspect
List this API key's tracked inventory products. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | number of products to return | |
| query | No | optional inventory search | |
| offset | No | number of products to skip |
Output Schema
| Name | Required | Description |
|---|---|---|
| offset | Yes | |
| products | Yes | |
| nextOffset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety behavior is covered. The description adds useful context beyond those annotations: results are scoped to the current API key and an API key is required, which clarifies the authorization/context model. No contradiction with 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 short sentences with no filler. The core action is front-loaded, and the only additional statement is a necessary prerequisite. Every word 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 simple read-only operation with a fully documented input schema, explicit output schema, and safety-bearing annotations, the description is nearly complete. The only notable gap is the lack of guidance distinguishing it from sibling read tools like check_tracked_products, but parameter and return details are covered by structured data.
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 100%, so limit, query, and offset are already fully documented with defaults, bounds, and descriptions. The tool description adds no parameter-level detail, which is acceptable under the baseline of 3 for fully documented schemas.
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 precise action: 'List this API key's tracked inventory products.' The verb and resource are specific, and the API-key scoping makes the tool's purpose unambiguous relative to mutation tools like add_inventory_product and remove_inventory_product.
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 minimal guidance: it implies the tool is for listing tracked inventory and notes that an API key is required. It does not contrast with related read tools such as check_tracked_products or say when to prefer this tool over alternatives, leaving selection partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recall_notificationsARead-onlyIdempotentInspect
List recall notifications for this API key. unread defaults to true (unread only); pass false for all. Empty for new accounts until a new matching recall is published; not a backfill of check_tracked_products. message is a short plain-text summary. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | number of notifications to return | |
| offset | No | number of notifications to skip | |
| unread | No | if true, only unread notifications; if false, include read. Default: true (unread only) |
Output Schema
| Name | Required | Description |
|---|---|---|
| offset | Yes | |
| message | No | |
| nextOffset | No | |
| notifications | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint as safe. The description adds useful behavioral context: the unread default, empty-for-new-accounts behavior, the non-backfill relationship to check_tracked_products, and that message is a short plain-text summary. No contradiction exists.
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?
Four short sentences deliver all key information with no filler. The core action is front-loaded, and each subsequent sentence adds either parameter behavior, result expectations, or output format context.
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?
Given the simple tool shape, complete schema coverage, output schema presence, and safe annotations, the description provides everything an agent needs for a correct call: default filter, result emptiness, distinction from a sibling tool, message format, and auth requirement.
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 100%, so the schema already documents all three parameters. The description adds minor clarification about the unread default and the response's message field, but limit and offset semantics remain fully handled by the schema. Baseline 3 is appropriate.
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 clear verb and resource: 'List recall notifications for this API key.' It also distinguishes itself from the sibling check_tracked_products by explicitly saying it is 'not a backfill' of that tool, so an agent can identify its unique purpose.
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 explains how to get all notifications versus unread only, and sets expectations for empty results on new accounts. It also names check_tracked_products as a related but different operation. It does not enumerate every alternative sibling tool, but the guidance is sufficient for the common decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_watch_patternsARead-onlyIdempotentInspect
List this API key's recall watch patterns. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| patterns | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds useful behavioral context beyond annotations by specifying that the results are scoped to the authenticated API key and that an API key is required, which is not indicated by the annotations alone.
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 short, purposeful sentences. The primary action and scope are front-loaded, and the auth requirement is stated in the second sentence without any filler 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 parameterless, read-only list operation with an output schema present, the description covers everything an agent needs: what is being listed, the scope, and the authentication requirement. No critical behavioral or usage information is missing.
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 tool has zero parameters and the input schema is fully self-describing with an empty object. The description therefore does not need to explain parameter semantics, and the zero-parameter baseline of 4 is appropriate.
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 action ('List'), the resource ('recall watch patterns'), and the scope ('this API key's'). This distinguishes it from siblings like list_api_keys and list_recall_notifications, making the tool's purpose immediately unambiguous.
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 provides clear context: this tool lists watch patterns associated with the current API key, and requires an API key for access. It does not explicitly name alternatives or when-not-to-use conditions, but the scoped phrasing makes the appropriate usage obvious for a simple list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_productARead-onlyIdempotentInspect
Look up a product by UPC/EAN. Returns found=false when unknown. Does not search recalls.
| Name | Required | Description | Default |
|---|---|---|---|
| upc | Yes | UPC or EAN barcode digits |
Output Schema
| Name | Required | Description |
|---|---|---|
| upc | Yes | |
| hint | No | |
| found | Yes | |
| product | No | |
| branded_food | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe read-only operation, and the description adds useful behavior beyond them: it returns found=false for unknown products and does not search recalls. This gives the agent confidence about edge-case behavior.
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 tightly written sentences with no filler. The core lookup purpose, unknown-product behavior, and recall exclusion are all communicated efficiently.
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 one-parameter tool with an output schema, the description covers the important behaviors and the key distinction from recall tools. Nothing critical is missing.
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 single parameter 'upc' already has 100% schema description coverage ('UPC or EAN barcode digits'), so the description adds little new parameter-level meaning. Baseline 3 is appropriate.
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 clear verb and resource: 'Look up a product by UPC/EAN.' The explicit statement 'Does not search recalls' distinguishes it from recall-related 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?
Clearly indicates this tool is for product lookup by UPC/EAN, not for recall searches. It gives an explicit exclusion, though it does not name a specific alternative tool to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_notification_readAIdempotentInspect
Mark a recall notification as read (default) or unread. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| read | No | if true, mark read; if false, mark unread. Default true | |
| recall_id | Yes | recall id from list_recall_notifications |
Output Schema
| Name | Required | Description |
|---|---|---|
| read | Yes | |
| updated | Yes | |
| recall_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description reveals the default behavior (read), the optional unread mode, and the API-key requirement. This supplements the structured hints without contradicting them, though it does not describe response or side-effect details (covered by output schema/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 short sentences convey the operation and an auth prerequisite with zero filler. The core behavior is front-loaded and the API-key note is kept brief.
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 two-parameter mutation with full schema coverage, idempotency and destructiveness annotations, and an output schema, this description gives the agent everything needed to invoke it correctly. No material gap remains.
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 100%: recall_id and read are both documented with their meanings and default. The description only restates the default behavior already present in the schema, so it adds no new parameter-level meaning.
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 starts with a specific verb and resource: 'Mark a recall notification as read (default) or unread.' This clearly differentiates it from the recall-search and inventory sibling tools, which operate on different resources.
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 is clear: this tool updates notification read state and requires an API key. It does not explicitly name alternatives or when-not-to-use conditions, but no sibling tool performs the same notification-status mutation, so the implicit usage context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_inventory_productADestructiveIdempotentInspect
Remove a product from this API key's inventory by id. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | inventory product id from list_inventory |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| removed | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive and idempotent, and the description aligns with that by saying 'Remove.' It adds useful context beyond annotations by clarifying the operation is scoped to 'this API key's inventory' and explicitly states the authentication requirement: 'Requires an API key.'
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 short, focused sentences with no filler. The core operation and scope are front-loaded, and the authentication requirement is stated as a separate necessary condition. 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 single-parameter destructive operation with an output schema and rich annotations, the description covers the essential context: what is removed, from where, by what identifier, and what prerequisite is required. Nothing critical is missing for an agent to invoke it 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?
Schema coverage is 100% and the id parameter already has a meaningful description ('inventory product id from list_inventory'). The description's 'by id' reinforces the parameter's role but does not add significant new semantic detail 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?
The description states a specific verb ('Remove'), the resource ('a product from this API key's inventory'), and the method ('by id'). This clearly distinguishes it from siblings like add_inventory_product and list_inventory without requiring schema inspection.
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 provides clear context for when to use the tool: removing an inventory product tied to the current API key. It does not explicitly name alternatives or exclusion conditions, but the scope and operation are unambiguous enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_watch_patternADestructiveIdempotentInspect
Remove a recall watch pattern for this API key. Requires an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | watch pattern to remove |
Output Schema
| Name | Required | Description |
|---|---|---|
| pattern | Yes | |
| removed | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructiveHint=true and idempotentHint=true, covering the key behavioral traits. The description adds only an auth requirement, with no extra detail on edge cases such as removing a nonexistent pattern. It does not contradict 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 short sentences with no filler. The action and resource are front-loaded, and the API key requirement is the only additional context, placed efficiently at the end.
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 single-parameter, idempotent, destructive tool with an output schema, this description is complete. It specifies the scope ('for this API key'), the auth need, and the action; return format is covered by the output schema.
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 100%, and the pattern parameter is already described as 'watch pattern to remove.' The tool description does not add format, examples, or additional meaning beyond what the schema provides.
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 action ('Remove') and the resource ('recall watch pattern'), scoped to 'this API key.' This makes the tool's purpose specific and distinct from siblings such as add_watch_pattern and list_watch_patterns.
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 provides a prerequisite ('Requires an API key') but no explicit guidance on when to use this tool versus alternatives like add_watch_pattern or list_watch_patterns. The usage context is implied by the verb, but not stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revoke_api_keyADestructiveIdempotentInspect
Revoke an API key by key_id from list_api_keys. Requires an API key. Revoking the current key will fail subsequent calls.
| Name | Required | Description | Default |
|---|---|---|---|
| key_id | Yes | key_id from list_api_keys |
Output Schema
| Name | Required | Description |
|---|---|---|
| key_id | Yes | |
| revoked | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish destructiveHint=true and idempotentHint=true, lowering the bar. The description adds meaningful context beyond annotations by stating that an API key is required and that revoking the current key will fail subsequent calls. This is exactly the kind of behavioral warning an agent needs.
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 compact sentences with no filler. The primary purpose is stated first, followed by the key prerequisite and an important side-effect warning. Every sentence adds necessary information.
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 one-parameter destructive action with a full output schema and annotations covering destructive/idempotent behavior, the description is complete. It covers required authentication, identifier source, and a critical failure mode, so an agent has everything needed to invoke it 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?
Schema coverage for parameters is 100%, so the schema already documents key_id. The description reinforces that key_id comes from list_api_keys, which adds minor context about the value's provenance, but does not provide additional format, constraints, or usage semantics beyond what the schema states.
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 ('Revoke'), a resource ('API key'), and the exact identifier source ('key_id from list_api_keys'). It clearly distinguishes the tool from sibling tools like create_api_key and list_api_keys without requiring deeper inspection.
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: the key_id must come from list_api_keys and an API key is required for the call. It does not explicitly name alternatives or state when not to use this tool, but the context is sufficient to guide correct invocation and differentiate from list/create operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_product_recallsARead-onlyIdempotentInspect
Search product recalls by query. Query uses websearch syntax: unquoted words are AND, OR is or, -term excludes, quoted phrases match as a unit (example: Generac Generator -Portable). Optional filters: source (cpsc, fdafoodsafety, FDAMedWatch, usda, nhtsa, costco, target, walmart), since/until (YYYY-MM-DD), location (country, region, or place, ANDed with the query), offset, limit. Descriptions are truncated and extracted products are capped; use get_product_recall for the full text.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | number of recalls to return, 1-100, default 3 | |
| query | No | websearch query: unquoted words are AND, OR is or, -term excludes, quoted phrases match as a unit. Example: Generac Generator -Portable | |
| since | No | optional published-on start date YYYY-MM-DD | |
| until | No | optional published-on end date YYYY-MM-DD | |
| offset | No | number of recalls to skip | |
| source | No | optional source filter: cpsc, fdafoodsafety, FDAMedWatch, usda, nhtsa, costco, target, or walmart. Aliases: FDA and food map to fdafoodsafety; medwatch maps to FDAMedWatch; vehicle, vin, and car map to nhtsa; sams maps to walmart. | |
| location | No | optional country, region, or place; ANDed with the query. US aliases such as CA and California still apply |
Output Schema
| Name | Required | Description |
|---|---|---|
| offset | Yes | |
| recalls | Yes | |
| nextOffset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/destructive-safe behavior, so the bar is lower. The description adds useful behavioral context beyond those hints: result descriptions are truncated, extracted products are capped, and location is ANDed with the query. This is meaningful operational detail an agent needs to interpret results correctly.
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 dense but every sentence earns its place: purpose, query syntax with example, filters, caveat about truncation, and pointer to the full-text sibling. It is front-loaded with the core purpose and uses compact but precise wording.
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 7 parameters, a 100% schema-coverage schema, an output schema, and no nested objects, the description covers everything an agent needs for correct invocation: syntax, filters, aliases, truncation behavior, and the alternative for full text. Nothing critical is missing.
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%, giving a baseline of 3. The description adds significant extra meaning beyond the schema: websearch syntax rules, source aliases (FDA, medwatch, vehicle, sams), and the ANDing behavior of location. This is more than a restatement of parameter names and helps the agent use the parameters correctly.
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 ('Search product recalls by query') and clarifies the query mechanism, including syntax and examples. It also differentiates from siblings by noting that full text is available via get_product_recall, and its title distinguishes it from search_product_recalls_by_upc and search_product_recalls_from_image.
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 concrete guidance on how to construct queries, available filters, source values, and date/location options. It explicitly directs the agent to get_product_recall for full text when descriptions are truncated, which is a clear alternative-selection cue. It does not explicitly contrast with UPC/image/identifier search siblings, but the query-based nature is clearly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_product_recalls_by_upcARead-onlyIdempotentInspect
Search recalls by UPC/EAN or a barcode image URL/data URI/MCP image content. Matches extracted recall UPCs first. Returns found=false when the UPC is unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| upc | No | UPC or EAN barcode digits | |
| url | No | alias for image_url | |
| limit | No | number of recalls to return, 1-100, default 3 | |
| offset | No | number of recalls to skip | |
| barcode | No | alias for upc | |
| image_url | No | optional HTTPS URL or data:image/...;base64 URI of a barcode image |
Output Schema
| Name | Required | Description |
|---|---|---|
| upc | Yes | |
| hint | No | |
| found | Yes | |
| match | No | |
| offset | Yes | |
| product | No | |
| recalls | Yes | |
| confidence | No | |
| nextOffset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds genuinely useful behavior beyond that: extracted recall UPCs are matched first, and an unknown UPC yields found=false rather than an error. This is non-obvious and not expressed elsewhere.
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 three short sentences with no wasted words. It front-loads the search verb and resource, then adds the most important matching and not-found behaviors. It avoids repeating schema details like limit or offset.
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?
Given the annotations, full input schema coverage, and presence of an output schema, the description is largely complete: it covers input modes, matching behavior, and not-found semantics. The only real gap is that 'MCP image content' is referenced but no corresponding parameter explicitly represents it in the schema.
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%, so the baseline is 3 even without additional parameter explanation. The description reinforces that UPC/EAN and image URL/data URI inputs are supported and mentions 'MCP image content,' but it does not substantially clarify aliases or formats beyond what the schema already documents.
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 searches recalls by UPC/EAN or barcode image input, which identifies the verb, resource, and input modes. It does not explicitly distinguish this from sibling tools such as search_product_recalls_from_image or search_recalls_by_identifier, but the UPC/EAN focus makes the primary purpose unambiguous.
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 the tool should be used when the caller has UPC/EAN digits or a barcode image, and it specifies that unknown UPCs return found=false. However, it gives no explicit guidance about when to prefer this tool over overlapping siblings, especially search_product_recalls_from_image, which also appears image-capable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_product_recalls_from_imageARead-onlyIdempotentInspect
Identify products in a public HTTPS image URL, data:image/...;base64 URI, or MCP image content part. Local files are not supported. Each product includes match (upc, model, text, category) and confidence. Category matches omit recalls unless include_category_matches=true. Requires an API key or x402; not included in the free anonymous per-IP quota.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | alias for image_url | |
| limit | No | number of recalls to return per product, 1-100, default 3 | |
| image_url | No | HTTPS URL or data:image/...;base64 URI of a photo containing products. Local file paths are not supported. | |
| include_category_matches | No | if true, attach keyword recalls for generic items such as cups; default false |
Output Schema
| Name | Required | Description |
|---|---|---|
| recalls | Yes | |
| products | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description discloses important behavior: accepted input formats, local-file rejection, per-product match and confidence output, the include_category_matches behavior, and authentication/quota requirements. This gives the agent a clear picture of constraints and expectations without contradicting 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 compact and well-organized, leading with the core input modes, then constraints, output shape, category behavior, and auth requirements. Every sentence earns its place and there is no redundant 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 read-only image search tool with an output schema, the description covers all essential calling context: supported inputs, unsupported local files, the auth/quota condition, and the special category-match behavior. No critical operational detail is missing.
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 already documents all parameters at 100% coverage, so the baseline is 3. The description adds meaningful extra semantics by noting MCP image content parts as a supported input and explaining that category matches omit recalls unless include_category_matches=true.
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: identify products in an image supplied via HTTPS URL, base64 data URI, or MCP image content part. This verb+resource framing and the explicit input-mode list differentiate it from the sibling text/UPC/identifier search 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 to use the tool (when you have an image reference) and explicitly excludes local files. It also notes the API key/x402 requirement and the free-quota exclusion. It does not name sibling tools as alternatives, but the image-focused wording makes the intended use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recalls_by_identifierARead-onlyIdempotentInspect
Search recalls by extracted UPC, lot code, model number, product name, or VIN. VIN is decoded locally to year and make and matched against NHTSA campaigns (not a live NHTSA VIN API). Multiple identifiers are AND-matched on the same product.
| Name | Required | Description | Default |
|---|---|---|---|
| upc | No | product UPC or EAN as stored on the recall | |
| vin | No | 17-character vehicle identification number. Decoded locally to year and make, then matched against NHTSA campaigns. Does not call NHTSA live. | |
| limit | No | number of recalls to return | |
| offset | No | number of recalls to skip | |
| lot_code | No | lot or batch code as stored on the recall | |
| model_number | No | model number as stored on the recall | |
| product_name | No | extracted product name (exact match) |
Output Schema
| Name | Required | Description |
|---|---|---|
| offset | Yes | |
| recalls | Yes | |
| nextOffset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that the operation is read-only and non-destructive. The description adds meaningful behavioral context beyond that: local VIN decoding, no live NHTSA VIN API call, and AND-matching semantics across identifiers on the same product.
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 efficient sentences convey the core behavior, the VIN limitation, and matching semantics with no filler. The most important scope information is front-loaded.
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 a full output schema and complete parameter documentation, the description is nearly sufficient. It covers the key behavioral constraints and identifier types, though it does not state what happens when no identifiers are provided; annotations and schema mitigate this gap.
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 100%, so the baseline is 3. The description adds value by clarifying that multiple identifiers are AND-matched on the same product, which is combination semantics not obvious from individual parameter descriptions. This modest addition justifies a 4.
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 a specific verb and resource: searching recalls by one or more extracted identifiers (UPC, lot code, model number, product name, VIN). It further distinguishes itself from sibling tools by explaining the VIN is decoded locally and matched against NHTSA campaigns rather than called live.
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: use when searching recalls by extracted identifiers, especially when VIN is involved. However, it does not explicitly say when to choose this tool over siblings like search_product_recalls_by_upc or search_product_recalls_from_image, nor does it state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signupAInspect
Create a Recall Kitchen account and API key from an email. No API key or x402 payment required. The key is returned once. Unverified accounts have lower rate limits (60 tool calls/hour, 400/day, one key) and can add a few watch patterns. Sign in at https://app.recallkitchen.com with the same email to verify, raise limits, and add inventory. Does not re-issue a key if the email already has an account.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | optional display name | |
| Yes | email address for the new account |
Output Schema
| Name | Required | Description |
|---|---|---|
| Yes | ||
| key_id | Yes | |
| limits | Yes | |
| api_key | Yes | |
| message | Yes | |
| user_id | Yes | |
| email_verified | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only flag that this is not read-only, not idempotent, and not destructive; the description adds rich behavior: key issued once, unverified rate limits, verification path, and no re-issue for existing accounts. No contradiction with 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?
Every sentence carries a distinct, necessary fact: creation action, no preconditions, one-time key, rate limits/verification, and existing-account caveat. Front-loaded with the verb and resource, then caveats in decreasing importance.
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 an account-creation tool, the description covers prerequisites, side effects, limits, verification, and account-existence behavior. An output schema exists, so the absence of return-value detail in the description is acceptable.
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 100% and both parameters are already explained in the schema. The description adds context that email is used to create the account and key, but it does not need to add parameter-level syntax because the schema covers it.
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 action—create a Recall Kitchen account and API key from an email—and adds differentiation by noting no API key/x402 payment is needed and that existing accounts do not get a re-issued key. This makes it easy to tell apart from create_api_key and other siblings.
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?
Clearly implies initial-signup usage: it is for users without an API key, and it explicitly warns that an email already tied to an account will not get a new key. It does not name create_api_key as the alternative for existing accounts, so it stops short of fully explicit alternatives.
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. Dates show when Glama detected each change.
19 tool updates
- First observed
add_inventory_product - First observed
add_watch_pattern - First observed
check_tracked_products - First observed
create_api_key - First observed
get_product_recall - First observed
list_api_keys - First observed
list_inventory - First observed
list_recall_notifications - First observed
list_watch_patterns - First observed
lookup_product - First observed
mark_notification_read - First observed
remove_inventory_product - First observed
remove_watch_pattern - First observed
revoke_api_key - First observed
search_product_recalls - First observed
search_product_recalls_by_upc - First observed
search_product_recalls_from_image - First observed
search_recalls_by_identifier - First observed
signup
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
337 MCP tools with x402 micropayments on Base. $0.001/call. No signup, no API keys.
Paid x402 MCP for evidence-backed industrial migration resolution. 1 USDC per call on Base.
23 MCP tools: compliance, verification, messaging, booking, US contracts. 15 need no key.
8 pay-per-call web intel tools over MCP. Free discovery, calls settle in USDC on Base (x402).
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceCrypto intelligence MCP: 104 tools for market data, ML signals, on-chain analytics, derivatives, and Bittensor subnets. Pay-per-call via x402 USDC on Base/Solana/Algorand/Stellar or $9.99/mo API key.MIT
- AlicenseNot gradedqualityCmaintenance250+ AI-powered MCP tools: research, write, code, translate, scrape, sentiment, vision, RAG, agent memory, marketplace, trading signals, and more. 15 models across 7 providers. Pay-per-use via API key or x402 USDC micropayments.2MIT
- FlicenseNot gradedqualityAmaintenanceWallet-funded remote MCP for live Solana priority fees, transaction simulation and diagnosis, token-risk checks, PDF-to-Markdown, and audio normalization. Paid tools use x402 on Solana and Base with no API key.-

oom-x402-mcpofficial
FlicenseNot gradedqualityBmaintenanceMCP server exposing 1,000+ pay-per-call API endpoints across agent infrastructure (memory, coordination, secrets, verification), data, compute, finance, weather, geography, and reference categories — payments via x402 protocol in USDC on Base.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have clear, distinct resource-action boundaries (inventory vs. watch patterns vs. notifications vs. search). The search tools overlap somewhat—especially search_product_recalls_by_upc, search_product_recalls_from_image, and search_recalls_by_identifier—but their input types and intent are described well enough to avoid major confusion.
The overwhelming majority follow a predictable verb_noun snake_case pattern (add_inventory_product, list_watch_patterns, revoke_api_key). Minor deviations like signup, list_inventory, and search_recalls_by_identifier (instead of search_product_recalls_by_identifier) keep it from being perfectly consistent.
With 19 tools, the server is slightly on the heavier side, but the count is justified by covering several distinct areas: account/key management, inventory, watch patterns, recall search, and notifications. Each tool appears to serve a real purpose, though a few search variants could arguably be consolidated.
The set covers the core lifecycle well: signup, key management, inventory and watch pattern add/list/remove, multiple recall search paths, recall detail lookup, and notification read state. Minor gaps exist, such as no update operation for inventory items or watch patterns and no bulk notification actions, but agents can work around these.