0
点赞
收藏
分享

微信扫一扫

开发日常记录MCP Server分享:Shopify Dev

佳简诚锄 06-02 12:00 阅读 6

本项目实现了一个与 Shopify Dev 交互的模型上下文协议(MCP)服务器,支持通过多种工具对接不同的 Shopify API。目前支持以下 API:

• Admin GraphQL API

• Functions API(可选)

• Polaris Web Components(北极星 Web 组件)

可用工具

工具名称

功能描述

search_dev_docs

搜索shopify.dev 官方文档

introspect_admin_schema

访问并搜索 Shopify Admin GraphQL 模式(Schema)

fetch_docs_by_path

根据路径从 shopify.dev 检索文档(如特定 API 指南或教程)

get_started

获取 Shopify API(如 Admin API、Functions API 等)的快速入门指引

可用提示词(Prompts)

提示词名称

功能描述

shopify_admin_graphql

辅助编写适用于 Shopify Admin API 的 GraphQL 操作(如查询、变更等)

核心功能场景

1. 文档检索与开发支持

◦ 通过search_dev_docs和fetch_docs_by_path快速定位官方文档,获取 API 参考、开发指南和最佳实践。

◦ 示例:检索 “Shopify Functions API 身份验证” 相关文档,或直接获取 /api/2023-10/functions路径下的内容。

1. GraphQL 模式探索

◦ 使用introspect_admin_schema工具查询 Admin GraphQL API 的完整模式,包括对象类型、字段、枚举值等,辅助构建复杂查询。

◦ 场景:调试 GraphQL 查询时,动态获取 Product、Order等对象的字段定义,避免硬编码错误。

1. 快速入门引导

◦ get_started工具提供新手引导,涵盖 API 密钥创建、权限配置、第一个请求示例等,降低入门门槛。

1. GraphQL 操作辅助

◦ 通过shopify_admin_graphql提示词,结合自然语言描述生成可执行的 GraphQL 代码片段,例如:

# 提示词:查询店铺当前在线产品数量及库存状态  

query GetProductInventory {  

  products(first: 10) {  

    edges {  

      node {  

        title  

        variants(first: 1) {  

          edges {  

            node {  

              sku  

              inventoryQuantity  

            }  

          }  

        }  

      }  

    }  

  }  

}  

集成与使用建议

1. 开发流程

◦ 通过 MCP 客户端调用工具,例如使用 fetch_docs_by_path获取特定文档路径的内容:

{  

  "name": "fetch_docs_by_path",  

  "arguments": {  

    "path": "/apps/functions/building"  // 获取 Functions API 开发指南  

  }  

}  

◦ 结合提示词生成 GraphQL 操作,减少手动编写代码的复杂度。

1. 权限与认证

◦ 使用 Shopify 开发者账号获取 API 密钥,并通过 MCP 协议传递认证信息(具体认证方式需参考服务器配置文档)。

1. 适用场景

◦ 适用于 Shopify 应用开发者、技术团队快速构建集成 Shopify 功能的应用,尤其适合需要频繁查阅文档、调试 GraphQL 查询的场景。

优势与价值

• 效率提升:通过工具化和自然语言提示,减少文档检索和代码编写时间。

• 准确性保障:直接对接官方 API 模式和文档,避免过时信息导致的开发错误。

• 低门槛接入:无需深入记忆 API 细节,通过交互式工具引导完成开发任务。

快速安全集成

推荐使用新器集 smcphub.com 的MCP客户端。主要有以下几个优点,同时也是解决了如今MCP的几个痛点:

  1. 不同的MCP Server认证方式多样
  2. 编程语言多样化,有时候找到了想要的MCP Server,却无法集成到应用中
  3. 还有老生常谈的问题,多个MCP Server的可维护性不好,降低开发效率
  4. 没有调用日志,无法知晓MCP Server到底做了什么,甚至报错了也不知道原因
  5. 各个MCP Server的实现方式不一,有的通过命令行参数启动,有的通过环境变量,有的直接输出所有结果,有的通过SSE方式
  6. 就算集成了,也无法知晓用户的调用日志,也就没办法做后续的数据统计分析
  7. 还有如果客户端集成MCP Server会增加应用程序打包尺寸,特别是手机应用客户端的大小
举报

相关推荐

0 条评论