Shopify MCP Server (Amir Bengherbi)
Shopify store data interaction via direct GraphQL Admin API queries.
Data last scanned today · Reviewed today
Overview
This server provides a bridge between AI agents and Shopify stores, facilitating direct interaction with store data through the GraphQL Admin API. It enables users to perform complex administrative tasks, including retrieving product details, managing customer information, and processing order queries. The server features dedicated tools for catalog management, such as fetching products by collection or ID, alongside capabilities for modifying customer tags and generating new discount codes. It includes integrated error handling designed to assist with API communication and authentication state reporting.
Our verdict
This server holds a high risk level with a security score of 23/100. It lacks an official vendor maintenance status and has not been updated in over 550 days, suggesting potential staleness in API compatibility. Furthermore, the absence of a dedicated read-only mode means the server may execute write operations such as tagging customers or creating discounts, which requires extreme caution when configuring access for AI models.
- Direct integration with Shopify GraphQL Admin API
- Comprehensive suite of product and order management tools
- Small dependency footprint with only three direct dependencies
- Provides detailed error handling for API and authentication issues
- High security risk due to lack of read-only mode
- No official maintenance by Shopify
- Stale repository with no commits for over 550 days
- Lacks OAuth support for secure authentication handling
Setup
{
"mcpServers": {
"amir-bengherbi-shopify-mcp-server": {
"args": [
"-y",
"shopify-mcp-server"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| get-products | Get all products or search by title | low |
| get-products-by-collection | Get products from a specific collection | low |
| get-products-by-ids | Get products by their IDs | low |
| get-variants-by-ids | Get product variants by their IDs | low |
| get-customers | Get shopify customers with pagination support | low |
| tag-customer | Add tags to a customer | medium |
| get-orders | Get orders with advanced filtering and sorting | low |
| get-order | Get a single order by ID | low |
| create-discount | Create a basic discount code | medium |
| create-draft-order | Create a draft order | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What prerequisites are needed to use this server?
You must create a custom app in your Shopify admin panel to generate an Admin API access token for authentication.
›Which API permissions are required for the Shopify app?
You must configure your app with read and write scopes for products, customers, and orders.
›Can I search for products by title?
Yes, the get-products tool accepts an optional searchTitle input to filter results by title.
›Does the server support managing webhooks?
Yes, the manage-webhook tool allows you to subscribe to, find, or unsubscribe from specific webhook topics.
›Is it possible to filter or sort order results?
The get-orders tool supports advanced filtering using a query string and allows sorting by fields like CREATED_AT, TOTAL_PRICE, or ORDER_NUMBER.
Badge
Maintain this server? Add the live badge to your README.