Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -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" ]
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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:
Expand Down
33 changes: 33 additions & 0 deletions smithery.yaml
Original file line number Diff line number Diff line change
@@ -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