Skip to main content
Glama
FeedDoctor MCP

FeedDoctor MCP

by anthonymorey

Diagnose Single Product SKU Across Feeds & Landing Page

diagnose_product
Read-onlyIdempotent

Diagnoses a single SKU or offerId across Google and Microsoft Merchant Center feeds, then optionally checks the live landing page's JSON-LD/meta for price and availability mismatches.

Instructions

Deep-dives into a single SKU / offerId across Google Merchant Center, Microsoft Merchant Center, and (optionally) fetches the merchant’s own public landing page URL to check JSON-LD / meta price and availability mismatches.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "sku": "<sku>"
    },
    "name": "diagnose_product"
  }
}

Input Schema

NameRequiredDescriptionDefault
skuYesThe merchant SKU / offerId to diagnose (e.g., "SKU-101").
credentialsNoOptional per-call credential overrides. If omitted, credentials are resolved from the HTTP Authorization Bearer token / headers or self-host environment variables.
googleAccountIdNo
checkLandingPageNoWhen true, fetches the merchant’s own public product URL (link) to compare live JSON-LD / meta price and availability against the feeds.
microsoftMerchantIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true and destructiveHint=false, so safety is covered. The description adds that an external public URL may be fetched and that JSON-LD/meta values are compared against feed values, which is useful behavioral context. It omits what happens on partial failures (SKU absent from one platform, unreachable landing page) and says nothing about credential resolution or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with the core resource and its scope front-loaded, and the optional behavior placed in a trailing parenthetical where it belongs. No filler; only minor density cost from cramming three data sources into one clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a diagnostic tool with no output schema, the description never indicates what a diagnosis yields (a mismatch report? per-platform status?) or how conflicting results are presented, which an agent needs in order to plan follow-up calls such as fix_plan. The nested credentials object is handled by the schema, but the overall picture is only partially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, and the description's 'JSON-LD / meta price and availability mismatches' adds real meaning to checkLandingPage beyond the schema's phrasing. But the two top-level, undescribed parameters (googleAccountId, microsoftMerchantId) get no clarification in the description, and their relationship to the nested credentials.*Id fields is left ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('deep-dives into') and resource ('a single SKU / offerId') and enumerates the exact sources checked: Google Merchant Center, Microsoft Merchant Center, and optionally the merchant landing page. This clearly separates it from aggregate siblings like feed_health_summary or compare_platforms, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The single-SKU framing implies the right usage context (drilling into one offer rather than an account-wide view), and the parenthetical '(optionally)' hints at the cost/benefit of the landing page fetch. However, there is no explicit when-to-use vs. when-to-prefer-compare_platforms guidance, no prerequisite description, and no note about what to do when a SKU is missing from only one feed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.