Token导航 LogoToken导航TokenDH.com
Shopify MCP (shopify-mcp) logo
文档知识stdio官方级别未说明来源级核验

Shopify MCP (shopify-mcp)

MCP Server

shopify-mcp

Shopify MCP Server是一个通过GraphQL API与Shopify商店数据交互的服务,提供产品、客户、订单、博客和文章等全面管理功能。

工具数

16

提示词数

0

GitHub Stars

4

资源数

0
知识管理TypeScriptClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

luckyfarnon

提供方

luckyfarnon

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx shopify-mcp

详细介绍

Shopify MCP服务器

(如果你愿意,请留下一颗星!)

Shopify API的MCP服务器,通过GraphQL API实现与商店数据的交互。此服务器提供用于管理产品、客户、订单等的工具。

📦 包名称: shopify-mcp\ 🚀 命令: shopify-mcp (不是 shopify-mcp-server)

特性

  • 产品管理:搜索、检索和更新产品信息,包括SEO优化的内容
  • 客户管理:加载客户数据并管理客户标签
  • 订单管理:高级订单查询和筛选
  • 博客管理:使用自定义模板和评论策略创建、检索和更新博客
  • 物品管理:创建和管理内容丰富、作者信息和SEO元数据的博客文章
  • 店铺搜索:跨产品、文章、博客和页面的统一搜索
  • GraphQL集成:与Shopify的GraphQL Admin API直接集成
  • 全面的错误处理:清除API和身份验证问题的错误消息
  • LLM优化:专为与AI语言模型无缝使用而设计

先决条件

  1. Node.js(版本16或更高)
  2. Shopify自定义应用访问令牌(请参阅下面的设置说明)

设置

Shopify访问令牌

要使用此MCP服务器,您需要在Shopify商店中创建一个自定义应用程序:

  1. 从您的Shopify管理员,转到 设置 > 应用程序和销售渠道
  2. 点击 开发应用程序 (您可能需要先启用开发人员预览)
  3. 点击 创建应用程序
  4. 为您的应用程序设置一个名称(例如,“Shopify MCP服务器”)
  5. 点击 配置管理员API作用域
  6. 选择以下范围:

- read_products, write_products - read_customers, write_customers - read_orders, write_orders - read_content, write_content (博客和文章)

  1. 点击 保存
  2. 点击 安装应用程序
  3. 点击 安装 让应用程序访问您的商店数据
  4. 安装后,您将看到 管理员API访问令牌
  5. 复制此令牌-您需要它进行配置

使用Claude Desktop

将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": [
        "shopify-mcp",
        "--accessToken",
        "",
        "--domain",
        ".myshopify.com"
      ]
    }
  }
}

Claude Desktop配置文件的位置:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%/Claude/claude_desktop_config.json

替代方案:使用环境变量在本地运行

如果您更喜欢使用环境变量而不是命令行参数:

  1. 创建一个 .env 使用您的Shopify凭据文件:
   SHOPIFY_ACCESS_TOKEN=your_access_token
   MYSHOPIFY_DOMAIN=your-store.myshopify.com
  1. 使用npx运行服务器:
   npx shopify-mcp

直接安装(可选)

如果要全局安装该软件包:

npm install -g shopify-mcp

然后运行它:

shopify-mcp --accessToken= --domain=.myshopify.com

⚠️ 重要提示: 如果在使用命令行参数时看到有关“SHOPY_ACCESS_TOKEN环境变量是必需的”的错误,则可能安装了不同的包。确保您正在使用 shopify-mcp,不 shopify-mcp-server.

可用工具

产品管理

  1. get-products

- 使用基于光标的导航获取产品或按标题搜索 - 输入: - searchTitle (可选字符串):按标题筛选产品 - limit (可选数量,默认值:10):可退回的最大产品数量 - after (可选字符串):分页光标-获取此光标后的项目 - before (可选字符串):分页光标-获取此光标之前的项目 - reverse (可选布尔值,默认值:false):颠倒返回产品的顺序 - 退货: - 对象包含: - products:一系列产品,每个产品包含: - title:产品名称(SEO优化) - description:纯文本产品描述 - descriptionHtml:HTML格式的产品描述 - 其他字段:id、句柄、状态、库存、定价等。 - cursor:分页光标 - pageInfo:分页信息包含: - hasNextPage:当前页面后是否有更多项目 - hasPreviousPage:当前页面之前是否有更多项目 - startCursor:当前页面第一项的光标 - endCursor:当前页面最后一项的光标

#### 🌟 导航示例:

1. 基本分页:

   // Get first page of products
   {
     "limit": 10
   }

   // Get next page using the endCursor from previous response
   {
     "limit": 10,
     "after": "endCursor_from_previous_response"
   }

   // Get previous page using the startCursor from current response
   {
     "limit": 10,
     "before": "startCursor_from_current_response"
   }

2. 分页搜索:

   // Search products with pagination
   {
     "searchTitle": "t-shirt",
     "limit": 5,
     "after": "cursor_from_previous_response"
   }

3. 逆序:

   // Get products in reverse order
   {
     "limit": 10,
     "reverse": true
   }

#### 💡 分页提示:

1. 存储两者 startCursorendCursor 从每个回复 1. 使用 hasNextPagehasPreviousPage 显示/隐藏导航控件 1. 保持不变 limit 页面大小一致的价值 1. 使用 reverse 当你首先需要最新/最旧的物品时 1. 与…结合 searchTitle 用于分页搜索结果

  1. get-product-by-id

- 按ID获取特定产品及其所有详细信息 - 输入: - productId (string):要获取的产品的GID(例如,“gid://shopify/Product/1234567890") - 退货: - 单个产品对象包含: - title:产品名称(SEO优化) - description:纯文本产品描述 - descriptionHtml:HTML格式的产品描述 - 其他字段:id、句柄、状态、库存、定价、变体、收款等。

  1. update-product

- 更新产品的任何方面,包括基本细节、SEO和变体 - 输入: - productId (必填字符串):产品的ID(例如,“gid://shopify/Product/1234567890") - title (可选字符串):新产品标题 - descriptionHtml (可选字符串):HTML格式的产品描述 - seo (可选对象):SEO设置 - title (可选字符串):SEO优化标题 - description (可选字符串):搜索引擎的元描述 - status (可选字符串):产品状态-“ACTIVE”、“ARCHIVED”或“DRAFT” - vendor (可选字符串):产品制造商或品牌 - productType (可选字符串):产品类别或类型 - tags (可选字符串数组):用于分类的产品标签 - variants (可选对象数组):要更新的产品变体 - id (string):要更新的变量ID - price (可选字符串):新价格 - compareAtPrice (可选字符串):原始/价格比较 - sku (可选字符串):库存单位 - barcode (可选字符串):产品条形码 - inventoryPolicy (可选字符串):“DENY”或“CONTINUE”表示缺货行为

#### 🌟 产品更新入门指南

1. 基本产品更新:

   // Update product title and status
   {
     "productId": "gid://shopify/Product/1234567890",
     "title": "Awesome T-Shirt",
     "status": "ACTIVE"
   }

2. 更新SEO信息:

   // Make your product more visible in search results
   {
     "productId": "gid://shopify/Product/1234567890",
     "seo": {
       "title": "Awesome T-Shirt | 100% Cotton | Available in 5 Colors",
       "description": "High-quality cotton t-shirt perfect for everyday wear. Available in multiple colors and sizes."
     }
   }

3. 更新产品变体:

   // Change prices and inventory settings
   {
     "productId": "gid://shopify/Product/1234567890",
     "variants": [
       {
         "id": "gid://shopify/ProductVariant/1234567",
         "price": "29.99",
         "compareAtPrice": "39.99",
         "inventoryPolicy": "DENY"
       }
     ]
   }

4. 完成产品更新:

   // Update multiple aspects at once
   {
     "productId": "gid://shopify/Product/1234567890",
     "title": "Premium Cotton T-Shirt",
     "vendor": "Fashion Basics",
     "productType": "Apparel",
     "tags": ["cotton", "t-shirt", "basics", "summer"],
     "seo": {
       "title": "Premium Cotton T-Shirt | Fashion Basics | Multiple Colors",
       "description": "Experience comfort with our premium cotton t-shirt. Perfect for any occasion."
     },
     "variants": [
       {
         "id": "gid://shopify/ProductVariant/1234567",
         "price": "29.99",
         "compareAtPrice": "39.99"
       }
     ]
   }

#### 💡 新用户提示:

1. 从小做起:在尝试复杂的更改之前,先从简单的更新(如标题或价格)开始 1. 测试优先:在修改实时产品之前,始终测试草稿产品的更新 1. 检查ID:确保您有正确的产品和变体ID 1. SEO最佳实践: - 保持SEO标题不超过60个字符 - 编写描述性元描述(150-160个字符) - 自然地包含相关关键字 1. 定价策略: - 使用 compareAtPrice 显示节省 - 除非尺寸/材料不同,否则保持不同型号的价格一致 1. 库存管理: - 对于库存有限的商品使用“DENY” - 对于定制商品,请使用“继续”

#### ⚠️ 要避免的常见错误:

1. 忘记包含产品ID 1. 使用错误的ID格式(始终使用完整的GID格式) 1. 设置无效价格(必须是字符串,而不是数字) 1. 混淆变体ID 1. 在常规文本字段中使用HTML

#### 🔍 如何查找ID:

1. 产品ID:可在产品URL中找到或使用 get-products 1. 变量ID:使用 get-product-by-id 查看所有变体 1. 始终使用完整的GID格式:“gid://shopify/Product/1234567890"

  1. update-product-image-alt-text

- 更新特定产品图像的alt文本 - 输入: - productId (string):图像所属产品的GID(例如,“gid://shopify/Product/1234567890") - imageId (string):要更新的产品图像/媒体的GID(例如,“gid://shopify/MediaImage/123") - altText (string | null):图像的新描述性alt文本。设置为null以删除。最佳做法是将其保持在125个字符以下,最多512个字符。 - 退货: - 更新的媒体对象包含: - id:媒体ID - altText:更新的alt文本

收集管理

  1. get-collections

- 获取收藏或按标题搜索 - 输入: - searchTitle (可选字符串):按标题筛选集合 - limit (可选数字,默认值:10):要返回的最大集合数

博客管理

  1. get-blogs

- 获取所有博客或按标题搜索 - 输入: - searchTitle (可选字符串):按标题筛选博客 - limit (可选数字,默认值:10):要返回的博客的最大数量 - 退货: - 博客数组包含: - id:博客ID - title:博客标题 - handle:URL友好句柄 - templateSuffix:自定义主题的模板后缀 - commentPolicy:评论审核政策 - createdAt:创建时间戳 - updatedAt:上次更新时间戳

  1. update-blog

- 更新现有博客的详细信息 - 输入: - blogId (string,必填):要更新的博客的GID(例如,“gid://shopify/Blog/1234567890") - title (可选字符串):新博客标题 - handle (可选字符串):新的URL友好句柄 - templateSuffix (可选字符串):自定义主题的新模板后缀 - commentPolicy (可选字符串):新的评论策略(“MODERATED”或“CLOSED”) - 退货: - 用修改后的字段更新博客对象

  1. get-blog-by-id

- 按ID获取特定博客及其所有详细信息 - 输入: - blogId (string,必填):要获取的博客GID - 退货: - 博客对象包含: - id:博客ID - title:博客标题 - handle:URL友好句柄 - templateSuffix:模板后缀 - commentPolicy:评论政策 - articles:最近的文章(前5篇)

物品管理

  1. get-articles

- 从特定博客获取文章 - 输入: - blogId (string,必填):从中获取文章的博客GID - searchTitle (可选字符串):按标题筛选文章 - limit (可选数字,默认值:10):要返回的最大文章数 - 退货: - 包含以下内容的文章数组: - id:文章ID - title:文章标题 - handle:URL友好句柄 - author:作者信息 - publishedAt:出版日期 - tags:关联标签 - image:特色图片(如有)

  1. create-article

- 在指定博客中创建新文章 - 输入: - blogId (string,必填):用于创建文章的博客GID - title (string,必填):文章的标题 - content (string,必填):HTML格式的文章内容 - author (对象,必填): - name (string,必填):文章作者的姓名 - published (可选布尔值):是否立即发布(默认值:false) - tags (可选字符串数组):对文章进行分类的标签 - 退货: - 创建的文章对象包含: - id:文章ID - title:文章标题 - handle:URL友好句柄(由标题自动生成) - body:文章内容 - summary:文章摘要(如有提供) - author:作者信息 - tags:关联标签 - image:特色图片详情(如有提供) - 示例用法:

     // Create a published article with formatted content
     {
       "blogId": "gid://shopify/Blog/123456789",
       "title": "My New Article",
       "content": "
Article content with HTML formatting.
",
       "author": {
         "name": "John Doe"
       },
       "published": true,
       "tags": ["news", "updates"]
     }

     // Create a draft article with future publication
     {
       "blogId": "gid://shopify/Blog/123456789",
       "title": "Upcoming Article",
       "content": "
Draft content...
",
       "author": {
         "name": "Jane Smith"
       },
       "published": false,
       "tags": ["draft"]
     }
  1. update-article

- 更新现有文章的详细信息 - 输入: - articleId (string,必填):要更新的文章的GID - title (可选字符串):新文章标题 - body (可选字符串):新文章内容 - summary (可选字符串):新文章摘要 - tags (可选字符串数组):新文章标签 - author (可选对象):作者信息 - name (string):作者姓名 - 退货: - 使用修改后的字段更新文章对象

  1. get-article-by-id

- 按ID获取特定文章及其所有详细信息 - 输入: - articleId (string,必填):要获取的文章的GID - 退货: - 文章对象包含: - id:文章ID - title:文章标题 - handle:URL友好句柄 - author:作者信息 - body:文章内容 - blog:家长博客信息 - tags:关联标签

博客和文章管理的重要注意事项

  1. 处理博客内容

- 始终使用 get-blogs 首先获取有效的博客ID - 使用 get-blog-by-id 获取特定博客的详细信息 - 更新博客时,只包括要修改的字段 - 这 commentPolicy 只能设置为“MODERATED”或“CLOSED”

  1. 使用文章

- 文章必须与现有博客相关联 - 使用 get-articles 列出特定博客中的文章 - 在创建或更新文章时 body 字段支持HTML内容 - 作者信息应始终至少包括姓名 - 标签区分大小写,应在文章中保持一致 - 图像URL必须可公开访问 - 句柄创建是可选的-如果没有提供,Shopify将根据标题生成一个句柄

  1. 文章创建的最佳实践

- 对文章内容使用语义HTML(例如。, , , 等等) - 保持文章摘要简洁(建议:150-160个字符) - 使用一致的标签命名约定 - 在创建文章之前,始终验证博客ID - 在撰写标题和内容时考虑SEO的影响 - 首先在暂存环境中测试HTML格式 - 对于草稿,设置 published: false 保存而不发布 - 使用标签时,保持一致的分类 - 为任何图像提供描述性alt文本 - 使用publishDate策略性地安排文章 - 保持HTML内容干净且结构良好 - 使用有意义的句柄以获得更好的SEO - 格式化内容时考虑移动可读性

  1. 文章创建技巧

- HTML内容:内容字段接受HTML标记以实现丰富的格式:

     
First paragraph with bold text.

     
Section Heading

     

       
List item one

       
List item two

     

- 标签:使用描述性、一致的标签以更好地组织:

     "tags": ["product-updates", "how-to", "tips"]

- 草稿模式:通过将published设置为false来创建未发布的草稿:

     {
       "published": false,
       // other fields...
     }

- 作者信息:始终提供完整的作者详细信息:

     "author": {
       "name": "Full Author Name"
     }

店铺搜索

  1. search-shopify

- 跨产品、文章、博客和页面执行统一搜索 - 输入: - query (string,必填):在商店中查找内容的搜索查询 - types (可选字符串数组):要搜索的资源类型。可用类型: - “文章” - “博客” - “页面” - “产品” - first (可选数字,默认值:10,最大值:50):要返回的结果数 - 退货: - 搜索结果数组,每个结果包含: - id:资源ID - title:资源标题 - type:资源类型 - url:资源URL - 基于资源类型的其他字段 - 示例用法:

     // Search for articles and blogs about "kawaii"
     {
       "query": "kawaii",
       "types": ["ARTICLE", "BLOG"],
       "first": 5
     }

     // Search across all content types
     {
       "query": "new collection",
       "first": 10
     }

页面管理

  1. get-pages

- 获取所有页面或按标题搜索 - 输入: - searchTitle (可选字符串):按标题筛选页面 - limit (可选数字,默认值:10):返回的最大页数 - 退货: - 包含以下内容的页面数组: - id:页面ID - title:页面标题 - handle:URL友好句柄 - body:页面内容 - bodySummary:内容摘要 - createdAt:创建时间戳 - updatedAt:上次更新时间戳

  1. update-page

- 更新现有页面的详细信息 - 输入: - pageId (string,必填):要更新的页面的GID(例如,“gid://shopify/Page/1234567890") - title (可选字符串):新页面标题 - body (可选字符串):新页面内容 - bodyHtml (可选字符串):新建HTML内容 - seo (可选对象):SEO设置 - title (可选字符串):SEO标题 - description (可选字符串):SEO描述 - published (可选布尔值):页面是否已发布 - 退货: - 更新了带有修改字段的页面对象 - 示例用法:

     // Update page content and SEO
     {
       "pageId": "gid://shopify/Page/123456789",
       "title": "About Our Store",
       "bodyHtml": "
Welcome!

Learn about our story...
",
       "seo": {
         "title": "About Us - Kawaii Store",
         "description": "Discover our journey in bringing kawaii culture to you"
       }
     }

收集管理

  1. get-collections

- 获取所有收藏或按标题搜索 - 输入: - searchTitle (可选字符串):按标题筛选集合 - limit (可选数字,默认值:10):要返回的最大集合数 - 退货: - 包含以下内容的集合数组: - id:集合ID - title:收藏标题 - handle:URL友好句柄 - description:收藏说明 - descriptionHtml:HTML格式的描述 - updatedAt:上次更新时间戳 - productsCount:收藏中的产品数量

  1. update-collection

- 更新现有收藏的详细信息 - 输入: - collectionId (string,必填):要更新的集合的GID - title (可选字符串):新收藏标题 - description (可选字符串):新集合描述 - descriptionHtml (可选字符串):新建HTML描述 - seo (可选对象):SEO设置 - title (可选字符串):SEO标题 - description (可选字符串):SEO描述 - 退货: - 已更新具有修改字段的集合对象 - 示例用法:

     // Update collection with SEO optimization
     {
       "collectionId": "gid://shopify/Collection/123456789",
       "title": "Summer Kawaii Collection",
       "descriptionHtml": "
Discover our cutest summer items!
",
       "seo": {
         "title": "Summer Kawaii Collection 2025",
         "description": "Explore our adorable summer collection featuring..."
       }
     }

产品管理

  1. get-products

- 获取所有产品或按标题搜索 - 输入: - searchTitle (可选字符串):按标题筛选产品 - limit (可选数量,默认值:10):可退回的最大产品数量 - 退货: - 一系列产品包含: - id:产品ID - title:产品名称 - handle:URL友好句柄 - description:产品描述 - descriptionHtml:HTML格式的描述 - status:产品状态 - totalInventory:总库存盘点 - priceRange:产品价格范围 - images:产品图片

  1. get-product-by-id

- 获取特定产品的详细信息 - 输入: - productId (string,必填):要获取的产品的GID - 退货: - 产品对象包含: - id:产品ID - title:产品名称 - handle:URL友好句柄 - description:产品描述 - descriptionHtml:HTML格式的描述 - status:产品状态 - totalInventory:总库存盘点 - variants:产品变体 - images:产品图片 - collections:相关收藏

  1. update-product

- 更新产品的详细信息 - 输入: - productId (string,必填):要更新的产品的GID - title (可选字符串):新产品标题 - descriptionHtml (可选字符串):新建HTML描述 - 退货: - 更新的产品对象包含: - id:产品ID - title:更新标题 - descriptionHtml:更新的描述 - updatedAt:更新时间戳

内容管理的最佳实践

  1. 搜索引擎优化

- 使用描述性标题和句柄 - 为所有内容提供元描述 - 自然地包含相关关键字 - 保持URL干净且有意义 - 在HTML内容中使用适当的标题层次结构

  1. 内容组织

- 集合中的集团相关产品 - 使用一致的命名约定 - 保持清晰的内容层次结构 - 保持产品描述详细准确 - 使用具有描述性alt文本的高质量图像

  1. 性能注意事项

- 优化图像大小 - 使用适当的查询限制 - 缓存频繁访问的内容 - 尽可能批量更新 - 监控API使用情况

  1. 内容管理提示

- 定期内容审核 - 在所有内容中保持一致的品牌 - 移动友好格式 - 定期备份重要内容 - 重大变更的版本控制

错误处理

所有工具都包括全面的错误处理:

  • ID错误无效
  • 权限错误
  • 速率限制错误
  • 验证错误
  • 网络错误

错误响应包括:

  • 错误代码
  • 导致错误的字段
  • 详细错误消息
  • 解决建议

API限制

  1. 速率限制

- 遵守Shopify的API价格限制 - 使用适当的查询限制 - 对失败的请求实施重试逻辑 - 监控API使用情况

  1. 内容限制

- 最大内容长度 - 支持的HTML标签 - 图像大小限制 - API版本兼容性

  1. 认证

- 所需访问范围 - 令牌过期 - IP限制 - 应用程序权限

目录标签

目录标签

知识管理TypeScriptClaudeShopify集成本地部署电商管理GraphQLAPI内容管理SEO优化

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

shopify-mcp

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP