Search Product Categories (Market)
mdmcp-search_product_searches
Find product categories to use in filter queries. Search by category name or type.
Use the returned id value when building category/product search filters.
Try queries like
"dresses", "mens shoes", "accessories", "outerwear", "tops".
Parameters
| Name | Type | Required | Constraints | Description |
|---|---|---|---|---|
query | string | string[] | yes | — | Single query string or list of query strings for batch search. |
search_limit | integer | no | default: 10 · 1–50 | Maximum number of results to return (default 10, max 50). Raise it when validating or comparing many entities in one call so the list is not clipped at the default 10. |
vertical | string | no | — | Optional market vertical (apparel | beauty | homeware); resolves from config when omitted. Scopes results to that vertical's categories. |
Returns
- When query is a string: list[ProductSearch]
- When query is a list: list[list[ProductSearch]] with results in same order as queries.
Try it
Loading interactive widget…
Code examples
- curl
- TypeScript
- Python
curl -s https://mcp.edited.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-06-18" \
-H "x-api-key: $MCP_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "mdmcp-search_product_searches",
"arguments": {
"query": "Nike",
"search_limit": 10,
"vertical": "example"
}
}
}'
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const client = new Client({ name: "demo", version: "1.0.0" }, { capabilities: {} });
await client.connect(
new StreamableHTTPClientTransport(new URL("https://mcp.edited.com/mcp"), {
requestInit: { headers: { "x-api-key": process.env.MCP_API_KEY ?? "" } },
}),
);
const result = await client.callTool({
name: "mdmcp-search_product_searches",
arguments: {
"query": "Nike",
"search_limit": 10,
"vertical": "example"
},
});
import os
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
headers = {"x-api-key": os.environ["MCP_API_KEY"]}
async with streamablehttp_client("https://mcp.edited.com/mcp", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool(
"mdmcp-search_product_searches",
{"query": "Nike", "search_limit": 10, "vertical": "example"},
)
Example response
Parsed from result.content[0].text (the MCP envelope wraps the JSON as a TextContent block — see Concepts → Tools:
[
{
"id": 138,
"name": "Dresses",
"vertical": "apparel",
"type": "top_level_category",
"category": "dresses",
"parent_id": null,
"curation_value": "dresses"
},
{
"id": 2956,
"name": "Bodycon",
"vertical": "apparel",
"type": "subcategory",
"category": "dresses",
"parent_id": 138,
"curation_value": "sub_cat_bodycon_dress"
}
]
Input schema
{
"type": "object",
"properties": {
"query": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"maxItems": 10,
"type": "array"
}
]
},
"search_limit": {
"default": 10,
"description": "Maximum number of results to return (default 10, max 50). Raise it when validating or comparing many entities in one call so the list is not clipped at the default 10.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"vertical": {
"description": "Optional. The market vertical (top-level data segment) to search within: `apparel` | `beauty` | `homeware`. NOT a product category. Pass the same vertical you use on the analytics/options tools so discovered slugs/categories match the data you query. When omitted it resolves to the account's default vertical (reported as `default_vertical` by `market_data_entitlements`). Available verticals vary by account — only pass this when the user explicitly asks about a different vertical; otherwise omit it and let the account default apply. Requesting a vertical you're not entitled to returns an error; call `market_data_entitlements` to see yours.",
"enum": [
"apparel",
"beauty",
"homeware"
],
"type": "string"
}
},
"required": [
"query"
]
}