电商产品交互服务

SAP Commerce MCP Server是一个与SAP Commerce Cloud的OCC API集成的服务,通过自然语言交互实现产品数据查询、购物车管理、促销信息获取等功能,适用于电商平台的智能客服和数据分析场景。

  • by Dunkansdk
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Dunkansdk/mcp-sap-commerce

使用说明

SAP商务MCP服务器

此模型上下文协议(MCP)服务器与SAP Commerce Cloud的OCC API集成,通过Claude实现与产品数据的自然语言交互。

特性

  • 产品搜索:使用自然语言查询搜索产品
  • 高级搜索:按类别、价格范围等筛选产品
  • 产品详情:获取特定产品的详细信息
  • 库存可供率:检查产品库存水平和可用性
  • 分类:按类别浏览和搜索产品
  • 促销:获取有关活动促销的信息
  • 评论:访问产品评论和评级
  • 产品建议:获取个性化的产品推荐
  • 购物车管理:全面的购物车操作支持
  • 健康监测:实时服务健康跟踪
  • 性能分析:历史绩效分析和见解

可用工具

  1. search-products:支持分页的基本产品搜索

    • 参数:
      • query:搜索查询字符串
      • currentPage:(可选)页码
      • pageSize:(可选)每页结果
  2. search-products-advanced:使用过滤器进行高级产品搜索

    • 参数:
      • query:(可选)搜索查询字符串
      • categoryCode:(可选)类别代码过滤器
      • minPrice:(可选)最低价格过滤器
      • maxPrice:(可选)最高价格过滤器
      • sort:(可选)排序顺序
      • currentPage:(可选)页码
      • pageSize:(可选)每页结果
  3. get-product-details:获取详细的产品信息

    • 参数:
      • productCode:产品代码/SKU
  4. check-product-availability:检查产品库存水平

    • 参数:
      • productCode:产品代码/SKU
      • location:(可选)仓库/商店位置代码
  5. get-categories:浏览产品类别

    • 参数:
      • categoryId:(可选)特定类别ID
  6. get-products-by-category:获取某个类别中的产品

    • 参数:
      • categoryId:类别ID
      • currentPage:(可选)页码
      • pageSize:(可选)每页结果
      • sort:(可选)排序顺序
  7. get-promotions:获取促销信息

    • 参数:
      • promotionId:(可选)特定促销ID
  8. get-product-reviews:获取产品评论

    • 参数:
      • productCode:产品代码/SKU
  9. get-product-suggestions:获取产品推荐

    • 参数:
      • productCode:参考产品代码/SKU
      • maxResults:(可选)建议的最大数量
  10. create-cart:创建新的购物车

    • 参数:无
  11. get-cart:获取购物车详细信息

    • 参数:
      • cartId:要检索的购物车ID
  12. add-to-cart:将产品添加到购物车

    • 参数:
      • cartId:购物车ID
      • productCode:产品代码/SKU
      • quantity:(可选)要添加的数量(默认值:1)
  13. update-cart-entry:更新购物车中的产品数量

    • 参数:
      • cartId:购物车ID
      • entryNumber:购物车中的条目编号
      • quantity:新数量
  14. remove-from-cart:从购物车中删除产品

    • 参数:
      • cartId:购物车ID
      • entryNumber:要删除的条目编号
  15. get-order-status:检查订单状态

    • 参数:
      • orderId:订单ID
  16. get-order-history:查看订单历史记录

    • 参数:
      • userId:用户ID
  17. check-service-health:获取当前服务运行状况

    • 参数:无
  18. analyze-performance:获取历史绩效见解

    • 参数:无

配置

可以使用环境变量配置服务器:

# SAP Commerce Cloud Configuration
SAP_COMMERCE_URL=https://your-commerce-url/occ/v2
SAP_COMMERCE_SITE=your-site-name
SAP_COMMERCE_TIMEOUT=10000
SAP_COMMERCE_VALIDATE_SSL=false

# OAuth2 Authentication (optional)
SAP_COMMERCE_CLIENT_ID=your-client-id
SAP_COMMERCE_CLIENT_SECRET=your-client-secret

# Logging Configuration
LOG_LEVEL=info # debug, info, warn, or error

设置

  1. 安装依赖项:

    npm install
    
  2. 构建项目:

    npm run build
    
  3. 启动服务器:

    npm start
    

Claude集成示例查询

  • “搜索与‘hacendado’相关的所有产品”
  • “查找500美元以下的电子产品”
  • “获取代码为'ABC123'的产品的详细信息”
  • “检查产品'XYZ789'的库存情况”
  • “显示‘电子产品’类别中的所有产品”
  • “目前有哪些促销活动?”
  • “显示产品'ABC123'的评论”
  • “推荐类似于‘ABC123’的产品”
  • “创建新购物车”
  • “将2件商品'ABC123'添加到我的购物车”
  • “将购物车中商品1的数量更新为3”
  • “从购物车中删除商品2”
  • “显示我的购物车详细信息”
  • “订单'ORD123456'的状态如何?”
  • “显示我的订单历史记录”
  • “检查服务的当前运行状况”
  • “分析过去12小时的绩效”
  • “向我展示性能见解”
  • “获取今天的缓存命中率”

发展

该项目包括通过以下方式集成VS代码 .vscode/mcp.json 便于调试和开发。确保使用您的SAP Commerce实例详细信息更新配置。

以开发模式运行

对于开发,您可以使用:

npm run dev

这将在监视模式下启动TypeScript,并在更改时重新编译。

性能监控

实时健康检查

该服务器包括实时健康监测,包括以下指标:

  • API延迟
  • 错误率
  • 缓存命中率
  • 服务状态(健康/降级/不健康)

历史分析

性能数据通过以下方式存储和分析:

  • 24小时历史趋势
  • P95延迟跟踪
  • 错误率模式
  • 缓存效率指标
  • 自动化性能洞察

日志记录

日志存储在 logs 自动旋转目录:

  • 错误日志: logs/error-YYYY-MM-DD.log
  • 组合日志: logs/combined-YYYY-MM-DD.log
  • 健康指标: logs/health-YYYY-MM-DD.log

日志每天自动轮换,保存30天。

错误处理

该服务器包括针对常见SAP Commerce API问题的全面错误处理:

  • 产品代码无效
  • 网络连接问题
  • 身份验证错误
  • API速率限制
  • 类别或促销ID无效
  • 价格范围验证
  • 排序参数验证
  • 购物车操作失败

认证

服务器支持OAuth2客户端凭据流,用于向SAP Commerce发送经过身份验证的请求。在环境变量中配置客户端ID和secret,以启用经过身份验证的请求。

许可证管理

  • 自动令牌刷新处理
  • 令牌过期的缓冲时间(5分钟)
  • 身份验证失败的巧妙回退

缓存

服务器通过以下方式实现智能缓存:

  • 产品数据的5分钟TTL
  • 自动缓存失效
  • 缓存命中率监控
  • 内存管理的删除策略

购物车会话管理

服务器为匿名用户维护购物车会话,具有以下功能:

  • 自动创建购物车
  • 持续跟踪购物车ID
  • 购物车入口管理
  • 购物车总计计算
  • 产品可用性验证

安全说明

  • 可以使用禁用SSL证书验证进行开发 SAP_COMMERCE_VALIDATE_SSL=false
  • 对于生产,确保配置了正确的SSL认证和身份验证
  • 将敏感凭据(客户端ID/机密)存储在环境变量中,而不是代码中
  • 建议对生产部署进行定期安全审计
  • 购物车ID应被视为敏感信息

性能优化

服务器包括几个性能优化功能:

  • 具有指数回退的自动请求重试
  • 对频繁访问的数据进行响应缓存
  • 请求批处理和限制
  • 性能监控和警报
  • 历史业绩分析
  • 自动性能洞察和建议