Tools
Complete reference of all available MCP Connector tools
The Wonderflow MCP Connector exposes 11 tools that your AI assistant can call. They are grouped into four categories: Discovery, Analytics, Products & Reviews, and Catalog Management. 🛠️
All tools accept an optional agent_ctx parameter that carries your session context (scope, user, filters). This is managed automatically by the MCP server — you don’t need to provide it manually.
🔍 Discovery tools
These tools help you explore what’s in your catalog — topics, metadata fields, data types, and configuration.
discover_topics
Find topics in your catalog using semantic search.
| Parameter | Type | Required | Description |
|---|---|---|---|
search_text | string | âś… | Semantic query to match against topics (e.g. "noise", "battery life") |
ontology_type | string | Filter by ontology type: "Component", "Discovery", "Topic", "Property", "Communication & Service" | |
limit | integer | Max topics to return (default: 10) |
Example prompt: “What topics related to battery life has my catalog discovered?”
discover_metadata
List available metadata fields or search for specific field values.
| Parameter | Type | Required | Description |
|---|---|---|---|
field_name | string | Metadata field to search values for. Omit to list all available fields | |
search_text | string | Semantic query to match against field values. Required when field_name is set | |
limit | integer | Max values to return (default: 10) |
Example prompt: “What metadata fields are available in my catalog?”
get_available_datatypes
List all data types available in the current catalog. Takes no user-facing parameters.
Example prompt: “What data types does my catalog support?”
get_catalog_configuration
Return current catalog configuration — channels, categories, and divisions.
| Parameter | Type | Required | Description |
|---|---|---|---|
include | string[] | Sections to return: "channels", "categories", "divisions". When omitted, returns only divisions |
Example prompt: “Show me all the channels and categories in my catalog”
📊 Analytics tools
These tools compute KPIs and metrics from your catalog data. Each supports breakdowns, filters, sorting, and time-series trends.
get_feedback_analytics_llm
The most powerful analytics tool — compute feedback KPIs across multiple dimensions.
| Parameter | Type | Required | Description |
|---|---|---|---|
kpi | enum | âś… | KPI to compute (see table below) |
brand_name | string | Filter by brand | |
product_name | string | Filter by product name (partial match) | |
product_category | string | Filter by category | |
product_division | string | Filter by division | |
product_type | string | Filter by type | |
custom_group | string | User-defined product group name | |
product_ids | string[] | Product IDs from find_products | |
breakdown_1 | enum/string | Primary grouping dimension | |
breakdown_2 | enum/string | Secondary grouping dimension (must differ from breakdown_1) | |
trend | object | Time-series config: frequency (weekly/monthly/quarterly/yearly), count_type (instant/cumulative), optional trendTopic | |
sort_by | enum | "value" or "label" | |
sort_order | enum | "ASC" or "DESC" | |
limit | integer | Max result rows | |
filters | object[] | Structured filters (see Filters section below) | |
ontology | enum | "Discovery", "Topic", "Property", "Component", "Communication & Service" (default: "Topic") |
Available KPIs
| KPI | Description |
|---|---|
feedback_count | Number of customer feedback (reviews) across dimensions |
feedback_rating | Average normalized rating |
pros_cons | Topics mentioned most frequently — strengths and weaknesses |
sentiment_index | Overall sentiment score from -1 (negative) to +1 (positive) |
tgw | Things Gone Wrong rate — average complaints per review |
nps | Net Promoter Score |
relevance | Topic importance as a percentage across sentiments |
Breakdown dimensions
channel, country, sku, brandName, name, productType, productDivision, productCategory, language, region, topic, or any metadata.* field.
Example prompt: “Show me the sentiment index for each brand, broken down by country”
get_prices_analytics_llm
Compute price analytics for specific products.
| Parameter | Type | Required | Description |
|---|---|---|---|
product_ids | string[] | âś… | Product IDs from find_products |
kpis | enum[] | âś… | KPIs to compute: "price", "price_trend" |
breakdown_1 | enum | Primary dimension: channel, country, region, sku, brandName, productName, productType, productDivision, productCategory | |
breakdown_2 | enum | Secondary dimension (must differ from breakdown_1) | |
trend | object | Time-series config: frequency + count_type | |
sort | object | Sort config: field + direction (ASC/DESC) | |
limit | integer | Max result rows | |
filters | object[] | Structured filters |
Example prompt: “What’s the price trend for Philips TVs across channels?”
get_votes_analytics_llm
Compute votes (ratings) analytics for specific products.
| Parameter | Type | Required | Description |
|---|---|---|---|
product_ids | string[] | âś… | Product IDs from find_products |
kpi | enum | âś… | KPI to compute: "votes_count" or "votes_rating" |
breakdown_1 | enum | Primary dimension: url, sku, brandName, name, productType, productDivision, productCategory, channel, country, region, star_rating | |
breakdown_2 | enum | Secondary dimension (must differ from breakdown_1) | |
trend | object | Time-series config: frequency + count_type | |
sort_by | enum | "value" or "label" | |
sort_order | enum | "ASC" or "DESC" | |
limit | integer | Max result rows | |
filters | object[] | Structured filters |
Example prompt: “How many votes did each brand get last quarter, broken down by star rating?”
📦 Products & Reviews
find_products
Search for products in the catalog matching filter criteria.
| Parameter | Type | Required | Description |
|---|---|---|---|
brand_name | string | Brand name (e.g. "Philips") | |
product_name | string | Product name or partial match (e.g. "Senseo Original"). Exclude brand | |
product_category | string | Product category (e.g. "Televisions") | |
product_division | string | Product division (e.g. "Coffee Machines") | |
product_type | string | Product sub-type (e.g. "Espresso") | |
custom_group | string | User-defined product group name | |
fields | string[] | Fields to include: "id", "brand_name", "name", "product_category", "product_division", "product_type". "id" always returned | |
count_only | boolean | Return only the count of matching products (default: false) | |
limit | integer | Max products to return (1–1000, default: 100) |
Example prompt: “Find all Philips coffee machines in the catalog”
search_reviews
Search customer reviews with semantic search and structured filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
product_ids | string[] | Product IDs from find_products | |
brand_name | string | Filter by brand | |
product_name | string | Filter by product name (partial match) | |
product_category | string | Filter by category | |
product_division | string | Filter by division | |
product_type | string | Filter by type | |
custom_group | string | User-defined product group name | |
search_text | string | Semantic search text | |
filters | object[] | Structured filters (name, operator, values) | |
sort_by | string | "date" (default) or "rating" | |
sort_order | string | "desc" (default) or "asc" | |
limit | integer | Results per page (1–50, default: 10) | |
cursor | string | Pagination cursor from previous response |
Example prompt: “Show me recent negative reviews mentioning noise for Samsung TVs”
🔄 Catalog Management
list_catalogs
List all catalogs available to the current user. Takes no user-facing parameters.
Example prompt: “What catalogs do I have access to?”
switch_catalog
Switch the active catalog for the current session. This is available to Wonderflow admin accounts. The catalog is identified by its scope ID, which is shown when you hover over the catalog in the Wonderboard. For the full picture, see Catalogs and scopes.
| Parameter | Type | Required | Description |
|---|---|---|---|
catalog_id | string | âś… | The ID of the catalog to switch to (as returned by list_catalogs) |
Example prompt: “Switch to the catalog with scope ID <scope-id>”
đź”§ Filters reference
The analytics tools (get_feedback_analytics_llm, get_prices_analytics_llm, get_votes_analytics_llm) and search_reviews support structured filters. Each filter is an object with:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | âś… | Dimension to filter on (e.g. "channel", "country", "topic", or "metadata.myField") |
operator | enum | âś… | "EQUAL", "NOT_EQUAL", "ABOVE", "BELOW", "BETWEEN", "IN", "NOT_IN" |
values | array | âś… | Filter values |
condition | enum | "AND" (default) or "OR" — how to combine with other filters |
Example: Filter reviews from Amazon in Italy: