@alfe.ai/shopify-mcp 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server.js +7 -7
- package/package.json +3 -3
package/dist/server.js
CHANGED
|
@@ -158,7 +158,7 @@ function registerTools(server, resolveClient, listShops) {
|
|
|
158
158
|
description: "List products in a connected Shopify store. Supports a search `query` (Shopify search syntax, e.g. \"title:Shirt status:active\") and cursor pagination.",
|
|
159
159
|
inputSchema: {
|
|
160
160
|
shop: shopField,
|
|
161
|
-
first: z.number().int().min(1).max(250).optional().describe("Page size (default 50, max 250)."),
|
|
161
|
+
first: z.coerce.number().int().min(1).max(250).optional().describe("Page size (default 50, max 250)."),
|
|
162
162
|
after: z.string().optional().describe("Pagination cursor from a previous page's pageInfo.endCursor."),
|
|
163
163
|
query: z.string().optional().describe("Optional Shopify product search query.")
|
|
164
164
|
}
|
|
@@ -285,7 +285,7 @@ function registerTools(server, resolveClient, listShops) {
|
|
|
285
285
|
description: "List orders in a connected Shopify store. Supports a Shopify search `query` for status/date filters (e.g. \"financial_status:paid created_at:>2026-01-01 fulfillment_status:unfulfilled\") and cursor pagination.",
|
|
286
286
|
inputSchema: {
|
|
287
287
|
shop: shopField,
|
|
288
|
-
first: z.number().int().min(1).max(250).optional().describe("Page size (default 50, max 250)."),
|
|
288
|
+
first: z.coerce.number().int().min(1).max(250).optional().describe("Page size (default 50, max 250)."),
|
|
289
289
|
after: z.string().optional().describe("Pagination cursor."),
|
|
290
290
|
query: z.string().optional().describe("Optional Shopify order search query (status/date filters).")
|
|
291
291
|
}
|
|
@@ -367,7 +367,7 @@ function registerTools(server, resolveClient, listShops) {
|
|
|
367
367
|
notify: z.boolean().optional().describe("Notify the customer (default false)."),
|
|
368
368
|
refundLineItems: z.array(z.object({
|
|
369
369
|
lineItemId: z.string().describe("The order line item GID to refund."),
|
|
370
|
-
quantity: z.number().int().min(1),
|
|
370
|
+
quantity: z.coerce.number().int().min(1),
|
|
371
371
|
restockType: z.enum([
|
|
372
372
|
"NO_RESTOCK",
|
|
373
373
|
"CANCEL",
|
|
@@ -446,7 +446,7 @@ function registerTools(server, resolveClient, listShops) {
|
|
|
446
446
|
description: "List customers in a connected Shopify store. Supports a Shopify search `query` (e.g. \"email:*@example.com\") and cursor pagination.",
|
|
447
447
|
inputSchema: {
|
|
448
448
|
shop: shopField,
|
|
449
|
-
first: z.number().int().min(1).max(250).optional().describe("Page size (default 50, max 250)."),
|
|
449
|
+
first: z.coerce.number().int().min(1).max(250).optional().describe("Page size (default 50, max 250)."),
|
|
450
450
|
after: z.string().optional(),
|
|
451
451
|
query: z.string().optional().describe("Optional Shopify customer search query.")
|
|
452
452
|
}
|
|
@@ -537,7 +537,7 @@ function registerTools(server, resolveClient, listShops) {
|
|
|
537
537
|
description: "List the inventory locations of a connected Shopify store (needed to adjust inventory levels).",
|
|
538
538
|
inputSchema: {
|
|
539
539
|
shop: shopField,
|
|
540
|
-
first: z.number().int().min(1).max(250).optional().describe("Page size (default 50).")
|
|
540
|
+
first: z.coerce.number().int().min(1).max(250).optional().describe("Page size (default 50).")
|
|
541
541
|
}
|
|
542
542
|
}, guarded(async (client, args) => {
|
|
543
543
|
return ok(await client.graphql(`query ListLocations($first: Int!) {
|
|
@@ -551,7 +551,7 @@ function registerTools(server, resolveClient, listShops) {
|
|
|
551
551
|
inputSchema: {
|
|
552
552
|
shop: shopField,
|
|
553
553
|
inventoryItemId: z.string().describe("The inventory item GID (variant.inventoryItem.id)."),
|
|
554
|
-
first: z.number().int().min(1).max(250).optional().describe("Page size (default 50).")
|
|
554
|
+
first: z.coerce.number().int().min(1).max(250).optional().describe("Page size (default 50).")
|
|
555
555
|
}
|
|
556
556
|
}, guarded(async (client, args) => {
|
|
557
557
|
return ok(await client.graphql(`query InventoryLevels($id: ID!, $first: Int!) {
|
|
@@ -577,7 +577,7 @@ function registerTools(server, resolveClient, listShops) {
|
|
|
577
577
|
shop: shopField,
|
|
578
578
|
inventoryItemId: z.string().describe("The inventory item GID."),
|
|
579
579
|
locationId: z.string().describe("The location GID (from shopify_list_locations)."),
|
|
580
|
-
delta: z.number().int().describe("Signed quantity change, e.g. 10 or -3."),
|
|
580
|
+
delta: z.coerce.number().int().describe("Signed quantity change, e.g. 10 or -3."),
|
|
581
581
|
reason: z.string().optional().describe("Adjustment reason code (default \"correction\").")
|
|
582
582
|
}
|
|
583
583
|
}, guarded(async (client, args) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfe.ai/shopify-mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Shopify MCP server — full store management (products, orders incl. fulfil/refund, customers, inventory) over the Admin GraphQL API with Alfe OAuth credentials",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/server.js",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
21
21
|
"zod": "^4.0.5",
|
|
22
|
-
"@alfe.ai/config": "0.
|
|
23
|
-
"@alfe.ai/agent-api-client": "0.
|
|
22
|
+
"@alfe.ai/config": "0.4.0",
|
|
23
|
+
"@alfe.ai/agent-api-client": "0.14.0"
|
|
24
24
|
},
|
|
25
25
|
"license": "UNLICENSED",
|
|
26
26
|
"homepage": "https://alfe.ai",
|