Frisco.pl MCP server — browse, add to cart, manage recipes via AI
Frisco MCP has 15 tools with consistent verb-noun naming (get_, search_, add_, remove_, etc.) and all tools have descriptions. However, schema quality is uneven: 7 tools lack input schemas entirely (login, finish_session, clear_session, view_cart, clear_cart, check_cart_issues, view_promotions), capping their schema scores at 0. Tools with schemas (get_logs, tail_logs, add_items_to_cart, search_products, get_product_info, remove_item_from_cart, get_product_reviews, update_item_quantity) use Zod validation with type and description pairs, meeting baseline standards. Descriptions average ~120 chars and are action-oriented but lack dependency hints or recovery guidance. No output schemas are documented. Error handling is basic (try/catch with message logging) but does not guide LLM recovery or categorize errors as retryable vs. fatal.
Adds products to cart by selecting from the most recent search_products result page. No additional search is performed.
Checks the cart for sold-out or unavailable products and lists available substitutes for each.
Empties the Frisco cart using the site's clear-cart button and confirmation dialog. Run view_cart if you need to verify.
Clears the saved session and closes the browser.
Opens the browser at the checkout page so you can select a delivery time and pay.
Returns persisted JSONL log events for the current or selected session.
7 of 15 tools have no input schema (login, finish_session, clear_session, view_cart, clear_cart, check_cart_issues, view_promotions). This violates pattern:constrained-input and pattern:tool-description, LLMs cannot infer parameter constraints or discover optional inputs.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., product_id for add_items_to_cart). Violates pattern:tool and mxe:include-chaining-ids.
Error handling is generic (try/catch with message logging). No error categorization (retryable vs. fatal), no recovery guidance, no invalid-value echoing. Violates pattern:recovery-guide and pattern:error-classification.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Gets detailed info for a product: nutritional values (macros per 100g), weight/grammage, ingredients, and price.
Gets customer reviews and ratings for a product from Trustmate.
Opens a visible Chromium browser to log in to Frisco manually. Run this first to establish a session.
Removes a specific product from the Frisco cart by name (partial match supported).
Searches frisco.pl for products, returns top matches with prices, and saves the search URL/context for add_items_to_cart.
Returns the most recent events from persisted session logs.
Changes the quantity of a product already in the cart (partial name match supported).
Returns the current contents and total of the Frisco cart.
Shows active promotions, discounts, and total savings in the current cart.
Destructive tools (clear_cart, clear_session, remove_item_from_cart) lack confirmation or dry-run support. No idempotentHint or destructiveHint annotations. Violates pattern:confirmation-request and tool annotations spec.
Descriptions lack dependency hints and prerequisites. E.g., add_items_to_cart says 'No additional search is performed' but does not explain that search_products must be called first. Violates pattern:tool-description guidance on dependency hints.