Shopify Admin API · Capability

Shopify Admin Store Management

Unified workflow capability for comprehensive Shopify store management. Combines product catalog management, customer relationship management, order processing, inventory tracking, and store configuration into a single integrated capability for merchants and app developers.

Run with Naftiko CommerceEcommerceAdminStore ManagementProductsOrdersCustomersInventory

What You Can Do

GET
List products — List all products with optional status filtering
/v1/products
POST
Create product — Create a new product in the store
/v1/products
GET
Get product — Retrieve a product by ID
/v1/products/{id}
PUT
Update product — Update product details
/v1/products/{id}
DELETE
Delete product — Remove a product from the store
/v1/products/{id}
GET
List orders — List orders with financial and fulfillment status filtering
/v1/orders
GET
Get order — Retrieve an order by ID
/v1/orders/{id}
PUT
Update order — Update order notes and tags
/v1/orders/{id}
POST
Cancel order — Cancel an order with a reason
/v1/orders/{id}/cancel
GET
List customers — List customers with optional email filtering
/v1/customers
POST
Create customer — Create a new customer account
/v1/customers
GET
Get customer — Retrieve a customer by ID
/v1/customers/{id}
PUT
Update customer — Update customer information
/v1/customers/{id}
GET
List inventory levels — List inventory levels for items and locations
/v1/inventory-levels
GET
List locations — List all store locations
/v1/locations
GET
List webhooks — List all webhook subscriptions
/v1/webhooks
POST
Create webhook — Subscribe to store events via webhook
/v1/webhooks
GET
Get shop — Retrieve store configuration and settings
/v1/shop

MCP Tools

list-products

List all products in the Shopify store with optional status filtering

read-only
get-product

Retrieve a specific product by its ID

read-only
create-product

Create a new product with title, description, vendor, and variants

update-product

Update an existing product's details

idempotent
delete-product

Permanently delete a product from the store

idempotent
list-orders

List orders filtered by status, financial status, or fulfillment status

read-only
get-order

Retrieve a specific order with full line item and shipping details

read-only
update-order

Update order notes and tags

idempotent
cancel-order

Cancel an order specifying the reason (customer, fraud, inventory, declined, other)

list-customers

List all customers with optional email address filtering

read-only
get-customer

Retrieve a specific customer's profile and order history

read-only
create-customer

Create a new customer account with email and profile information

update-customer

Update an existing customer's profile information

idempotent
list-inventory-levels

Check inventory quantities for products across store locations

read-only
list-locations

List all fulfillment locations for the store

read-only
get-shop

Retrieve store settings including currency, timezone, and plan details

read-only
list-webhooks

List all active webhook subscriptions

read-only
create-webhook

Subscribe to Shopify store events by creating a webhook

APIs Used

shopify-admin-rest

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Shopify Admin Store Management"
  description: >-
    Unified workflow capability for comprehensive Shopify store management.
    Combines product catalog management, customer relationship management,
    order processing, inventory tracking, and store configuration into a
    single integrated capability for merchants and app developers.
  tags:
    - Commerce
    - Ecommerce
    - Admin
    - Store Management
    - Products
    - Orders
    - Customers
    - Inventory
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SHOPIFY_ACCESS_TOKEN: SHOPIFY_ACCESS_TOKEN
      SHOPIFY_STORE_NAME: SHOPIFY_STORE_NAME

capability:
  consumes:
    - import: shopify-admin-rest
      location: ./shared/shopify-admin-rest.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: shopify-store-management-api
      description: "Unified REST API for comprehensive Shopify store management."
      resources:
        - path: /v1/products
          name: products
          description: Product catalog management
          operations:
            - method: GET
              name: list-products
              description: List all products with optional status filtering
              call: "shopify-admin-rest.list-products"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-product
              description: Create a new product in the store
              call: "shopify-admin-rest.create-product"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/products/{id}
          name: product-detail
          description: Individual product management
          operations:
            - method: GET
              name: get-product
              description: Retrieve a product by ID
              call: "shopify-admin-rest.get-product"
              with:
                product_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: update-product
              description: Update product details
              call: "shopify-admin-rest.update-product"
              with:
                product_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-product
              description: Remove a product from the store
              call: "shopify-admin-rest.delete-product"
              with:
                product_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/orders
          name: orders
          description: Order management and fulfillment
          operations:
            - method: GET
              name: list-orders
              description: List orders with financial and fulfillment status filtering
              call: "shopify-admin-rest.list-orders"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/orders/{id}
          name: order-detail
          description: Individual order management
          operations:
            - method: GET
              name: get-order
              description: Retrieve an order by ID
              call: "shopify-admin-rest.get-order"
              with:
                order_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: update-order
              description: Update order notes and tags
              call: "shopify-admin-rest.update-order"
              with:
                order_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/orders/{id}/cancel
          name: order-cancel
          description: Order cancellation
          operations:
            - method: POST
              name: cancel-order
              description: Cancel an order with a reason
              call: "shopify-admin-rest.cancel-order"
              with:
                order_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/customers
          name: customers
          description: Customer relationship management
          operations:
            - method: GET
              name: list-customers
              description: List customers with optional email filtering
              call: "shopify-admin-rest.list-customers"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-customer
              description: Create a new customer account
              call: "shopify-admin-rest.create-customer"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/customers/{id}
          name: customer-detail
          description: Individual customer management
          operations:
            - method: GET
              name: get-customer
              description: Retrieve a customer by ID
              call: "shopify-admin-rest.get-customer"
              with:
                customer_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: update-customer
              description: Update customer information
              call: "shopify-admin-rest.update-customer"
              with:
                customer_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/inventory-levels
          name: inventory
          description: Inventory tracking across locations
          operations:
            - method: GET
              name: list-inventory-levels
              description: List inventory levels for items and locations
              call: "shopify-admin-rest.list-inventory-levels"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/locations
          name: locations
          description: Store location management
          operations:
            - method: GET
              name: list-locations
              description: List all store locations
              call: "shopify-admin-rest.list-locations"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/webhooks
          name: webhooks
          description: Event subscription management
          operations:
            - method: GET
              name: list-webhooks
              description: List all webhook subscriptions
              call: "shopify-admin-rest.list-webhooks"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-webhook
              description: Subscribe to store events via webhook
              call: "shopify-admin-rest.create-webhook"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/shop
          name: shop
          description: Store settings and configuration
          operations:
            - method: GET
              name: get-shop
              description: Retrieve store configuration and settings
              call: "shopify-admin-rest.get-shop"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: shopify-store-management-mcp
      transport: http
      description: "MCP server for AI-assisted Shopify store management."
      tools:
        - name: list-products
          description: List all products in the Shopify store with optional status filtering
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.list-products"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-product
          description: Retrieve a specific product by its ID
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.get-product"
          with:
            product_id: "tools.product_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-product
          description: Create a new product with title, description, vendor, and variants
          hints:
            readOnly: false
            destructive: false
          call: "shopify-admin-rest.create-product"
          with:
            title: "tools.title"
            body_html: "tools.body_html"
            vendor: "tools.vendor"
            status: "tools.status"
          outputParameters:
            - type: object
              mapping: "$."
        - name: update-product
          description: Update an existing product's details
          hints:
            readOnly: false
            idempotent: true
          call: "shopify-admin-rest.update-product"
          with:
            product_id: "tools.product_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: delete-product
          description: Permanently delete a product from the store
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "shopify-admin-rest.delete-product"
          with:
            product_id: "tools.product_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-orders
          description: List orders filtered by status, financial status, or fulfillment status
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.list-orders"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-order
          description: Retrieve a specific order with full line item and shipping details
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.get-order"
          with:
            order_id: "tools.order_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: update-order
          description: Update order notes and tags
          hints:
            readOnly: false
            idempotent: true
          call: "shopify-admin-rest.update-order"
          with:
            order_id: "tools.order_id"
            note: "tools.note"
            tags: "tools.tags"
          outputParameters:
            - type: object
              mapping: "$."
        - name: cancel-order
          description: Cancel an order specifying the reason (customer, fraud, inventory, declined, other)
          hints:
            readOnly: false
            destructive: true
          call: "shopify-admin-rest.cancel-order"
          with:
            order_id: "tools.order_id"
            reason: "tools.reason"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-customers
          description: List all customers with optional email address filtering
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.list-customers"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-customer
          description: Retrieve a specific customer's profile and order history
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.get-customer"
          with:
            customer_id: "tools.customer_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-customer
          description: Create a new customer account with email and profile information
          hints:
            readOnly: false
            destructive: false
          call: "shopify-admin-rest.create-customer"
          with:
            email: "tools.email"
            first_name: "tools.first_name"
            last_name: "tools.last_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: update-customer
          description: Update an existing customer's profile information
          hints:
            readOnly: false
            idempotent: true
          call: "shopify-admin-rest.update-customer"
          with:
            customer_id: "tools.customer_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-inventory-levels
          description: Check inventory quantities for products across store locations
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.list-inventory-levels"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-locations
          description: List all fulfillment locations for the store
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.list-locations"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-shop
          description: Retrieve store settings including currency, timezone, and plan details
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.get-shop"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-webhooks
          description: List all active webhook subscriptions
          hints:
            readOnly: true
            openWorld: true
          call: "shopify-admin-rest.list-webhooks"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-webhook
          description: Subscribe to Shopify store events by creating a webhook
          hints:
            readOnly: false
            destructive: false
          call: "shopify-admin-rest.create-webhook"
          with:
            topic: "tools.topic"
            address: "tools.address"
            format: "tools.format"
          outputParameters:
            - type: object
              mapping: "$."