shopify-store-builder-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHOPIFY_CLIENT_ID | No | Client ID from a Dev Dashboard app | |
| SHOPIFY_STORE_DOMAIN | Yes | Your Shopify store domain, e.g. your-store.myshopify.com | |
| SHOPIFY_CLIENT_SECRET | No | Client Secret from a Dev Dashboard app | |
| SHOPIFY_ADMIN_ACCESS_TOKEN | No | Permanent admin access token (shpat_...) from a custom app |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| shop_get_infoA | Get basic info about the connected Shopify store: name, domain, currency, plan. |
| theme_listA | List the store's themes with their GIDs and roles. Role MAIN is the published live theme. Use the id from here for theme_read_file and theme_update_file. |
| theme_read_fileA | Read the content of one file in a Shopify theme. Get the theme ID from theme_list first. |
| theme_update_fileA | Overwrite one file in a Shopify theme with new content. Get the theme ID from theme_list first. |
| page_listA | List the store's pages with their GIDs, handles, and publish status. Use the id from here for page_update. |
| page_createA | Create a new page in the Shopify store. Pages are created as unpublished drafts unless isPublished is true. |
| page_updateA | Update an existing page's title, body, handle, or publish status. Only provided fields change. Get the page GID from page_list. |
| menu_listA | List the store's navigation menus with their GIDs, handles, and items. Themes reference menus by handle (e.g. main-menu, footer). Use the id and current items from here for menu_update. |
| menu_updateA | Replace a menu's items in the Shopify store. Items not included are DELETED from the menu, so get the current items from menu_list first and include every item you want to keep, with their ids. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct resource and action: pages, menus, themes, and shop info. The relationships between list/get and update/create tools are clearly documented, leaving no ambiguity about which tool to use for a given task.
All tool names follow a consistent verb_noun pattern using lowercase and underscores (page_list, menu_update, theme_read_file). The pattern is uniform across all nine tools, making them predictable and easy to navigate.
With 9 tools, the server is well-scoped for managing pages, menus, themes, and shop info. This is a reasonable number that covers the core store-building functionality without unnecessary bloat or sparse coverage.
The toolset covers the main lifecycle for pages (list, create, update) and themes (list, read, update), plus menu replacement and shop info. Minor gaps exist (e.g., no delete operations for pages or menus, no theme creation), but the core workflows for customizing a storefront are covered.