shopify-mcp-server
Provides tools for interacting with Shopify's Admin GraphQL API, enabling inventory management, order processing, revenue tracking, product catalog operations, discount code management, customer lookup, and cart summary retrieval.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@shopify-mcp-serverShow unfulfilled orders from this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Shopify Discord Agent
Ask your Shopify store questions in Discord. Type what you need — stock levels, today's revenue, order status, discount codes — and get live answers without opening the admin.
Built with Discord, n8n, Google Gemini (Vertex AI), and a custom MCP tool server that wraps the Shopify Admin GraphQL API.
Why I built this
Problem — E-commerce ops teams live in Discord, but every stock check or revenue question meant opening Shopify admin.
Approach — Expose Shopify as typed MCP tools (not brittle n8n HTTP nodes) and let Gemini pick the right action via an n8n AI Agent.
Outcome — 28 tools, mock mode for zero-credential demos, and a CONFIRM gate on high-risk writes so the agent can act safely in production chat.
Demo video
https://github.com/Ai-assistant-KIRA/shopify-discord-agent/assets/main/assets/demo.mp4
Discord → n8n → Gemini → MCP → Shopify Admin API in one conversational flow.
Related MCP server: Kockatoos Shopify MCP Server
Quick start (Docker)
One-time setup — credentials are saved to config/.env and loaded on every start (permanent across restarts):
git clone https://github.com/Ai-assistant-KIRA/shopify-discord-agent.git
cd shopify-discord-agent
npm install
npm run setup # once: Shopify + Discord credentials → config/.env
npm run docker:up # starts stack; auto-restarts on rebootThen (first launch only):
Open http://localhost:5678 and create your n8n account
Import
n8n-workflows/discord-shopify-mcp-agent.docker.jsonAdd Google Vertex credentials and set your GCP project ID in the Chat Model node
Activate the workflow
Message your bot in Discord
Vertex credentials are also saved once — they persist in the n8n Docker volume.
Guides: n8n workflow setup (local + cloud) · Docker walkthrough · Shopify credentials
Mock demo (no Shopify store)
npm run setup # choose mock mode when prompted
npm run docker:mockEnable write tools later
Edit config/.env and set SHOPIFY_READ_ONLY=false, then docker compose restart mcp.
What it does
Your team stays in Discord. The agent handles the Shopify lookups and actions.
Category | Examples |
Inventory | Stock by SKU, low-stock alerts, quantity updates |
Orders | Search, daily list, fulfillment status, cancel, refund |
Revenue | Today, yesterday, last 7/30 days |
Products | Search catalog, list variants, pricing, publish/draft |
Discounts | Create codes, list active promos, deactivate |
Draft orders | Create, list, send invoices |
Customers | Search, order history |
Carts | Abandoned checkout summary |
28 MCP tools in full write mode. Read-only mode hides write tools for safe demos.
Example prompts
What's the stock for BB-TONER-200?
How much revenue did we make today?
Show unfulfilled orders from this week
Create a 15% code MUGWORT15 for the toner collection
Draft order for jane@example.com — 2x BB-TONER-200
Which products are below 10 units?Architecture
flowchart LR
User[Discord user] --> Bridge[discord-bridge]
Bridge --> Webhook[n8n webhook]
Webhook --> Agent[AI Agent + Gemini]
Agent --> MCP[MCP Client Tool]
MCP --> Server[shopify-mcp-server]
Server --> Shopify[Shopify Admin API]
Agent --> Reply[Webhook response]
Reply --> Bridge
Bridge --> UserLayer | Role |
Discord bridge | Forwards channel messages to n8n; posts replies back |
n8n workflow | LangChain AI Agent with per-channel memory |
Gemini (Vertex) | Understands intent, picks tools, formats answers |
MCP server | 28 typed tools over SSE — inventory, orders, discounts, etc. |
Shopify | Live Admin GraphQL (or mock data for demos) |
Details: docs/architecture.md
Safety
High-risk writes (inventory changes, fulfillments, refunds, price updates) return a CONFIRM token. The agent waits for explicit approval before executing.
SHOPIFY_READ_ONLY=true— hides all write toolsSHOPIFY_MOCK_MODE=true— sample data, zero Shopify credentials needed
Production use
After npm run setup, users still need a one-time n8n workflow import (Vertex credential — persists in Docker volume). Then:
npm run docker:up
npm run verify:production # pre-flight checkReady for | Requirements |
Read-only pilot |
|
Daily ops | Above + HTTPS if remote + |
Write-enabled | Above + |
Full checklist: docs/production-checklist.md
Project layout
shopify-discord-agent/
├── config/ # Permanent credentials (config/.env — created by npm run setup)
├── assets/ # Demo video + README images
├── docs/ # Setup guides (incl. n8n local + cloud)
├── lib/ # Shopify client, tool registry, mock data
├── n8n-workflows/ # Importable workflow JSON
├── scripts/
│ ├── discord-bridge.mjs # Discord ↔ n8n
│ ├── import-workflow.mjs
│ └── verify-shopify-creds.mjs
├── tests/ # MCP integration tests
├── tools/ # MCP tool modules (28 tools)
├── docker-compose.yml
├── shopify-mcp-server.mjs
└── README.mdLocal development (no Docker)
npm install
cp .env.example .env
npm run mcp:mock # terminal 1 — MCP on :3000
npx n8n start # terminal 2 — n8n on :5678Import n8n-workflows/discord-shopify-mcp-agent.json, configure Vertex, activate, then:
npm run bridge # terminal 3 — Discord listenerHealth check: http://localhost:3000/health
For n8n Cloud, the MCP server must be on a public HTTPS URL — see docs/n8n-setup.md.
Setup guides
n8n workflow — local self-hosted and n8n Cloud
Docker Compose — recommended one-command stack
Discord bot — token, intents, channel setup
Customer demo server —
npm run discord:demo-setupShopify credentials — dev store + Admin API token
Architecture — tools, safety tiers, data flow
Production checklist — go-live hardening
Environment variables
Variable | Default | Purpose |
|
| Sample data instead of live API |
|
| Hide write tools |
| — | Shopify store domain |
| — | Admin API token ( |
| — | Bot token for the bridge |
| — | Comma-separated channel IDs (recommended) |
| auto-generated | Bearer auth on MCP SSE (required if public) |
|
| Production webhook |
|
| MCP server port |
npm scripts
Command | What it does |
| One-time credential wizard → |
| Start full stack with mock Shopify |
| Start stack with live Shopify |
| MCP server only (mock) |
| Discord → n8n bridge |
| Test API credentials |
| Pre-flight production check |
| Create demo Discord channels |
| MCP integration tests |
Prerequisites
Node.js 20+
Docker (for the one-command setup)
Discord bot with Message Content intent
Google Cloud project with Vertex AI (Gemini)
Shopify dev store (optional — mock mode works without it)
Troubleshooting
Issue | Fix |
No Discord reply | Workflow must be Active; check |
MCP errors |
|
Shopify 401 | Use Admin API token ( |
Webhook 404 | Activate workflow or check webhook path |
Vertex errors | Set GCP project ID in the Chat Model node |
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
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/Ai-assistant-KIRA/shopify-discord-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server