# 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 filters - `shopify_get_product` - Retrieve single product by ID - `shopify_create_product` - Create with variants and images - `shopify_update_product` - Partial updates - `shopify_delete_product` - Delete by ID - `shopify_search_products` - Full-text search ### Orders - `shopify_list_orders` - Filter by status, financial status, fulfillment status, dates - `shopify_get_order` - Retrieve order details - `shopify_create_order` - Create manual orders - `shopify_update_order` - Update notes, tags, email - `shopify_cancel_order` - Cancel with optional refund/restock - `shopify_close_order` - Mark as complete ### Discounts - `shopify_list_price_rules` - List all discount rules - `shopify_create_price_rule` - Create percentage/fixed discounts - `shopify_list_discount_codes` - List codes for a rule - `shopify_create_discount_code` - Generate new discount code ## Architecture Each tool file exports a default array of tool definitions: ```typescript 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 1. ✅ All tool files created 2. ✅ TypeScript compilation verified 3. ⏭️ Integration testing with MCP inspector 4. ⏭️ Documentation updates (README, examples) 5. ⏭️ 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