Storefront Check
Server Details
Audit any storefront from outside: ad tags, dead-tag detection, AI crawler access, feed readiness.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- profitpather/profitpather-tools
- GitHub Stars
- 0
TDQS
Scored across 4 tools
Each tool targets a distinct audit surface (product feed, agent crawlability, JSON-LD, tracking tags) and the descriptions reinforce the boundaries. There is mild overlap—check_agent_readiness touches feeds and machine-readability, which audit_product_feed and check_structured_data also cover—but the framing keeps them separable.
All four tools follow a clear verb_noun snake_case pattern: audit_product_feed, check_agent_readiness, check_structured_data, detect_tracking_tags. Verb choices (audit/check/detect) vary but remain action-oriented and predictable.
Four well-scoped tools each cover a distinct diagnostic dimension, so none feel redundant. It is on the lean side for a storefront auditing server, but no obvious filler or missing dimension is glaring.
The set covers the main AI/commerce-readiness checks: feed health, crawler access, structured data, and tracking tags. Minor gaps remain (e.g., rendered performance, link/redirect integrity, or sitemap content validation), but core workflows are addressed.
Available Tools
4 toolsaudit_product_feedAudit a Shopify catalogue for feed readinessAInspect
Reads a Shopify store's public products.json and reports what would break a Google Merchant Center or Meta catalogue feed: missing barcodes, absent weights, unpriced or unavailable variants, and thin descriptions. Shopify-only, because products.json is a Shopify endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The Shopify store domain, for example example.com. | |
| limit | No | How many products to sample, 1 to 250. Default 250. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden and it does meaningful work: it discloses that the source is a public endpoint (implying no auth), that the operation is a read, and exactly which failure classes are surfaced. It omits error behaviour, rate limits, and how sampling affects coverage.
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 dense sentence with the subject (what is read) front-loaded and the checks enumerated after it; the Shopify-only caveat is placed last where it functions as a scope qualifier. No filler clauses.
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 no output schema and no annotations, the description must stand alone, and it adequately covers source, applicability, and reported findings. The one gap is the absence of any statement about return shape or how the sample limit shapes results, which matters for a sampling-based audit.
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 url and limit are already documented in the schema; baseline 3 applies. The description adds no further parameter meaning, and notably does not connect the 'sample' semantics of limit to the completeness of the audit report.
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 verb and resource (reads a Shopify store's public products.json) plus the exact defect classes it reports: missing barcodes, absent weights, unpriced/unavailable variants, thin descriptions. The 'Shopify-only' scoping clause cleanly separates it from the generic readiness/structured-data/tracking 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?
The description gives a clear applicability rule ('Shopify-only, because products.json is a Shopify endpoint'), which tells the agent when this tool does and does not apply. It stops short of naming an alternative sibling for non-Shopify or non-feed audits, so the routing is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_agent_readinessCheck whether AI shopping agents can find and read a storeAInspect
Determines whether an AI agent can actually discover and parse a store: whether robots.txt permits each major AI crawler by name, whether a sitemap, llms.txt, product feed or MCP endpoint exists, and whether the catalogue is machine readable. Use this when asked why a store never appears in AI assistants or agent shopping results.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The store's domain, for example example.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose what is inspected (multiple outbound checks against robots.txt, sitemap, llms.txt, feed, MCP endpoint). It says nothing about whether network requests are made, authentication/rate-limit constraints, or how long a full crawl of these artifacts takes, which matters for a tool that evidently reaches out to a live domain.
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, zero filler. The checks are front-loaded in the first sentence and the usage trigger follows immediately. Every clause carries information an agent can act on.
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 low-complexity, single-parameter tool the description covers purpose and trigger well. But there is no output schema and no mention of the result shape, so an agent cannot anticipate whether it receives a per-crawler pass/fail breakdown or a single verdict — a meaningful gap for a multi-check diagnostic.
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?
Only one parameter (url) and schema description coverage is 100%, so the schema already documents its meaning and format example. The description adds nothing beyond that, so the baseline of 3 applies — no penalty, but no extra value either.
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 diagnostic verb and resource (discover/parse a store for AI agents) and enumerates the concrete checks performed: robots.txt per named AI crawler, sitemap, llms.txt, product feed, MCP endpoint, and catalogue machine-readability. This clearly differentiates it from siblings like audit_product_feed or check_structured_data, which cover only one facet each.
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?
It gives a clear triggering context: 'Use this when asked why a store never appears in AI assistants or agent shopping results.' That is a strong, recognizable situation. However, it names no alternatives or exclusions, even though audit_product_feed and check_structured_data overlap on sub-checks, leaving the agent to infer when the narrower sibling is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_structured_dataCheck a page's structured dataAInspect
Parses every JSON-LD block on a page and reports the schema.org types found, blocks that fail to parse, and whether the types a shopping agent looks for are present. Point it at a product page to check Product and Offer markup, or at a homepage to check Organization and WebSite.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The exact page URL to inspect. Use a product URL to check Product markup. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It helpfully discloses the report contents (types found, parse failures, whether shopping-agent types are present) and implies a read-only parse, but says nothing about whether it fetches the live page, caching, permissions, or network failure behavior. Solid but incomplete for a tool with no annotation safety profile.
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 behavior (what is parsed and reported) is front-loaded, and usage guidance follows immediately.
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 one parameter, no annotations, and no output schema, the description does the heavy lifting by explaining what gets reported, which is important. It omits exclusions such as whether microdata/RDFa are ignored, but for a simple inspection tool it is nearly 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 coverage is 100% and the single 'url' parameter is already documented in the schema as the exact page URL to inspect. The description's page-type guidance (product vs homepage) adds light context but largely restates the schema; baseline 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?
States a specific verb ('Parses') and resource ('every JSON-LD block on a page') plus the reported outputs, so the purpose is unmistakable. It does not name or explicitly contrast with siblings like check_agent_readiness, which likely also evaluates structured data, so sibling differentiation is only implicit.
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?
Gives concrete usage contexts – a product page to check Product/Offer markup, a homepage to check Organization/WebSite. It stops short of stating when not to use it or naming an alternative tool, but the context is clear enough to route an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_tracking_tagsFind the advertising and analytics tags on a storefrontAInspect
Reads a public storefront and reports every advertising, analytics and marketing tag visible in its HTML, with the actual measurement ids. It then verifies each Google id against Google Tag Manager, because an id Google does not recognise returns 404 and silently stops gtag from initialising, which means a campaign can spend for months while recording zero conversions. Use this to explain why conversion tracking is wrong, or to see what a store you have no access to is running.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The storefront URL, for example example.com or https://example.com. | |
| verify_google_ids | No | Check each Google id against Google Tag Manager to catch dead ids. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden, and it does well: it discloses that it reads a public storefront (no auth needed), performs an external GTM verification, and explains the concrete failure mode (dead Google ids 404 and silently stop gtag). It does not mention rate limits, caching, or what the report shape looks like, but the operationally important behavior is covered.
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 sentences, front-loaded with the core action, then the verification rationale, then use cases. The middle sentence is long but earns its length by explaining a real failure mode. 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?
For a two-parameter read-only tool with no output schema and no annotations, the description covers purpose, external verification behavior, and use cases. It is slightly thin on what the returned report contains and on failure behavior if the URL is unreachable, keeping it short of a 5.
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 both parameters are already documented in the schema with examples and defaults. The description adds no syntax or format detail beyond what the schema provides, so the baseline 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?
States a specific verb (reads) and resource (public storefront), and names exactly what it reports (advertising, analytics and marketing tags with measurement ids). Clearly distinguishable from siblings like check_structured_data or audit_product_feed, which cover different audit surfaces.
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?
Gives two concrete use cases (explaining broken conversion tracking; inspecting a store you have no access to), which implies when to reach for it. But it never states when NOT to use it or names a sibling as the better alternative for adjacent tasks, leaving routing to inference.
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
audit_product_feed - First observed
check_agent_readiness - First observed
check_structured_data - First observed
detect_tracking_tags
Related MCP Connectors
- seegeoOAuthcom.see-geo
Audit any website for AI visibility: graded report, findings with fixes, AI crawler access check.
Audit any site's AI visibility from your assistant: crawler access, rendering, and schema.
Scan any public site for AI-agent visibility; get scored findings, a machine-readable fix pack, and
AI website audit: security, SEO, performance, UX and accessibility checks with actionable fixes.
Related MCP Servers
AlicenseAqualityCmaintenanceLets any AI agent audit any website for SEO, GEO/AEO, and speed problems, reporting issues and recommendations without modifying the site.4MIT- AlicenseNot gradedqualityDmaintenanceAudits public websites for AI crawler access, public technical signals, and deployment readiness. Includes a focused path to the full readiness report when deeper remediation guidance is needed.MIT
- AlicenseNot gradedqualityBmaintenanceEnables auditing e-commerce product catalogs for Google Shopping and Meta readiness, providing per-rule breakdowns, sample product URLs, and affected catalog value.5 npmMIT
- FlicenseNot gradedqualityDmaintenanceAudits any website for SEO issues, providing scored health checks, schema validation, and performance analysis through AI assistants.-
Glama MCP Gateway
Add one secure layer between your agents and this server.