article
README
🚀 Shopify MCP 代理服务器和 Mock Server(ShopifyMCPMockShop)
本项目实现了一个模型上下文协议(MCP)服务器,它就像一座智能桥梁和代理,能连接到 Shopify 的 Storefront API。其独特之处在于支持 mock.shop,让开发者无需真实商店凭证,就能安全地进行开发和测试。该服务器采用标准输入输出(stdio)进行通信,可轻松与 Claude Desktop 和 Cursor 等客户端进行本地集成。
🚀 快速开始
本项目实现的 MCP 服务器,可作为智能桥接器和代理,连接到 Shopify 的 Storefront API。支持 mock.shop,便于在无真实商店凭证的情况下进行开发和测试。服务器使用标准输入输出(stdio)通信,适合与 Claude Desktop 和 Cursor 等客户端本地集成。
✨ 主要特性
核心特性
- MCP 服务器实现:作为 MCP 协议的代理和桥接器,支持与各种客户端和服务集成。
- Mock 支持:通过
mock.shop提供模拟环境,便于开发和测试。 - stdio 通信:使用标准输入输出进行通信,确保兼容性和易用性。
功能模块
- Storefront API 集成:支持与 Shopify 的 Storefront API 进行交互。
- Mock 环境配置:提供模拟数据和环境设置,便于开发人员测试和验证功能。
- 扩展插件架构:允许用户添加自定义插件和扩展,增强服务器的功能。
📦 安装指南
安装步骤
- 克隆项目仓库:
git clone https://github.com/yourusername/shopify-mcp-mock-server.git - 安装依赖项:
npm install - 启动服务器:
npm start
💻 使用示例
基础用法
// 创建商店信息请求
const response = await fetch('http://localhost:3000', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
toolName: 'getShopInfo'
})
});
高级用法
// 配置 Mock 环境
// 在项目根目录创建 mock-config.js 文件
module.exports = {
shopUrl: 'mock-shop.shop',
apiKey: 'your-mock-api-key',
collections: [
{ id: 1, name: 'Mock Collection' },
// 其他模拟数据...
]
};
📚 详细文档
相关工具
核心工具
getShopInfo:获取商店的基本信息(名称、描述、货币)。findProducts:搜索/过滤产品,支持分页和排序。getProductById:根据 ID 获取特定产品。cartCreate:创建新的购物车。
扩展工具
adminGetCustomerById:通过 Admin API 根据 ID 获取客户信息(计划中)。adminCreateProduct:通过 Admin API 创建新产品(计划中)。
测试与验证
快速测试
- 启动服务器:
npm start - 发送请求到
http://localhost:3000,例如使用 Postman 或 curl:curl -X POST http://localhost:3000 \ -H "Content-Type: application/json" \ -d '{"toolName": "getShopInfo"}'
验证结果
服务器应返回 JSON 格式的响应,包含工具名称和相关数据。例如:
{
"toolName": "getShopInfo",
"shopName": "Mock Shop",
"description": "A mock shop for development purposes.",
"currencyCode": "USD"
}
扩展与计划
计划中的功能
- Admin API 支持:实现对 Shopify Admin API 的支持,包括客户管理和产品创建。
- 插件系统:开发一个可扩展的插件架构,允许用户添加自定义逻辑和功能。
- 高级模拟:提供更复杂的模拟场景,如动态数据生成和错误处理。
未来更新
- 支持更多 Shopify API 功能。
- 提供图形化界面进行服务器配置和管理。
- 增强安全性和性能优化。
🔧 技术细节
通用 AI 开发者工具和现成的 MCP 服务器往往承诺众多功能,但在开发环境中,可能存在缺乏透明度、安全机制(如显式的 ToolAnnotations)、稳定性或特定功能等问题。本项目旨在解决这些问题,为用户提供可靠且易用的解决方案。
📄 许可证
文档未提及相关内容,暂不展示。
🤝 贡献与支持
如何贡献
- 叉仓库:
git clone https://github.com/yourusername/shopify-mcp-mock-server.git cd shopify-mcp-mock-server - 创建功能分支:
git checkout -b feature/new-feature - 提交更改并创建拉取请求。
获取支持
- 邮件:support@shopify.com
- GitHub Issues:Issues 链接
扫码联系在线客服