gradeNot graded
get_fit_profileAnswer
Return the current fit profile: gender, width, foot-length range, and fit statements.
View tool JSON
{
"name": "get_fit_profile",
"kind": "answer",
"impl": "imperative",
"description": "Return the current fit profile: gender, width, foot-length range, and fit statements.",
"inputSchema": {
"type": "object",
"properties": {}
}
}update_fit_profileAction
Update the fit profile. Any field may be set. `statements` replaces the whole list; use add_fit_statement to append one. Setting a field to null clears it.
View tool JSON
{
"name": "update_fit_profile",
"kind": "act",
"impl": "imperative",
"description": "Update the fit profile. Any field may be set. `statements` replaces the whole list; use add_fit_statement to append one. Setting a field to null clears it.",
"inputSchema": {
"type": "object",
"properties": {
"gender": {
"type": [
"string",
"null"
],
"enum": [
"men",
"women",
null
]
},
"width": {
"type": [
"string",
"null"
],
"enum": [
"narrow",
"standard",
"wide",
null
]
},
"statements": {
"type": "array",
"items": {
"type": "object",
"required": [
"brand",
"value"
],
"properties": {
"brand": {
"type": "string"
},
"gender": {
"type": "string",
"enum": [
"men",
"women"
]
},
"system": {
"type": "string",
"enum": [
"us",
"uk",
"eu"
]
},
"value": {
"type": "number"
}
}
}
}
}
}
}add_fit_statementAction
Append one 'this size fits me' statement, e.g. {brand:'Nike', value:9}. gender defaults to the profile's gender (or men); system defaults to us.
View tool JSON
{
"name": "add_fit_statement",
"kind": "act",
"impl": "imperative",
"description": "Append one 'this size fits me' statement, e.g. {brand:'Nike', value:9}. gender defaults to the profile's gender (or men); system defaults to us.",
"inputSchema": {
"type": "object",
"required": [
"brand",
"value"
],
"properties": {
"brand": {
"type": "string"
},
"value": {
"type": "number"
},
"gender": {
"type": "string",
"enum": [
"men",
"women"
]
},
"system": {
"type": "string",
"enum": [
"us",
"uk",
"eu"
]
}
}
}
}remove_fit_statementAction
Remove a fit statement by its id (from get_fit_profile).
View tool JSON
{
"name": "remove_fit_statement",
"kind": "act",
"impl": "imperative",
"description": "Remove a fit statement by its id (from get_fit_profile).",
"inputSchema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}
}reset_fit_profileAction
Clear the whole fit profile.
View tool JSON
{
"name": "reset_fit_profile",
"kind": "act",
"impl": "imperative",
"description": "Clear the whole fit profile.",
"inputSchema": {
"type": "object",
"properties": {}
}
}search_catalogAnswer
Search a store's catalog through the UCP layer (server-side). Returns products with their Size option labels. The browser never calls Shopify directly.
View tool JSON
{
"name": "search_catalog",
"kind": "answer",
"impl": "imperative",
"description": "Search a store's catalog through the UCP layer (server-side). Returns products with their Size option labels. The browser never calls Shopify directly.",
"inputSchema": {
"type": "object",
"required": [
"domain",
"query"
],
"properties": {
"domain": {
"type": "string",
"description": "store hostname, e.g. kith.com"
},
"query": {
"type": "string"
}
}
}
}find_shoeAnswer
Find a shoe across all the stores we know at once, when the person names a SHOE rather than a store ("find me the Air Force 1", "where can I get Sambas"). Fans out to every known store in parallel, merges the hits, tags each with its store, and puts fitting products first. Use search_catalog instead when the person names a specific store.
View tool JSON
{
"name": "find_shoe",
"kind": "answer",
"impl": "imperative",
"description": "Find a shoe across all the stores we know at once, when the person names a SHOE rather than a store (\"find me the Air Force 1\", \"where can I get Sambas\"). Fans out to every known store in parallel, merges the hits, tags each with its store, and puts fitting products first. Use search_catalog instead when the person names a specific store.",
"inputSchema": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string"
}
}
}
}check_fitAnswer
Check whether one product fits the current profile. Reads the full size matrix (available/exists), infers the numbering system from the run's shape, and resolves against the profile's foot length, rounding up. Gender comes from the profile, never the catalog.
View tool JSON
{
"name": "check_fit",
"kind": "answer",
"impl": "imperative",
"description": "Check whether one product fits the current profile. Reads the full size matrix (available/exists), infers the numbering system from the run's shape, and resolves against the profile's foot length, rounding up. Gender comes from the profile, never the catalog.",
"inputSchema": {
"type": "object",
"required": [
"domain",
"product_id"
],
"properties": {
"domain": {
"type": "string",
"description": "store hostname, e.g. kith.com (same as search_catalog)"
},
"product_id": {
"type": "string",
"description": "the `id` field of a search_catalog result"
}
}
}
}check_labelsAnswer
Same verdict as check_fit, but you pass the Size option's labels yourself — for when you're already on the product page and can read them. No store access: infers the numbering system from the run, resolves against the profile's foot length (rounding up), and takes gender from the profile. No stock data, so never returns out_of_stock.
View tool JSON
{
"name": "check_labels",
"kind": "answer",
"impl": "imperative",
"description": "Same verdict as check_fit, but you pass the Size option's labels yourself — for when you're already on the product page and can read them. No store access: infers the numbering system from the run, resolves against the profile's foot length (rounding up), and takes gender from the profile. No stock data, so never returns out_of_stock.",
"inputSchema": {
"type": "object",
"required": [
"brand",
"labels"
],
"properties": {
"brand": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "the Size option's values, e.g. [\"7\",\"8\",\"9\",\"10\"] or [\"41\",\"42\",\"43\"]"
},
"product_title": {
"type": "string",
"description": "optional — used only for a women's/men's gender signal"
}
}
}
}negotiate_storeAction
Run UCP discovery + capability negotiation for a store (server-side).
View tool JSON
{
"name": "negotiate_store",
"kind": "act",
"impl": "imperative",
"description": "Run UCP discovery + capability negotiation for a store (server-side).",
"inputSchema": {
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string"
}
}
}
}recommend_sizeAction
Given a brand, recommend the size to buy for the current foot-length estimate (rounds up). Needs a resolved foot-length range in the profile first.
View tool JSON
{
"name": "recommend_size",
"kind": "act",
"impl": "imperative",
"description": "Given a brand, recommend the size to buy for the current foot-length estimate (rounds up). Needs a resolved foot-length range in the profile first.",
"inputSchema": {
"type": "object",
"required": [
"brand"
],
"properties": {
"brand": {
"type": "string"
},
"gender": {
"type": "string",
"enum": [
"men",
"women"
]
}
}
}
}