电商AI数据库交互服务

一个模型上下文协议(MCP)服务器,使AI聊天界面能够与电商MySQL数据库进行交互。

  • by astudnev
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 astudnev/mcp-example

使用说明

电子商务MCP服务器

一种模型上下文协议(MCP)服务器,使AI聊天界面能够与电子商务MySQL数据库进行交互。

特性

产品工具

  • 搜索产品 -带过滤器的全文搜索(类别、价格、评级、畅销书)
  • get_product_details -获取特定产品的详细信息
  • 按类别浏览产品 -浏览具有排序选项的产品
  • 列表_类别 -列出所有有产品数量的类别
  • get_best_seller -获得最畅销的产品

推荐工具

  • get_product_recommendations -基于产品的类似产品推荐
  • get_personalized_表彰 -基于客户历史的个性化建议
  • get_deas_and_discours -查找有折扣的产品

客户工具

  • get_customer_by_email -通过电子邮件查找客户
  • 创建_客户 -创建新客户帐户
  • get_customer_order_history -查看客户的订单历史记录

订购工具

  • 创建订单 -下新订单
  • 获取订单详情 -获取订单信息
  • update_order_status -更新订单状态
  • 取消订单 -取消待处理订单

分析工具

  • get_sales_summary -一段时间内的销售指标
  • 获取_渲染_产品 -近期热门产品

设置

1.安装依赖项

pip install -r requirements.txt

2.配置数据库

设置数据库连接的环境变量:

export DB_HOST=localhost
export DB_PORT=3306
export DB_USER=root
export DB_PASSWORD=your_password
export DB_NAME=my_store

3.初始化数据库

运行架构SQL以创建数据库:

mysql -u root -p < doc/schema.sql

4.配置MCP客户端

添加到您的Claude Code MCP设置中(~/.claude/claude_code_config.json):

{
  "mcpServers": {
    "ecommerce": {
      "command": "python",
      "args": ["/path/to/ecommerce_mcp_server.py"],
      "env": {
        "DB_HOST": "localhost",
        "DB_PORT": "3306",
        "DB_USER": "root",
        "DB_PASSWORD": "your_password",
        "DB_NAME": "my_store"
      }
    }
  }
}

或者选择Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "ecommerce": {
      "command": "python",
      "args": ["/path/to/ecommerce_mcp_server.py"],
      "env": {
        "DB_HOST": "localhost",
        "DB_PORT": "3306",
        "DB_USER": "root",
        "DB_PASSWORD": "your_password",
        "DB_NAME": "my_store"
      }
    }
  }
}

用法示例

配置后,您可以通过自然语言与商店交互:

搜索产品:

“给我找100美元以下至少4星级的无线耳机”

获取建议:

“根据产品ID 42,您会推荐哪些产品?”

创建订单:

“为客户5创建订单,购买2个产品123”

检查订单状态:

“789号订单的状态如何?”

查看分析:

“显示过去30天的销售摘要”

工具参考

搜索产品

Arguments:
  query: str              - Search terms
  category: str?          - Category filter
  min_price: float?       - Minimum price
  max_price: float?       - Maximum price
  min_stars: float?       - Minimum rating
  best_seller_only: bool  - Only best sellers (default: false)
  limit: int              - Max results (default: 10, max: 50)

创建订单

Arguments:
  customer_id: int        - Customer ID
  product_id: int         - Product ID
  quantity: int           - Quantity (default: 1)
  shipping_address: str?  - Address (uses customer address if not provided)
  payment_method: str     - Payment method (default: credit_card)

update_order_status

Arguments:
  order_id: int           - Order ID
  new_status: str         - One of: pending, processing, shipped, delivered, cancelled