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