UNPKG

@tomaspavlin/rohlik-mcp

Version:

MCP server for controlling Rohlik.cz grocery shopping website

44 lines 1.89 kB
import { z } from "zod"; export function createSearchProductsTool(createRohlikAPI) { return { name: "search_products", definition: { title: "Search Products", description: "Search for products on Rohlik.cz by name", inputSchema: { product_name: z.string().min(1, "Product name cannot be empty").describe("The name or search term for the product"), limit: z.number().min(1).max(50).default(10).describe("Maximum number of products to return (1-50, default: 10)"), favourite_only: z.boolean().default(false).describe("Whether to return only favourite products (default: false)") } }, handler: async (args) => { const { product_name, limit = 10, favourite_only = false } = args; try { const api = createRohlikAPI(); const results = await api.searchProducts(product_name, limit, favourite_only); const output = `Found ${results.length} products:\n\n` + results.map(product => `• ${product.name} (${product.brand})\n Price: ${product.price}\n Amount: ${product.amount}\n ID: ${product.id}`).join('\n\n'); return { content: [ { type: "text", text: output } ] }; } catch (error) { return { content: [ { type: "text", text: error instanceof Error ? error.message : String(error) } ], isError: true }; } } }; } //# sourceMappingURL=search-products.js.map