Skip to main content
Glama

Shopify MCP Server

Open-source Model Context Protocol (MCP) server for Shopify Admin API. Works with Claude Code, Cursor, OpenClaw, and any MCP-compatible client.

Why This Exists

  • Composio = commercial, paid, complex

  • Shopify's Storefront MCP = Hydrogen-only, limited scope

  • This = open-source, self-hosted, Admin API coverage

Related MCP server: Shopify MCP Server

Features

  • 🔍 Product Search — Find products by title, handle, or tags

  • 📦 Product Management — Get, update products and variants

  • 📋 Order Queries — View orders and line items

  • 🏷️ Metafield Operations — Read and write metafields on products, collections, customers

  • 🎨 Theme Asset Editing — Read and edit Liquid, CSS, JS files directly

  • 👥 Customer Management — Customer queries (coming soon)

Installation

# Clone and setup
git clone https://github.com/karangoyal/shopify-mcp-server.git
cd shopify-mcp-server
npm install

# Configure
cp .env.example .env
# Edit .env with your Shopify credentials

# Build
npm run build

Usage with Claude Code

Add to your Claude Code settings:

{
  "mcpServers": {
    "shopify": {
      "command": "node",
      "args": ["/path/to/shopify-mcp-server/dist/index.js"],
      "env": {
        "SHOPIFY_SHOP": "your-store.myshopify.com",
        "SHOPIFY_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

Available Tools

search_products

Search for products by query string.

{
  "query": "t-shirt",
  "limit": 10
}

get_product

Get detailed product information.

{
  "id": "gid://shopify/Product/123456"
}

update_product

Update product details.

{
  "id": "gid://shopify/Product/123456",
  "title": "New Title",
  "tags": ["new", "featured"],
  "status": "ACTIVE"
}

get_orders

Get recent orders.

{
  "status": "open",
  "limit": 10
}

get_metafields

Get metafields for a product or shop.

{
  "ownerType": "PRODUCT",
  "ownerId": "gid://shopify/Product/123456",
  "namespace": "custom"
}

update_metafield

Create or update a metafield.

{
  "ownerType": "PRODUCT",
  "ownerId": "gid://shopify/Product/123456",
  "namespace": "custom",
  "key": "warranty",
  "value": "2 years",
  "type": "single_line_text_field"
}

get_themes

List all themes in the store.

{}

get_theme_asset

Read a theme file (Liquid, CSS, JS).

{
  "themeId": "gid://shopify/Theme/123456789",
  "filename": "sections/header.liquid"
}

update_theme_asset

Edit a theme file directly.

{
  "themeId": "gid://shopify/Theme/123456789",
  "filename": "assets/custom.css",
  "content": "/* Your CSS here */"
}

Environment Variables

Variable

Required

Description

SHOPIFY_SHOP

Yes

Store domain (e.g., mystore.myshopify.com)

SHOPIFY_ACCESS_TOKEN

Yes

Admin API access token

SHOPIFY_API_VERSION

No

API version (default: 2024-01)

Getting a Shopify Access Token

  1. Go to your Shopify Admin → Settings → Apps and sales channels

  2. Click "Develop apps" → Create an app

  3. Configure Admin API scopes (read_products, write_products, read_orders, etc.)

  4. Install the app to your store

  5. Copy the Admin API access token

Roadmap

  • Product search and retrieval

  • Product updates

  • Order queries

  • Metafield read/write

  • Theme asset editing

  • Customer management

  • Collection operations

  • Bulk operations

  • Webhook support

License

MIT — See LICENSE file

Contributing

PRs welcome. This is an open-source alternative to commercial MCP offerings.


Built by Karan Goyal | Open-source Shopify tooling

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/kgoyal000/shopify-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server