mcpengine/servers/shopify/TOOLS_SUMMARY.md

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 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:

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