Let AI assistants profile Shopify Liquid performance, find slow theme code, and explain what to fix in plain language.
Server has 16 tools with explicit schemas and descriptions. Naming follows verb_noun convention (login, profile_page, get_auth_status). Descriptions are present and contextual (avg ~150 chars), exceeding the 10-char minimum. However, parameter descriptions lack detail on constraints, formats, and valid ranges. Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; most tools return JSON but lack recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Missing pagination guidance for batch_profile and get_profile_history. Overall: solid naming and basic descriptions, but incomplete schemas and weak error handling.
Perform static analysis on a Liquid template file to identify performance issues and anti-patterns
Profile multiple pages in a single batch operation
Profile two different pages and compare their performance metrics
Complete a login_in_chrome flow using the full final chromiumapp.org callback URL copied from Chrome's address bar.
Export profile data in multiple formats (speedscope JSON, CSV, or markdown)
Analyze the most recent profile and identify the slowest templates, sections, and snippets
Output schemas not documented. LLMs cannot predict response structure for profile_page, get_profile_summary, find_slow_templates, get_bottlenecks, compare_pages, batch_profile, get_profile_history, export_profile, analyze_liquid_file. Responses are JSON but structure is opaque.
Parameter descriptions lack format/constraint details. 'pagePath' has no guidance on valid formats (e.g., must start with '/', max length). 'limit' in get_profile_history has no min/max bounds. 'format' in export_profile should be an enum, not free-form string.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | <=2025-11-25 | v2 |
Check authentication status for a Shopify store (both OAuth2 and legacy sessions)
Auto-detect performance anti-patterns and bottlenecks in the most recent profile
Get historical profile data for trend tracking and performance monitoring
Get a summary of the most recent profile, including top slow nodes and template breakdown
Check if the Shopify Theme Inspector MCP server is running correctly
Authenticate with Shopify via OAuth2 (same method as the Chrome Theme Inspector extension). Opens a browser for you to log in. This provides full flame graph profiling data.
Start Shopify OAuth in the user's existing Chrome profile without closing Chrome. After authorization, copy the full final callback URL and pass it to complete_login_in_chrome.
Legacy cookie-based Shopify login. Opens browser for manual login. Required for 'analyze_liquid_file' tool which needs Admin API access. Use 'login' (OAuth2) for profiling tools.
Remove saved authentication (both OAuth2 and legacy sessions) for a Shopify store
Profile a Shopify storefront page and get full flame graph data (speedscope format). Requires OAuth2 authentication via 'login' tool.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are marked with Risk levels (READ_ONLY, WRITE) in metadata but not exposed via MCP tool annotations. LLMs cannot infer safety properties from tool definitions alone.
Error handling lacks recovery guidance. Tools return JSON with 'success' flag but do not guide LLM on next steps. E.g., login failure should suggest 'Try login_legacy if OAuth fails' or 'Check storeUrl format'.
Pagination not documented for batch_profile and get_profile_history. batch_profile accepts array of pagePaths but no guidance on max array size. get_profile_history has 'limit' param but no total count or next_cursor in response structure.