Search Retailers (Market)
mdmcp-search_retailers
Find retailers to use in filter queries. Search by name, region, or description.
Use the returned retailers[].slug value when building retailer filters.
Try queries like
"Zara", "UK retailers", "fast fashion", "Amazon".
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. |
country_code | string | no | — | Optional country code to filter by region (e.g., "UK", "US", "ES"). EDITED codes are ISO 3166-1 alpha-2 with two exceptions: the United Kingdom is "UK" (not ISO "GB"; "GB" is accepted and mapped to "UK") and "EU" covers EU-wide retailers. Case-insensitive. |
Returns
- A RetailerSearchResult —
retailersplussearch_limit/ at_search_limit. A batch request returns one result per query, in the- same order as the 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_retailers",
"arguments": {
"query": "Nike",
"search_limit": 10,
"country_code": "UK"
}
}
}'
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_retailers",
arguments: {
"query": "Nike",
"search_limit": 10,
"country_code": "UK"
},
});
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_retailers",
{"query": "Nike", "search_limit": 10, "country_code": "UK"},
)
Example response
Parsed from result.content[0].text (the MCP envelope wraps the JSON as a TextContent block — see Concepts → Tools:
[
{
"name": "Zara",
"slug": "zara-uk",
"region": {
"id": 32,
"iso_code": "GB",
"name": "United Kingdom"
},
"is_deprecated": false,
"visible": true,
"tier": {
"id": 2,
"name": "Mass",
"slug": "mass"
}
},
{
"name": "Zara Home",
"slug": "zara-home-uk",
"region": {
"id": 32,
"iso_code": "GB",
"name": "United Kingdom"
},
"is_deprecated": false,
"visible": true,
"tier": {
"id": 2,
"name": "Mass",
"slug": "mass"
}
}
]
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"
},
"country_code": {
"type": "string"
}
},
"required": [
"query"
]
}