4.3 KiB
4.3 KiB
Shopify MCP Server - Tools Summary
Overview
Built 67 tools across 13 categories for comprehensive Shopify API coverage.
Tool Categories & Count
| Category | File | Tools | Description |
|---|---|---|---|
| Products | src/tools/products.ts |
6 | Product CRUD, variants, images, search |
| Orders | src/tools/orders.ts |
6 | Order management, cancellation, status updates |
| Customers | src/tools/customers.ts |
6 | Customer CRUD, addresses, search |
| Inventory | src/tools/inventory.ts |
6 | Inventory levels, locations, adjustments |
| Collections | src/tools/collections.ts |
6 | Custom collections, product associations |
| Discounts | src/tools/discounts.ts |
7 | Price rules, discount codes |
| Shipping | src/tools/shipping.ts |
6 | Shipping zones, carrier services |
| Fulfillments | src/tools/fulfillments.ts |
6 | Fulfillment CRUD, tracking updates |
| Themes | src/tools/themes.ts |
8 | Theme management, asset upload/download |
| Pages | src/tools/pages.ts |
5 | Static page CRUD, metafields |
| Blogs | src/tools/blogs.ts |
7 | Blog and article management |
| Analytics | src/tools/analytics.ts |
3 | Shop info, event logs |
| Webhooks | src/tools/webhooks.ts |
5 | Webhook subscription management |
Total: 67 tools
Quality Standards Met
✅ TypeScript compilation: Clean compile with npx tsc --noEmit
✅ Zod schemas: Every input validated with descriptive field annotations
✅ Pagination: All list operations support cursor-based pagination
✅ Filtering: Date ranges, status, and resource-specific filters
✅ Consistent naming: shopify_verb_noun pattern throughout
✅ Error handling: Zod validation + client retry/rate limiting
✅ Type safety: ShopifyClient interface usage, proper async/await
Tool Examples
Products
shopify_list_products- Paginated listing with status/type/vendor/date filtersshopify_get_product- Retrieve single product by IDshopify_create_product- Create with variants and imagesshopify_update_product- Partial updatesshopify_delete_product- Delete by IDshopify_search_products- Full-text search
Orders
shopify_list_orders- Filter by status, financial status, fulfillment status, datesshopify_get_order- Retrieve order detailsshopify_create_order- Create manual ordersshopify_update_order- Update notes, tags, emailshopify_cancel_order- Cancel with optional refund/restockshopify_close_order- Mark as complete
Discounts
shopify_list_price_rules- List all discount rulesshopify_create_price_rule- Create percentage/fixed discountsshopify_list_discount_codes- List codes for a ruleshopify_create_discount_code- Generate new discount code
Architecture
Each tool file exports a default array of tool definitions:
export default [
{
name: 'shopify_tool_name',
description: 'Human-readable description',
inputSchema: { /* JSON Schema */ },
handler: async (input: unknown, client: ShopifyClient) => {
const validated = ZodSchema.parse(input);
const result = await client.method('/endpoint.json', { params: validated });
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
}
}
];
Server Integration
The ShopifyMCPServer class in src/server.ts lazy-loads tool modules on demand:
- List tools → loads all modules, aggregates definitions
- Call tool → loads specific module, executes handler with client instance
Next Steps
- ✅ All tool files created
- ✅ TypeScript compilation verified
- ⏭️ Integration testing with MCP inspector
- ⏭️ Documentation updates (README, examples)
- ⏭️ Deployment to npm/GitHub
File Structure
src/tools/
├── products.ts (6 tools)
├── orders.ts (6 tools)
├── customers.ts (6 tools)
├── inventory.ts (6 tools)
├── collections.ts (6 tools)
├── discounts.ts (7 tools)
├── shipping.ts (6 tools)
├── fulfillments.ts (6 tools)
├── themes.ts (8 tools)
├── pages.ts (5 tools)
├── blogs.ts (7 tools)
├── analytics.ts (3 tools)
└── webhooks.ts (5 tools)
Built by AI subagent · Date: 2025
Target: 50-70 tools ✅ Achieved: 67 tools