@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.
- package/CHANGELOG.md +6 -0
- package/README.md +127 -4
- 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
|
-
"
|
|
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
|
-
|
|
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.
|
|
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": "
|
|
7
|
+
"shopify-admin-mcp": "dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"files": [
|