Connect
Optimize
Secure
Announcing StackOne Defender: leading open-source prompt injection guard for your agent • Read More →
Production-ready Shopify MCP server with 85 extensible actions — plus built-in authentication, security, and optimized execution.
Coverage
Create, read, update, and delete across Shopify — and extend your agent's capabilities with custom actions.
Authentication
Per-user OAuth in one call. Your Shopify MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Every Shopify tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Shopify call.
Tools Discovery →A Shopify MCP server lets AI agents read and write Shopify data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's Shopify MCP server ships with 85 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, and optimized agent context. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.
Every action from Shopify's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Create a new product with optional variants, images, options, metafields, SEO tags, and published_at. Only title is required — all other fields are optional
Retrieve a paginated list of products with filtering by status, vendor, product type, collection, title, published_status (published/unpublished/any), and date ranges (created_at, published_at, updated_at). Returns next_page_info cursor for pagination — pass it as page_info input to fetch subsequent pages
Retrieve a single product by ID
Update an existing product by product_id. Supports updating title, description, vendor, tags, status, variants, images, options, metafields, and SEO tags
Delete a product
Add a new variant to a product with pricing, inventory, fulfillment, image, and metafields options. Requires product_id as path parameter
Retrieve all variants for a given product_id with pricing, SKU, inventory, and option values. Returns next_page_info cursor for pagination — pass it as page_info input to fetch subsequent pages
Retrieve a specific product variant
Update variant pricing, inventory, fulfillment, options, barcode, image, tax code, and metafields by variant_id. All fields optional — only pass fields to change
Remove a variant from a product
Add a new image to a product
Retrieve all images for a product
Retrieve a single product image
Modify a product image's position, alt text, variant associations, metafields, or replace image content via src URL
Remove an image from a product
Create a new order with line items (supporting variant_id, title, price, SKU, quantity, grams, taxable, requires_shipping, product_id, vendor, gift_card, fulfillment_service, total_discount, properties, tax_lines, discount_allocations, duties, attributed_staffs), customer, billing/shipping addresses, tax lines, discount codes, fulfillment status, fulfillments, currency, inventory behaviour, shipping lines, transactions, note, tags, note_attributes, and metafields
Retrieve a paginated list of orders with filtering by status, fulfillment state, financial state, date ranges, and app attribution. Supports cursor-based pagination via page_info parameter
Retrieve a single order by ID
Update an existing order's properties including note, tags, email, phone, marketing preferences, note_attributes, and metafields
Create a new customer with name, email, phone, addresses, tags, verified_email, send_email_welcome, and metafields options
Retrieve a paginated list of customers. Supports cursor-based pagination via page_info parameter
Retrieve a single customer by ID
Search customers by criteria with cursor-based pagination
Update an existing customer by customer_id. Supports updating name, email, phone, addresses, tags, note, tax_exempt, verified_email, and metafields
Add a new shipping or billing address to a customer by customer_id. All address fields (address1, city, country, etc.) are optional — only customer_id is required
Retrieve a specific customer address
Update an existing address
Remove an address from customer (cannot delete default address)
Retrieve inventory items by IDs (required on first request, max 100). Returns next_page_info cursor for pagination — pass it as page_info to fetch subsequent pages (omit ids when using page_info)
Update an inventory item's SKU, tracking status, shipping requirement, harmonized system code, and country/province of origin by inventory_item_id
Retrieve inventory levels across locations
Set absolute inventory quantity at a location
Retrieve all store locations with cursor-based pagination
Retrieve a specific location
Create a fulfillment for fulfillment orders
Retrieve fulfillments for an order. Supports cursor-based pagination via page_info parameter
Create a new custom collection with title, description, image, sort order, collects (to include products), and metafields
Retrieve all custom collections with cursor-based pagination
Update an existing custom collection by collection_id. Supports updating title, description, image, sort order, published status, collects (to add products), and metafields
Permanently delete a custom collection
Add a product to a collection
Retrieve product-collection associations with cursor-based pagination
Remove a product from a collection
Register a new webhook subscription with topic, address, format, fields, and metafield namespaces
Retrieve all registered webhooks. Supports cursor-based pagination via page_info parameter
Modify an existing webhook subscription
Unregister a webhook subscription
Create a new draft order with line items (supporting variant_id, title, price, quantity, sku, grams, taxable, requires_shipping, gift_card, applied_discount, properties), billing/shipping addresses, order-level applied discount, and customer
Retrieve all draft orders. Supports cursor-based pagination via page_info parameter
Retrieve a single draft order by ID
Modify an existing draft order
Permanently delete a draft order
Create a payment transaction (requires existing authorization)
Retrieve payment transactions for an order
Create a refund for order items (requires captured payment)
Retrieve all refunds for a specific order_id, including line items, transactions, and adjustments. Returns next_page_info cursor for pagination — pass it as page_info to fetch subsequent pages
Retrieve a specific refund by ID
Create a metafield for a product
Retrieve metafields for a product
Retrieve a specific metafield attached to a product by product_id and metafield_id. Use the fields query param to return only specific fields (e.g., id,namespace,key,value,type)
Update a product metafield's value or type
Delete a metafield from a product
Create a metafield for a customer
Retrieve metafields for a customer
Update a customer metafield's value or type by customer_id and metafield_id. Only the value and type fields can be changed on an existing metafield
Delete a metafield from a customer
Create a metafield for an order
Retrieve metafields for an order
Update an order metafield's value or type by order_id and metafield_id. Only the value and type fields can be changed on an existing metafield
Delete a metafield from an order
Retrieve all price rules
Retrieve a single price rule by ID
Retrieve all addresses for a customer. Supports cursor-based pagination via page_info parameter
Retrieve abandoned checkouts with filtering by status (open or closed), date ranges, and cursor-based pagination. Returns checkout details including customer info, line items, totals, and recovery URLs
Get total count of products
Get count of variants for a product
Cancel an order
Get total count of orders matching filter criteria for reporting and dashboards
Close an order
Reopen a closed order
Get total count of customers
Adjust inventory quantity at a location (requires inventory tracking enabled)
Connect an inventory item to a location
Convert draft order to regular order
Calculate refund amounts before processing with line items, restock type, location, already_stocked flag, and shipping
One endpoint. Any framework. Your agent is talking to Shopify in under 10 lines of code.
MCP Clients
Agent Frameworks
{
"mcpServers": {
"stackone": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.stackone.com/mcp?x-account-id=<account_id>",
"--header",
"Authorization: Basic <YOUR_BASE64_TOKEN>"
]
}
}
}162+ actions
133+ actions
125+ actions
125+ actions
120+ actions
83+ actions
72+ actions
Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
origin_owner_id.All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.