Skip to main content
Glama
barlasarda91

Shopify MCP Server

by barlasarda91

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort for the HTTP server (only relevant in HTTP mode)3000
MCP_AUTH_TOKENNoA long random secret used to secure the remote HTTP endpoint. Required when running in HTTP mode.
SHOPIFY_DOMAINYesYour store's myshopify.com domain, e.g. 'your-store.myshopify.com'
SHOPIFY_CLIENT_IDNoClient ID from a Shopify Dev Dashboard app (required for that auth method)
SHOPIFY_ACCESS_TOKENNoAdmin API access token from a legacy custom app (starts with 'shpat_')
SHOPIFY_CLIENT_SECRETNoClient secret from a Shopify Dev Dashboard app (required for that auth method)

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get-shop-infoA

Get basic information about the connected Shopify store (name, domain, currency, plan).

get-productsA

List products from the Shopify store, optionally filtered by a search query (e.g. a title, 'status:active', or 'tag:sale').

get-product-by-idA

Get full details for a single product, including description, images, and variants.

update-productC

Update a product's title, description, or status (ACTIVE, DRAFT, or ARCHIVED).

update-variant-priceA

Update the price (and optionally compare-at price) of a product variant.

get-ordersA

List recent orders, optionally filtered by a Shopify order search query (e.g. 'financial_status:paid', 'fulfillment_status:unfulfilled', 'created_at:>2026-01-01', or an order name like '#1001').

get-order-by-idA

Get full details for a single order, including line items, shipping address, and totals.

get-customersA

List customers, optionally filtered by a search query (name, email, phone, or e.g. 'orders_count:>5').

get-customer-ordersA

Get a customer's profile along with their most recent orders.

get-locationsA

List the store's inventory locations. Location IDs are needed to adjust inventory.

adjust-inventoryA

Adjust the available inventory quantity of a product variant at a location by a delta (positive to add stock, negative to remove). Use get-product-by-id to find the variant's inventoryItem ID and get-locations for the location ID.

create-discount-codeA

Create a basic discount code (percentage or fixed amount off the whole order) that customers can enter at checkout.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct resource and action: shop info, products, variants, orders, customers, locations, inventory, and discounts. Tools like get-customers and get-customer-orders are clearly differentiated by list vs. profile-with-orders, and get-products vs. get-product-by-id are unambiguous.

Naming Consistency5/5

All tools follow the same lowercase kebab-case verb-noun pattern, such as get-products, update-product, adjust-inventory, and create-discount-code. There are no mixed conventions or vague generic verbs, making the naming highly predictable.

Tool Count5/5

Twelve tools is a well-scoped count for a Shopify management server, covering the most common store operations without overwhelming the agent. Each tool earns a place and there is minimal redundancy.

Completeness3/5

The set covers common read operations and several mutations, but has notable lifecycle gaps: products can be updated but not created or deleted, orders can be fetched but not fulfilled or modified, and customers can be listed but not created or edited. Inventory adjustment and discount creation are present, yet the overall surface is partial rather than full CRUD.

Maintenance

ActivitySlowing
ResponsivenessNo issues