Skip to main content
Glama
FeedDoctor MCP

FeedDoctor MCP

by anthonymorey

Compare Google vs. Microsoft Product Feeds

compare_platforms
Read-onlyIdempotent

Cross-check Google and Microsoft Merchant Center feeds to find SKUs approved on one platform but disapproved on the other, price or availability mismatches, and missing GTIN or brand backfill gaps.

Instructions

Cross-checks Google Merchant Center and Microsoft Merchant Center feeds for the same SKUs: detects SKUs approved on one platform but disapproved on the other, price/availability mismatches between feeds and landing pages, and missing GTIN/brand backfill opportunities.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "compare_platforms"
  }
}

Input Schema

NameRequiredDescriptionDefault
credentialsNoOptional per-call credential overrides. If omitted, credentials are resolved from the HTTP Authorization Bearer token / headers or self-host environment variables.
googleAccountIdNo
microsoftMerchantIdNo
maxLandingPageChecksNoMaximum number of public product URLs to fetch when checkLandingPagesForDiscrepancies is true.
checkLandingPagesForDiscrepanciesNoWhen true, fetches the merchant’s public product landing page for SKUs that have disapprovals or price/availability discrepancies.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond that: it may fetch the merchant's public product landing pages, which explains the openWorldHint and the outbound network behavior. It says nothing about runtime cost, how the two feeds are paged, or what the result looks like, so it adds only modest context over 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.

Conciseness4/5

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

A single front-loaded sentence that opens with the core action and then lists the findings, with no filler or redundancy. It is dense but readable; the only weakness is that the colon-and-list construction makes it a long unbroken sentence with no separate line for scope or prerequisites.

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

Completeness4/5

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

For a tool with no required parameters, a nested credentials object, and no output schema, the description conveys the essential behavior: two feeds are joined on SKU and three classes of findings are returned. What is missing is any hint at the shape of the result and at the fact that account IDs default from context, but those gaps are modest relative to the tool's complexity.

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

Parameters2/5

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

Schema description coverage is only 60%, and the two undocumented parameters — googleAccountId and microsoftMerchantId — are the account selectors an agent must actually supply. The description never mentions them, nor the nested credentials override object, nor the default that landing-page checking is off. Only the phrase "landing pages" loosely gestures at checkLandingPagesForDiscrepancies and maxLandingPageChecks, so the description does not compensate for the coverage gap.

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 states a specific verb and dual resource ("cross-checks Google Merchant Center and Microsoft Merchant Center feeds for the same SKUs") and enumerates the three finding types it produces: cross-platform approval divergence, price/availability mismatches, and GTIN/brand backfill. That is far more precise than the title alone. It stops short of naming the neighboring tools (list_disapprovals, diagnose_product, feed_health_summary) that overlap with its findings, so an agent must infer the boundary itself.

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?

Usage is implied by the framing — you run this when you want a side-by-side Google vs. Microsoft view rather than a single-platform report — but there is no explicit when-to-use, no when-not-to-use, and no pointer to the sibling tools it overlaps with (list_disapprovals surfaces disapprovals only on one platform; diagnose_product drills into a single SKU). The agent is left to reconstruct the routing decision.

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