mcpengine/servers/shopify/TOOLS_SUMMARY.md

113 lines
4.3 KiB
Markdown

# 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