Clawpify Shopify MCP 服务器实现
使用说明
- 项目简介
- 该仓库实现了一个基于 Model Context Protocol (MCP) 的后端服务器,用于在 AI 客户端与 Shopify GraphQL Admin API 之间提供统一的资源、工具与模板管理能力。核心功能包括:暴露可用工具(Shopify GraphQL 查询)、列出可用资源(技能文档)、读取资源内容,以及通过 MCP JSON-RPC 与客户端进行交互。
- 主要功能点
- 工具注册与执行:定义名为 shopify_graphql 的工具,允许通过 GraphQL 直接查询 Shopify 数据(产品、订单、客户、库存等)。
- 资源管理:列出并读取技能文档资源(位于 skills/clawpify 目录下的 .md 文件),供客户端查询帮助与示例。
- MCP 服务器实现:基于 Model Context Protocol 的服务端实现,使用 Stdio 传输方式,提供 ListTools、CallTool、ListResources、ReadResource 等请求的处理逻辑。
- Shopify 认证与客户端封装:通过 createAuthenticatedConfig 获取 Shopify 访问令牌(支持直接 token 或 OAuth 客户端凭据),并封装 ShopifyGraphQL 请求。
- 安全与会话管理:在工具调用过程中处理错误,返回结构化的响应,便于客户端解析。
- 安装步骤
- 安装和运行 MCP 服务器(本仓库提供的实现以 Bun + MCP SDK 为核心):
- 确保开发环境具备 Bun。
- 按照仓库 README 的指引,配置环境变量,例如 SHOPIFY_STORE_URL、SHOPIFY_CLIENT_ID/SECRET 或 SHOPIFY_ACCESS_TOKEN。
- 使用 MCP 客户端配置连接到该 MCP 服务器(参照下一项的示例配置)。
- 启动服务器(通过实现行为的入口脚本,通常是通过相应的 npm/npx 命令来启动该服务器进程,具体依赖客户端配置)。
- 服务器配置(给 MCP 客户端的连接信息,JSON 格式,包含 server name、command、args 等)
- 服务器名称(serverName): shopify
- 启动命令(command): npx
- 参数(args): ["clawpify"] 示例配置(供 MCP 客户端读取并建立连接的描述性文本): { "serverName": "shopify", "command": "npx", "args": ["clawpify"] } 说明:该配置对应仓库示例中的做法,MCP 客户端通过该配置启动服务器进程并通过标准输入/输出建立通信通道。
- 基本使用方法
- 启动后,客户端可以通过 MCP 的 JSON-RPC 方式请求:
- 获取可用工具:Shopify GraphQL 查询工具列表
- 调用工具:提交 GraphQL 查询及可选变量
- 获取文档资源:列出并读取技能文档
- 实际使用时,请确保 Shopify 的访问凭据已通过环境变量或配置被服务器端正确加载,以便 Shopfiy GraphQL 请求能够成功执行。
- 常见错误包括认证失败、GraphQL 查询语法错误、资源读取失败等,服务器会返回对应错误信息,便于排查。