diff --git a/mcp_servers/product_mcp/server.py b/mcp_servers/product_mcp/server.py index a07a763..d36a6ad 100644 --- a/mcp_servers/product_mcp/server.py +++ b/mcp_servers/product_mcp/server.py @@ -37,68 +37,6 @@ from shared.hyperf_client import HyperfClient hyperf = HyperfClient(settings.hyperf_api_url, settings.hyperf_api_token) -@mcp.tool() -async def search_products( - query: str, - category: Optional[str] = None, - brand: Optional[str] = None, - price_min: Optional[float] = None, - price_max: Optional[float] = None, - sort: str = "relevance", - page: int = 1, - page_size: int = 20 -) -> dict: - """Search products - - Args: - query: Search keywords - category: Category filter - brand: Brand filter - price_min: Minimum price filter - price_max: Maximum price filter - sort: Sort order (relevance, price_asc, price_desc, sales, latest) - page: Page number (default: 1) - page_size: Items per page (default: 20) - - Returns: - List of matching products - """ - payload = { - "query": query, - "sort": sort, - "page": page, - "page_size": page_size, - "filters": {} - } - - if category: - payload["filters"]["category"] = category - if brand: - payload["filters"]["brand"] = brand - if price_min is not None or price_max is not None: - payload["filters"]["price_range"] = {} - if price_min is not None: - payload["filters"]["price_range"]["min"] = price_min - if price_max is not None: - payload["filters"]["price_range"]["max"] = price_max - - try: - result = await hyperf.post("/products/search", json=payload) - - return { - "success": True, - "products": result.get("products", []), - "total": result.get("total", 0), - "pagination": result.get("pagination", {}) - } - except Exception as e: - return { - "success": False, - "error": str(e), - "products": [] - } - - @mcp.tool() async def get_product_detail( product_id: str