From 10f33c6a7e637f53b98054710ae89601ba8f759a Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Fri, 11 Apr 2025 17:47:08 -0700 Subject: [PATCH 1/3] Add Dockerfile --- Dockerfile | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..58d5bd1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +FROM node:lts-alpine + +WORKDIR /app + +# Copy package files +COPY package.json package-lock.json ./ + +# Install dependencies (ignoring lifecycle scripts to speed up build if needed) +RUN npm install --ignore-scripts + +# Copy rest of the source code +COPY . . + +# Build the project +RUN npm run build + +# Expose a port if needed (not strictly required for CLI tool, but in case) +# EXPOSE 3000 + +# Start the MCP server +CMD [ "npm", "start" ] From 02339cabc0c4db8938333e4b523fe8bc16d17375 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Fri, 11 Apr 2025 17:47:09 -0700 Subject: [PATCH 2/3] Add Smithery configuration --- smithery.yaml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 smithery.yaml diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..e918f97 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,33 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + required: + - accessToken + - domain + properties: + accessToken: + type: string + default: "" + description: Shopify Admin API access token + domain: + type: string + default: "" + description: Shopify domain (e.g., your-store.myshopify.com) + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => ({ + command: 'node', + args: ['dist/index.js'], + env: { + SHOPIFY_ACCESS_TOKEN: config.accessToken, + MYSHOPIFY_DOMAIN: config.domain + } + }) + exampleConfig: + accessToken: dummy_access_token + domain: dummy-store.myshopify.com From 2ff3192b370f5eb8a665d47fb049413fcf406537 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Fri, 11 Apr 2025 17:47:10 -0700 Subject: [PATCH 3/3] Update README --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index c5a6f33..3a97beb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Shopify MCP Server (please leave a star if you like!) +[![smithery badge](https://smithery.ai/badge/@GeLi2001/shopify-mcp)](https://smithery.ai/server/@GeLi2001/shopify-mcp) MCP Server for Shopify API, enabling interaction with store data through GraphQL API. This server provides tools for managing products, customers, orders, and more. @@ -23,6 +24,14 @@ MCP Server for Shopify API, enabling interaction with store data through GraphQL ## Setup +### Installing via Smithery + +To install Shopify MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@GeLi2001/shopify-mcp): + +```bash +npx -y @smithery/cli install @GeLi2001/shopify-mcp --client claude +``` + ### Shopify Access Token To use this MCP server, you'll need to create a custom app in your Shopify store: