@acodera/shopify-admin-mcp 1.0.0 → 1.0.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.
Files changed (3) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +127 -4
  3. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @acodera/shopify-admin-mcp
2
2
 
3
+ ## 1.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#3](https://github.com/acoderacom/shopify-admin-mcp/pull/3) [`8aef080`](https://github.com/acoderacom/shopify-admin-mcp/commit/8aef080c6558da9bf5e672668f738f0386eb5c43) Thanks [@acoderacom](https://github.com/acoderacom)! - Document OAuth client credentials setup for Claude Code (`claude mcp add` and `.mcp.json`) and Claude Desktop, alongside the legacy access token, and show how to pass options such as `--read-only`, `--toolsets`, and `--upload-dir` as flags or environment variables.
8
+
3
9
  ## 1.0.0
4
10
 
5
11
  ### Major Changes
package/README.md CHANGED
@@ -272,6 +272,18 @@ The store must be a `*.myshopify.com` domain, so credentials are only ever sent
272
272
 
273
273
  ## Usage with Claude Code
274
274
 
275
+ With OAuth client credentials (Dev Dashboard app):
276
+
277
+ ```bash
278
+ claude mcp add shopify \
279
+ -e SHOPIFY_STORE=mystore.myshopify.com \
280
+ -e SHOPIFY_CLIENT_ID=your_client_id \
281
+ -e SHOPIFY_CLIENT_SECRET=your_client_secret \
282
+ -- npx -y @acodera/shopify-admin-mcp
283
+ ```
284
+
285
+ With a legacy access token:
286
+
275
287
  ```bash
276
288
  claude mcp add shopify \
277
289
  -e SHOPIFY_STORE=mystore.myshopify.com \
@@ -279,7 +291,7 @@ claude mcp add shopify \
279
291
  -- npx -y @acodera/shopify-admin-mcp
280
292
  ```
281
293
 
282
- Or add it to your project's `.mcp.json`:
294
+ Or add it to your project's `.mcp.json`. Claude Code expands `${VAR}` from your shell environment, so the file can be committed without secrets. With client credentials:
283
295
 
284
296
  ```json
285
297
  {
@@ -289,18 +301,54 @@ Or add it to your project's `.mcp.json`:
289
301
  "args": ["-y", "@acodera/shopify-admin-mcp"],
290
302
  "env": {
291
303
  "SHOPIFY_STORE": "mystore.myshopify.com",
292
- "SHOPIFY_ACCESS_TOKEN": "shpat_xxxxx"
304
+ "SHOPIFY_CLIENT_ID": "${SHOPIFY_CLIENT_ID}",
305
+ "SHOPIFY_CLIENT_SECRET": "${SHOPIFY_CLIENT_SECRET}"
306
+ }
307
+ }
308
+ }
309
+ }
310
+ ```
311
+
312
+ With a legacy access token:
313
+
314
+ ```json
315
+ {
316
+ "mcpServers": {
317
+ "shopify": {
318
+ "command": "npx",
319
+ "args": ["-y", "@acodera/shopify-admin-mcp"],
320
+ "env": {
321
+ "SHOPIFY_STORE": "mystore.myshopify.com",
322
+ "SHOPIFY_ACCESS_TOKEN": "${SHOPIFY_ACCESS_TOKEN}"
293
323
  }
294
324
  }
295
325
  }
296
326
  }
297
327
  ```
298
328
 
299
- Don't commit real tokens. Claude Code expands `${VAR}` in `.mcp.json`, so you can reference variables from your shell instead.
329
+ To add options such as `--read-only` or `--toolsets`, see [Adding Options](#adding-options).
300
330
 
301
331
  ## Usage with Claude Desktop
302
332
 
303
- Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
333
+ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`). With client credentials:
334
+
335
+ ```json
336
+ {
337
+ "mcpServers": {
338
+ "shopify": {
339
+ "command": "npx",
340
+ "args": ["-y", "@acodera/shopify-admin-mcp"],
341
+ "env": {
342
+ "SHOPIFY_STORE": "mystore.myshopify.com",
343
+ "SHOPIFY_CLIENT_ID": "your_client_id",
344
+ "SHOPIFY_CLIENT_SECRET": "your_client_secret"
345
+ }
346
+ }
347
+ }
348
+ }
349
+ ```
350
+
351
+ With a legacy access token:
304
352
 
305
353
  ```json
306
354
  {
@@ -319,6 +367,81 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
319
367
 
320
368
  If you install the package globally (`npm install -g @acodera/shopify-admin-mcp`), you can use `"command": "shopify-admin-mcp"` with no `args`.
321
369
 
370
+ ## Adding Options
371
+
372
+ Options from the [Configuration](#configuration) table go **after the package name**, either as flags or as environment variables.
373
+
374
+ ### As flags
375
+
376
+ With `claude mcp add`, append them after the package name:
377
+
378
+ ```bash
379
+ claude mcp add shopify \
380
+ -e SHOPIFY_STORE=mystore.myshopify.com \
381
+ -e SHOPIFY_CLIENT_ID=your_client_id \
382
+ -e SHOPIFY_CLIENT_SECRET=your_client_secret \
383
+ -- npx -y @acodera/shopify-admin-mcp --toolsets products,collections,publishing,files --upload-dir /Users/you/shopify-uploads
384
+ ```
385
+
386
+ In `.mcp.json` or the Claude Desktop config, add them to `args`. Each flag and each value is its own string:
387
+
388
+ ```json
389
+ {
390
+ "mcpServers": {
391
+ "shopify": {
392
+ "command": "npx",
393
+ "args": [
394
+ "-y", "@acodera/shopify-admin-mcp",
395
+ "--toolsets", "products,collections,publishing,files",
396
+ "--upload-dir", "/Users/you/shopify-uploads"
397
+ ],
398
+ "env": {
399
+ "SHOPIFY_STORE": "mystore.myshopify.com",
400
+ "SHOPIFY_CLIENT_ID": "${SHOPIFY_CLIENT_ID}",
401
+ "SHOPIFY_CLIENT_SECRET": "${SHOPIFY_CLIENT_SECRET}"
402
+ }
403
+ }
404
+ }
405
+ }
406
+ ```
407
+
408
+ A read-only assistant for reporting:
409
+
410
+ ```json
411
+ "args": ["-y", "@acodera/shopify-admin-mcp", "--read-only", "--toolsets", "products,orders,customers"]
412
+ ```
413
+
414
+ A theme editor that may change the live theme:
415
+
416
+ ```json
417
+ "args": ["-y", "@acodera/shopify-admin-mcp", "--toolsets", "themes,files", "--allow-live-theme-writes"]
418
+ ```
419
+
420
+ ### As environment variables
421
+
422
+ Every flag also has an environment variable, which you can put in `env` instead of `args`:
423
+
424
+ ```json
425
+ {
426
+ "mcpServers": {
427
+ "shopify": {
428
+ "command": "npx",
429
+ "args": ["-y", "@acodera/shopify-admin-mcp"],
430
+ "env": {
431
+ "SHOPIFY_STORE": "mystore.myshopify.com",
432
+ "SHOPIFY_CLIENT_ID": "${SHOPIFY_CLIENT_ID}",
433
+ "SHOPIFY_CLIENT_SECRET": "${SHOPIFY_CLIENT_SECRET}",
434
+ "SHOPIFY_TOOLSETS": "products,collections,publishing,files",
435
+ "SHOPIFY_UPLOAD_DIR": "/Users/you/shopify-uploads",
436
+ "SHOPIFY_READ_ONLY": "false"
437
+ }
438
+ }
439
+ }
440
+ }
441
+ ```
442
+
443
+ Use an absolute path for `--upload-dir`, because MCP clients start the server from their own working directory, not your project's.
444
+
322
445
  ## Schema Exploration
323
446
 
324
447
  The server introspects Shopify's live GraphQL schema on startup, so your AI assistant can discover API capabilities in real time.
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@acodera/shopify-admin-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.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": {
7
- "shopify-admin-mcp": "./dist/index.js"
7
+ "shopify-admin-mcp": "dist/index.js"
8
8
  },
9
9
  "main": "./dist/index.js",
10
10
  "files": [