shopify-theme-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP listen port (http mode only) | 8787 |
| THEME_DIR | Yes | Absolute path to the local theme directory | |
| MCP_SECRET | No | Secret path segment, min 16 chars, required when MCP_TRANSPORT=http | |
| MCP_TRANSPORT | No | Set to http for remote mode | stdio |
| SHOPIFY_STORE | Yes | Store handle, e.g. my-store for my-store.myshopify.com | |
| SHOPIFY_CLI_THEME_TOKEN | No | Theme Access password (shptka_…); required for headless use |
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 |
|---|---|
| list_themesA | List all themes in the store with their IDs and roles (live, unpublished, development). Use this first to find theme IDs. |
| theme_pullA | Download a theme's files from Shopify into the local theme directory and snapshot the result in git. Pass theme_id (from list_themes); omit to pull the LIVE theme. Run this before starting an editing session so local files are fresh. |
| list_filesA | List files in the local theme directory. Optionally filter with a substring or simple pattern (e.g. 'sections/', '.liquid', 'countdown'). |
| read_fileA | Read a theme file's contents with line numbers. For large files, pass start_line/end_line to read a slice. Use search_files first to locate the relevant region. |
| search_filesA | Search all text files in the theme for a string or JavaScript regex. Returns matching files with line numbers and context. Always use this to locate code instead of reading whole files. |
| write_fileA | Create a new theme file or fully overwrite an existing one, then auto-commit to git. For small edits to existing files prefer patch_file — it is safer and cheaper. |
| patch_fileA | Edit an existing theme file by replacing an exact string. old_str must appear exactly once in the file (include enough surrounding lines to make it unique). Auto-commits to git. Preferred over write_file for edits. |
| delete_fileA | Delete a local theme file and auto-commit. Note: theme_push does not delete remote files unless you push with the CLI's --nodelete disabled; mention this to the user. |
| theme_pushA | Upload the local theme directory to Shopify.
|
| publish_themeA | Make an unpublished theme the live storefront theme. DESTRUCTIVE for the current live theme's status — only call after the user has previewed the theme and explicitly asked to publish. confirm must be true. |
| git_historyA | Show recent git commits for the local theme (every edit auto-commits). |
| git_revert_fileA | Restore one file to its state at a given commit (from git_history), then commit the revert. Use to undo a bad edit. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GOFORWRD/shopify-theme-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server