Catalog QA Desk
Ce que fait ce MCP
Audits Shopify product catalogs and checks CSV imports and product feeds for listing, barcode, content and Merchant Center issues.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['csv'], 'properties': {'csv': {'type': 'string', 'maxLength': 2000000, 'minLength': 1, 'description': 'The product CSV text exactly as exported from Shopify, header row included. At most 2 MB.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['rows', 'products', 'blocking', 'warnings', 'totals', 'truncated'], 'properties': {'rows': {'type': 'integer'}, 'totals': {'type': 'object', 'required': ['blocking', 'warnings'], 'properties': {'blocking': {'type': 'integer'}, 'warnings': {'type': 'integer'}}}, 'blocking': {'type': 'array', 'items': {'type': 'object', 'required': ['row', 'handle', 'rule', 'fix'], 'properties': {'fix': {'type': 'string'}, 'row': {'type': 'integer', 'description': 'Spreadsheet row, header is row 1; 0 for the whole file'}, 'rule': {'type': 'string'}, 'handle': {'type': 'string'}}}, 'description': 'Problems Shopify rejects or that make the import wrong, at most 200'}, 'products': {'type': 'integer'}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['row', 'handle', 'rule', 'fix'], 'properties': {'fix': {'type': 'string'}, 'row': {'type': 'integer', 'description': 'Spreadsheet row, header is row 1; 0 for the whole file'}, 'rule': {'type': 'string'}, 'handle': {'type': 'string'}}}, 'description': 'Problems that import but probably not as intended, at most 200'}, 'truncated': {'type': 'boolean'}}}
Schéma d’entrée
{'type': 'object', 'required': ['ticket'], 'properties': {'ticket': {'type': 'string', 'pattern': '^fb_[0-9a-f]{32}$', 'description': 'The ticket id that submit_feedback returned.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['ticket', 'status'], 'properties': {'note': {'type': 'string'}, 'reply': {'type': ['string', 'null']}, 'status': {'enum': ['pending', 'answered'], 'type': 'string'}, 'ticket': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'task': {'type': 'string', 'description': 'Alias for query: task phrase to search.'}, 'query': {'type': 'string', 'description': "Optional task keyword or phrase to search tools (e.g. 'recruiter', 'linkedin', 'feedback', 'broken links', 'jobs'). Omit to list all tools."}, 'keyword': {'type': 'string', 'description': 'Alias for query: keyword to search.'}}, 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'properties': {'csv': {'type': 'string', 'maxLength': 2000000, 'minLength': 1, 'description': 'The product CSV text exactly as exported from Shopify, header row included. At most 2 MB.'}, 'fixes': {'type': 'array', 'items': {'enum': ['alt_text', 'title_whitespace', 'title_caps'], 'type': 'string'}, 'maxItems': 3, 'minItems': 1, 'description': 'alt_text: fill empty image alt text from the template. title_whitespace: trim and collapse spaces in titles. title_caps: rewrite all-capital titles in title case. Default: all three.'}, 'domain': {'type': 'string', 'maxLength': 253, 'minLength': 3, 'description': "A store address such as example.com, instead of csv. The store's public /products.json is read once (at most 5 pages of 250 products), after its robots.txt. Large stores often block it."}, 'alt_text_template': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Alt text pattern with {title}, {vendor}, {type} and {position} placeholders (default "{title}")'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['source', 'csv', 'rows', 'totals', 'truncated', 'notice'], 'properties': {'csv': {'type': 'string', 'description': 'Rows to import: URL handle, Title, Product image URL, Image position, Image alt text. Only rows that change are included.'}, 'host': {'type': 'string', 'description': 'The store read, in domain mode'}, 'rows': {'type': 'integer'}, 'notice': {'type': 'string'}, 'source': {'enum': ['csv', 'domain'], 'type': 'string'}, 'totals': {'type': 'object', 'properties': {'alt_text': {'type': 'integer'}, 'title_caps': {'type': 'integer'}, 'title_whitespace': {'type': 'integer'}}, 'description': 'Fixes found before the sheet was cut to 200 rows'}, 'products': {'type': 'integer'}, 'truncated': {'type': 'boolean'}, 'feed_truncated': {'type': 'boolean', 'description': 'True when the store has more products than the five pages read'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'csv': {'type': 'string', 'maxLength': 2000000, 'minLength': 1, 'description': 'The product CSV text exactly as exported from Shopify, header row included. At most 2 MB.'}, 'domain': {'type': 'string', 'maxLength': 253, 'minLength': 3, 'description': "A store address such as example.com, instead of csv. The store's public /products.json is read once (at most 5 pages of 250 products), after its robots.txt. Large stores often block it."}, 'min_words': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'A description with fewer words than this counts as thin (default 20)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['source', 'no_alt', 'duplicate_descriptions', 'thin_descriptions', 'title_issues', 'totals', 'truncated'], 'properties': {'host': {'type': 'string', 'description': 'The store read, in domain mode'}, 'no_alt': {'type': 'array', 'items': {'type': 'object', 'properties': {'row': {'type': 'integer'}, 'image': {'type': 'string'}, 'handle': {'type': 'string'}, 'position': {'type': ['integer', 'null']}}}}, 'source': {'enum': ['csv', 'domain'], 'type': 'string'}, 'totals': {'type': 'object', 'properties': {'no_alt': {'type': 'integer'}, 'title_issues': {'type': 'integer'}, 'thin_descriptions': {'type': 'integer'}, 'duplicate_descriptions': {'type': 'integer'}}, 'description': 'Counts before each list was cut to 100'}, 'products': {'type': 'integer'}, 'truncated': {'type': 'boolean'}, 'title_issues': {'type': 'array', 'items': {'type': 'object', 'properties': {'title': {'type': 'string'}, 'handle': {'type': 'string'}, 'problem': {'type': 'string'}}}}, 'feed_truncated': {'type': 'boolean', 'description': 'True when the store has more products than the five pages read'}, 'thin_descriptions': {'type': 'array', 'items': {'type': 'object', 'properties': {'words': {'type': 'integer'}, 'handle': {'type': 'string'}}}}, 'duplicate_descriptions': {'type': 'array', 'items': {'type': 'object', 'properties': {'excerpt': {'type': 'string'}, 'handles': {'type': 'array', 'items': {'type': 'string'}}}}}}}
Schéma d’entrée
{'type': 'object', 'properties': {'csv': {'type': 'string', 'maxLength': 2000000, 'minLength': 1, 'description': 'The product CSV text exactly as exported from Shopify, header row included. At most 2 MB.'}, 'domain': {'type': 'string', 'maxLength': 253, 'minLength': 3, 'description': "A store address such as example.com, instead of csv. The store's public /products.json is read once (at most 5 pages of 250 products), after its robots.txt. Large stores often block it."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['source', 'summary', 'issues', 'totalIssues', 'truncated', 'notes'], 'properties': {'host': {'type': 'string', 'description': 'The store read, in domain mode'}, 'notes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Checks that could not be made, and why'}, 'issues': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'rule', 'detail'], 'properties': {'rule': {'type': 'string'}, 'title': {'type': 'string'}, 'detail': {'type': 'string'}, 'handle': {'type': 'string'}}}}, 'source': {'enum': ['csv', 'domain'], 'type': 'string'}, 'summary': {'type': 'object', 'required': ['products', 'no_gtin', 'bad_gtin', 'long_title', 'no_description'], 'properties': {'no_gtin': {'type': ['integer', 'null']}, 'bad_gtin': {'type': ['integer', 'null']}, 'products': {'type': 'integer'}, 'long_title': {'type': 'integer'}, 'no_description': {'type': 'integer'}}, 'description': 'no_gtin and bad_gtin are null when the source has no barcodes to check.'}, 'products': {'type': 'integer'}, 'truncated': {'type': 'boolean', 'description': 'True when there were more than 200 issues'}, 'totalIssues': {'type': 'integer'}, 'feed_truncated': {'type': 'boolean', 'description': 'True when the store has more products than the five pages read'}}}
Schéma d’entrée
{'type': 'object', 'required': ['kind', 'message'], 'properties': {'kind': {'enum': ['need_tool', 'need_data', 'bug', 'other'], 'type': 'string', 'description': 'need_tool: a tool you want. need_data: data a tool lacks. bug: something broke. other: anything else about the tools.'}, 'tool': {'type': 'string', 'pattern': '^[A-Za-z0-9_.:-]{1,64}$', 'description': 'Optional: the name of the tool this is about, for example find_tariff_codes.'}, 'message': {'type': 'string', 'maxLength': 1000, 'minLength': 10, 'description': 'What you need or what broke, in plain words, at most 1000 characters. Links, email addresses and phone numbers are removed. Never include secrets or personal details.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['ticket', 'status'], 'properties': {'note': {'type': 'string'}, 'reply': {'type': ['string', 'null']}, 'status': {'enum': ['pending', 'answered'], 'type': 'string'}, 'ticket': {'type': 'string'}}}
Modifications récentes des outils
Serveurs MCP similaires
Vendooly
Manages Amazon Seller Central and Amazon Ads data, including product ads, campaigns, keywords, targeting, budgets, and catalog co…
Ask AI
Answers questions about connected e-commerce data from Shopify, Klaviyo, GA4, Triple Whale, and other sources, covering sales, ma…
Neonjelly
Analyzes Shopify stores, products, apps, traffic, competitors, catalog changes, market cohorts and outreach contacts across a lar…
SocialAPIs
Retrieves Facebook and Instagram pages, posts, groups, comments, videos, ads, and Marketplace listings, including rental and vehi…
Resonance Reward Agent
Finds cashback deals and rewards, compares brands and offers, and provides analytics and management tools for reward programs.
Real Real Genuine
Enables browsing fashion brands and listings, submitting designs, purchasing digital or physical products, referrals, vouchers, l…
Postscript
Retrieves Shopify Postscript SMS marketing subscribers, opt-in keywords, and subscriber or keyword details.
AgentIQ
Operates an agent-oriented advertising network for campaigns, placements, creative and coupon delivery, attribution, affiliate li…