@acodera/shopify-admin-mcp 1.1.0 → 1.1.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @acodera/shopify-admin-mcp
2
2
 
3
+ ## 1.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#7](https://github.com/acoderacom/shopify-admin-mcp/pull/7) [`04f9a39`](https://github.com/acoderacom/shopify-admin-mcp/commit/04f9a39f77ffc3e207e355f758a5141dfe1f127b) Thanks [@acoderacom](https://github.com/acoderacom)! - Treat blank values and unfilled `${VAR}` / `$VAR` references as not set for every option, so a config can list both an access token and client credentials and use whichever is filled in (previously a literal `${SHOPIFY_ACCESS_TOKEN}` was sent as the token). The startup log now names the authentication method, and incomplete client credentials report which value is missing.
8
+
9
+ - [#7](https://github.com/acoderacom/shopify-admin-mcp/pull/7) [`c062f3a`](https://github.com/acoderacom/shopify-admin-mcp/commit/c062f3a022a7da493b46dee9b9eca8c1835bd980) Thanks [@acoderacom](https://github.com/acoderacom)! - Upgrade `graphql` (used to parse raw GraphQL in read-only mode) from 16 to 17. No behavior change: mutations and subscriptions are still detected and blocked the same way.
10
+
3
11
  ## 1.1.0
4
12
 
5
13
  ### Minor Changes
package/README.md CHANGED
@@ -495,6 +495,19 @@ Every variable at once, with client credentials:
495
495
 
496
496
  For a legacy token, replace `SHOPIFY_CLIENT_ID` and `SHOPIFY_CLIENT_SECRET` with `"SHOPIFY_ACCESS_TOKEN": "${SHOPIFY_ACCESS_TOKEN}"`. The `${VAR}` references work in Claude Code's `.mcp.json`; in the Claude Desktop config, write the values directly.
497
497
 
498
+ Blank values and unfilled variable references (`${VAR}`, `${VAR:-}`, `$VAR`) are treated as not set, for every option. That lets one config list both authentication methods and use whichever has real values, which helps with clients such as Claude Desktop that pass `${VAR}` through literally:
499
+
500
+ ```json
501
+ "env": {
502
+ "SHOPIFY_STORE": "mystore.myshopify.com",
503
+ "SHOPIFY_ACCESS_TOKEN": "${SHOPIFY_ACCESS_TOKEN}",
504
+ "SHOPIFY_CLIENT_ID": "${SHOPIFY_CLIENT_ID}",
505
+ "SHOPIFY_CLIENT_SECRET": "${SHOPIFY_CLIENT_SECRET}"
506
+ }
507
+ ```
508
+
509
+ The startup log on stderr says which method was used, for example `Connecting to mystore.myshopify.com (API 2026-10, client credentials)...`.
510
+
498
511
  If you set the same option both ways:
499
512
 
500
513
  - For options that take a value (`--store`, credentials, `--api-version`, `--toolsets`, `--upload-dir`), the flag wins.
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { SchemaIndex } from "./graphql/schema-index.js";
8
8
  import { createServer } from "./server.js";
9
9
  async function main() {
10
10
  const config = parseArgs(process.argv);
11
- console.error(`Connecting to ${config.store} (API ${config.apiVersion}${config.readOnly ? ", read-only" : ""})...`);
11
+ console.error(`Connecting to ${config.store} (API ${config.apiVersion}, ${config.auth.mode === "access-token" ? "access token" : "client credentials"}${config.readOnly ? ", read-only" : ""})...`);
12
12
  const auth = new AuthProvider(config);
13
13
  // Validate credentials early
14
14
  try {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CAAC,KAAK,CACX,iBAAiB,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CACrG,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtC,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACrE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjD,IAAI,WAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CACX,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAC9C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC3E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC5D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CAAC,KAAK,CACX,iBAAiB,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CACrL,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAEtC,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACrE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjD,IAAI,WAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CACX,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAC9C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC3E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC5D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/utils/cli.js CHANGED
@@ -17,15 +17,28 @@ export const DEFAULT_API_VERSION = "2026-10";
17
17
  // Restricting the host to *.myshopify.com keeps credentials from being sent to any other domain
18
18
  const STORE_PATTERN = /^[a-z0-9][a-z0-9-]*\.myshopify\.com$/;
19
19
  const API_VERSION_PATTERN = /^(\d{4}-(01|04|07|10)|unstable)$/;
20
+ // A whole-value variable reference such as ${SHOPIFY_CLIENT_ID}, ${VAR:-default}, or $VAR
21
+ const UNEXPANDED_VARIABLE = /^\$(\{[^}]*\}|[A-Za-z_][A-Za-z0-9_]*)$/;
22
+ // MCP clients that don't expand variables pass ${VAR} through literally, and unset
23
+ // variables often arrive as empty strings. Treating both as "not provided" lets one
24
+ // config carry both auth methods and use whichever is filled in.
25
+ function provided(value) {
26
+ const trimmed = value?.trim();
27
+ if (!trimmed || UNEXPANDED_VARIABLE.test(trimmed))
28
+ return undefined;
29
+ return trimmed;
30
+ }
20
31
  function getArg(args, flag) {
21
32
  const idx = args.indexOf(flag);
22
33
  if (idx === -1 || idx + 1 >= args.length)
23
34
  return undefined;
24
- return args[idx + 1];
35
+ return provided(args[idx + 1]);
36
+ }
37
+ function getEnv(name) {
38
+ return provided(process.env[name]);
25
39
  }
26
40
  function getFlag(args, flag, envVar) {
27
- return (args.includes(flag) ||
28
- ["1", "true"].includes(process.env[envVar]?.toLowerCase() ?? ""));
41
+ return args.includes(flag) || ["1", "true"].includes(getEnv(envVar)?.toLowerCase() ?? "");
29
42
  }
30
43
  function fail(message) {
31
44
  console.error(`Error: ${message}`);
@@ -50,18 +63,18 @@ function parseToolsets(value) {
50
63
  return names;
51
64
  }
52
65
  export function parseArgs(argv) {
53
- const store = getArg(argv, "--store") ?? process.env.SHOPIFY_STORE;
66
+ const store = getArg(argv, "--store") ?? getEnv("SHOPIFY_STORE");
54
67
  const accessTokenArg = getArg(argv, "--access-token");
55
- const accessToken = accessTokenArg ?? process.env.SHOPIFY_ACCESS_TOKEN;
68
+ const accessToken = accessTokenArg ?? getEnv("SHOPIFY_ACCESS_TOKEN");
56
69
  const clientId = getArg(argv, "--client-id") ??
57
70
  getArg(argv, "--clientId") ??
58
- process.env.SHOPIFY_CLIENT_ID;
71
+ getEnv("SHOPIFY_CLIENT_ID");
59
72
  const clientSecretArg = getArg(argv, "--client-secret") ?? getArg(argv, "--clientSecret");
60
- const clientSecret = clientSecretArg ?? process.env.SHOPIFY_CLIENT_SECRET;
73
+ const clientSecret = clientSecretArg ?? getEnv("SHOPIFY_CLIENT_SECRET");
61
74
  const apiVersion = getArg(argv, "--api-version") ??
62
- process.env.SHOPIFY_API_VERSION ??
75
+ getEnv("SHOPIFY_API_VERSION") ??
63
76
  DEFAULT_API_VERSION;
64
- const uploadDir = getArg(argv, "--upload-dir") ?? process.env.SHOPIFY_UPLOAD_DIR;
77
+ const uploadDir = getArg(argv, "--upload-dir") ?? getEnv("SHOPIFY_UPLOAD_DIR");
65
78
  if (!store)
66
79
  fail("--store is required (e.g. --store mystore.myshopify.com)");
67
80
  const normalizedStore = normalizeStore(store);
@@ -78,7 +91,7 @@ export function parseArgs(argv) {
78
91
  store: normalizedStore,
79
92
  apiVersion,
80
93
  readOnly: getFlag(argv, "--read-only", "SHOPIFY_READ_ONLY"),
81
- toolsets: parseToolsets(getArg(argv, "--toolsets") ?? process.env.SHOPIFY_TOOLSETS),
94
+ toolsets: parseToolsets(getArg(argv, "--toolsets") ?? getEnv("SHOPIFY_TOOLSETS")),
82
95
  uploadDir: uploadDir ? path.resolve(uploadDir) : undefined,
83
96
  allowLiveThemeWrites: getFlag(argv, "--allow-live-theme-writes", "SHOPIFY_ALLOW_LIVE_THEME_WRITES"),
84
97
  };
@@ -91,6 +104,9 @@ export function parseArgs(argv) {
91
104
  auth: { mode: "client-credentials", clientId, clientSecret },
92
105
  };
93
106
  }
107
+ if (clientId || clientSecret) {
108
+ fail(`Client credentials are incomplete: ${clientId ? "SHOPIFY_CLIENT_SECRET (--client-secret)" : "SHOPIFY_CLIENT_ID (--client-id)"} is missing`);
109
+ }
94
110
  fail("Provide either --access-token or both --client-id and --client-secret");
95
111
  }
96
112
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/utils/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/utils/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acodera/shopify-admin-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "MCP server providing full access to Shopify's Admin GraphQL API with schema introspection",
5
5
  "type": "module",
6
6
  "bin": {
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@modelcontextprotocol/sdk": "^1.32.1",
29
- "graphql": "^16.14.2",
29
+ "graphql": "^17.0.2",
30
30
  "zod": "^4.6.5"
31
31
  },
32
32
  "devDependencies": {