Skip to main content
Glama

search_catalog

Read-onlyIdempotent

Search Rakentaja Outlet product catalog.

Rakentaja Outlet (rakentajaoutlet.fi) is a Finnish online store specializing in electrical and construction supplies at outlet prices (~4000 products). All prices in EUR including 25.5% Finnish VAT.

Args: query: Free-text search — matches product name, SKU, EAN code, or category name. Leave empty to browse without a search term. category_id: Filter to products in a specific category (integer ID). The full list of categories is available at https://rakentajaoutlet.fi/api/categories — this is a public REST endpoint, not an MCP tool. Combines with query if both given. in_stock_only: If True (default), only show products currently in stock (either in own warehouse or at supplier). Set to False to include out-of-stock products in results. sort: Sort order — "name" (default), "price_asc", "price_desc", or "newest". Ignored when query is given; search results are ordered by relevance instead. limit: Maximum products to return (1-50, default 10). Use a small limit for interactive queries; larger for bulk listing. page: Page number for paginated results (default 1). Combine with limit to page through results larger than the limit.

Returns: JSON with keys: - products: list of product summaries with: - id, name, category, brand, sku, ean, unit - price_gross (incl. 25.5% VAT), price_net, currency - description (max 200 chars, description_truncated=true for longer) - available_for_order: boolean — can the customer place an order? (TRUE if in own stock OR supplier stock available) - availability_status: "in_stock" | "supplier_stock" | "out_of_stock" - estimated_delivery_min_days / _max_days: delivery estimate (or null) - in_stock, stock_quantity, supplier_in_stock, supplier_stock_quantity (raw fields — prefer available_for_order + availability_status) - product_url, image_url - total: total matching products across all pages - page: current page number - per_page: products per page (== limit) - total_pages: total pages available - disclaimer: legal notice that prices are indicative and confirmed at checkout

Notes: - Prices include Finnish 25.5% VAT (price_gross) and net price (price_net) is shown for VAT-registered business buyers. - product_url is a direct link to the product page — pass this to the user for viewing or adding to cart. - Use get_product_details(id) for full description and stock check.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (>= 1)
sortNoname
limitNoMax products to return (1-50)
queryNoFree-text search term
category_idNoCategory ID (see https://rakentajaoutlet.fi/api/categories for the list)
in_stock_onlyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYes
totalYesTotal matching products across all pages
per_pageYes
productsYes
disclaimerYes
total_pagesYes
suggested_queriesNoAlternative queries that would return results — populated when total=0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, idempotentHint), the description adds significant behavioral context: returns JSON structure, prices include 25.5% Finnish VAT, sorting is ignored when query is given, available_for_order combines multiple stock sources, and delivery estimate fields. It fully explains the tool's behavior without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Args, Returns, and Notes sections, and is front-loaded with purpose and context. It is relatively long but each sentence adds value. Slightly more conciseness could improve, but overall it is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, rich output, pagination, sorting rules, external category list), the description is remarkably complete. It covers all output fields, explains edge cases (sorting ignored when query given), references sibling tools, and includes legal disclaimers. No gaps observed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds substantial meaning beyond the schema: query is free-text matching name/SKU/EAN/category, category_id links to external public endpoint, in_stock_only default True explained, sort enum values fully described, and limit/page with defaults and pagination notes. Schema coverage is 67%, and the description compensates fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches the Rakentaja Outlet product catalog and distinguishes itself from siblings like get_product_details (for full details) and create_cart_link (for cart actions). It explicitly notes that product_url can be passed to the user for viewing or adding to cart, and mentions using get_product_details for full description, which differentiates the tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides extensive usage guidance: when to use (searching products), when to use alternatives (get_product_details for full details), pagination advice (small limit for interactive queries, larger for bulk), sorting behavior (ignored when query is given), and how to obtain category list from an external REST endpoint. It also notes that leaving query empty allows browsing without a search term.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: cart link generation, product details, catalog search, and policy/FAQ search. No overlap or ambiguity.

Naming Consistency5/5

All tools use a consistent verb_noun pattern in snake_case: create_cart_link, get_product_details, search_catalog, search_shop_policies_and_faqs.

Tool Count4/5

With 4 tools, the set is well-scoped for a store assistant. It covers core shopping flows without being bloated. A category listing tool could be a minor addition.

Completeness4/5

Covers product search, details, cart creation, and policies. Missing user account or order management, but these are reasonable omissions for the assistant role.

Resources