SoundCreation Catalog
52,000 musical instruments: prices, deals, bundles, open-box, alternatives, accessories, guides.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"catalog": {
"url": "https://www.soundcreation.ro/api/agent/mcp.php"
}
}
}遠端端點
https://www.soundcreation.ro/api/agent/mcp.phpstreamable-http它能做什麼
工具清單
工具(7)
🟢search_products(query, language, category_id, category, brand, ...)
Search the SoundCreation catalog by free text (brand, model, category, or keywords), by filters, or both. With a query you get relevance-ranked results; with filters only you get a sorted browse ("cheapest in-stock electric guitar under 2000"). All prices include VAT and are locale-correct.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text search query. Optional if you supply at least one filter."
},
"language": {
"type": "string",
"enum": [
"ro",
"hu",
"de",
"en"
],
"description": "Locale for text + pricing (ro=RON, hu=HUF, de/en=EUR). Default ro."
},
"category_id": {
"type": "integer",
"description": "Restrict to one category id. Ids come back on every result."
},
"category": {
"type": "string",
"description": "Restrict by category name, partial match (use when you do not know the id)."
},
"brand": {
"type": "string",
"description": "Restrict by brand name, partial match."
},
"min_price": {
"type": "number",
"description": "Lowest acceptable price, in the response currency for the chosen language."
},
"max_price": {
"type": "number",
"description": "Highest acceptable price, in the response currency for the chosen language."
},
"in_stock": {
"type": "boolean",
"description": "true = only items physically in stock and shippable now."
},
"on_promo": {
"type": "boolean",
"description": "true = only items currently discounted (price_old is the pre-discount price)."
},
"condition": {
"type": "string",
"enum": [
"new",
"open_box",
"bundle"
],
"description": "new (default) = normal catalog items. open_box = individually priced used/opened units; each result is one physical unit. bundle = pre-priced sets of several products sold together for less."
},
"sort": {
"type": "string",
"enum": [
"relevance",
"price_asc",
"price_desc",
"discount",
"newest"
],
"description": "Default: relevance with a query, cheapest-first without one."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max results (default 20)."
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"description": "Skip this many results, for paging through a filtered list."
}
},
"required": []
}🟢list_promotions(language, category_id, category, brand, min_price, ...)
List what is discounted at SoundCreation right now, biggest reduction first. Each result carries price (current) and price_old (before the discount). Use this rather than searching product by product when the customer asks what is on offer.
輸入結構描述
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"ro",
"hu",
"de",
"en"
],
"description": "Locale for text + pricing (ro=RON, hu=HUF, de/en=EUR). Default ro."
},
"category_id": {
"type": "integer",
"description": "Restrict to one category id."
},
"category": {
"type": "string",
"description": "Restrict by category name, partial match."
},
"brand": {
"type": "string",
"description": "Restrict by brand name, partial match."
},
"min_price": {
"type": "number",
"description": "Lowest acceptable price, response currency."
},
"max_price": {
"type": "number",
"description": "Highest acceptable price, response currency."
},
"in_stock": {
"type": "boolean",
"description": "true = only items in stock now."
},
"sort": {
"type": "string",
"enum": [
"discount",
"price_asc",
"price_desc",
"newest"
],
"description": "Default discount (biggest reduction first)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max results (default 20)."
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500
}
},
"required": []
}🟢list_open_box(language, query, category_id, category, brand, ...)
List open-box / ex-display units (Romanian: "resigilat") — returned or opened stock sold cheaper, one entry per physical unit, each with its own price, condition note and product page. Quantities are small and often one-of-a-kind, so treat availability as immediate-only. These units are NOT part of the normal catalog listings.
輸入結構描述
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"ro",
"hu",
"de",
"en"
],
"description": "Locale for text + pricing (ro=RON, hu=HUF, de/en=EUR). Default ro."
},
"query": {
"type": "string",
"description": "Optional text match on product or brand name."
},
"category_id": {
"type": "integer",
"description": "Restrict to one category id."
},
"category": {
"type": "string",
"description": "Restrict by category name, partial match."
},
"brand": {
"type": "string",
"description": "Restrict by brand name, partial match."
},
"max_price": {
"type": "number",
"description": "Highest acceptable price, response currency."
},
"sort": {
"type": "string",
"enum": [
"discount",
"price_asc",
"price_desc",
"newest"
],
"description": "Default discount (biggest reduction first)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max results (default 20)."
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500
}
},
"required": []
}🟢list_bundles(language, query, brand, min_price, max_price, ...)
List bundles — pre-priced sets of products sold together for less than buying the parts separately (an instrument plus the accessories normally needed with it). Each result gives the set price, what the parts would cost separately, the saving, and exactly what is included. Good for "what do I need to get started" questions, where recommending one set beats listing five separate products.
輸入結構描述
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"ro",
"hu",
"de",
"en"
],
"description": "Locale for text + pricing (ro=RON, hu=HUF, de/en=EUR). Default ro."
},
"query": {
"type": "string",
"description": "Optional text match on the set or brand name."
},
"brand": {
"type": "string",
"description": "Restrict by brand name, partial match."
},
"min_price": {
"type": "number",
"description": "Lowest acceptable price, response currency."
},
"max_price": {
"type": "number",
"description": "Highest acceptable price, response currency."
},
"in_stock": {
"type": "boolean",
"description": "true = only sets where every included item is in stock."
},
"sort": {
"type": "string",
"enum": [
"discount",
"price_asc",
"price_desc",
"newest"
],
"description": "Default discount (biggest saving first)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max results (default 20)."
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500
}
},
"required": []
}🟢get_product(product_id, language)
Get full details for one product by id, including description, specs, stock and VAT-included localized price. When the product is NOT in stock the record carries substitutes[]: up to 5 in-stock products of the same kind in the same price band (the same alternatives the product page shows), each as a brief record with its own product_id, price and product_url - offer them instead of searching. Every record also carries companions[]: up to 8 in-stock accessories used together with this product, one per role (role is a short label such as stand, cable, strings, case; other = no specific role) - the list our add-to-cart box shows, chosen from what customers buy together and checked with AI - each as a brief record with its own product_id, price and product_url; when the customer asks what else they need or decides to buy, offer these first (empty = we have no accessory list). Products with a stored buying guide also carry buying_guide: who the product suits (audience.levels are fixed English tokens: beginner, intermediate, professional, child, teacher, gift), typical use cases, plain-language explanations of terms, questions and answers (the last one, when present, lists the accessories of companions[]), and - while the product is in stock - a spec-based comparison with up to 3 in-stock alternatives (each with its own product_id, price and product_url). The guide is Romanian for language=ro and English otherwise; it was written with AI from our product data and a sourced fact sheet.
輸入結構描述
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"description": "Catalog product id."
},
"language": {
"type": "string",
"enum": [
"ro",
"hu",
"de",
"en"
],
"description": "Locale for text + pricing. Default ro."
}
},
"required": [
"product_id"
]
}🟢compare_products(product_ids, with_alternatives, language)
Compare 2 to 4 products side by side - price, stock, specs, who each one suits - together with the stored spec-based comparisons between them, or pass ONE product_id with with_alternatives=true to put it next to the in-stock alternatives its buying guide compares it with. Good for "X or Y?", "what is the difference between..." and "is there something similar but..." questions. Records carry specs and short_description (get_product has the full description and the accessories). comparisons[] is written from the point of view of product_id against the alternative; two products with no stored comparison between them have none - compare their specs directly. Buying-guide text is Romanian for language=ro and English otherwise.
輸入結構描述
{
"type": "object",
"properties": {
"product_ids": {
"type": "array",
"items": {
"type": "integer"
},
"minItems": 1,
"maxItems": 4,
"description": "Catalog product ids: 2 to 4, or exactly 1 together with with_alternatives=true."
},
"with_alternatives": {
"type": "boolean",
"description": "With exactly one product id: add the in-stock alternatives its buying guide compares it with (up to 3). Default false."
},
"language": {
"type": "string",
"enum": [
"ro",
"hu",
"de",
"en"
],
"description": "Locale for text + pricing (ro=RON, hu=HUF, de/en=EUR). Default ro."
}
},
"required": [
"product_ids"
]
}🟡create_checkout(items, buyer, shipping_address, expected_total)
Create an order and get a Stripe payment link the customer opens to pay. Requires authentication (send a valid X-Api-Key header). Shipping to RO, HU or DE only. Prices include VAT and match get_product for the same destination.
輸入結構描述
{
"type": "object",
"properties": {
"items": {
"type": "array",
"description": "Products to buy.",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "integer"
},
"quantity": {
"type": "integer",
"minimum": 1
}
},
"required": [
"product_id"
]
}
},
"buyer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
}
},
"required": [
"name",
"email"
]
},
"shipping_address": {
"type": "object",
"properties": {
"country": {
"type": "string",
"enum": [
"RO",
"HU",
"DE"
]
},
"street": {
"type": "string"
},
"city": {
"type": "string"
},
"postcode": {
"type": "string"
},
"county": {
"type": "string"
}
},
"required": [
"country",
"street",
"city"
]
},
"expected_total": {
"type": "number",
"description": "Optional. If set, the call is rejected when the live total moved more than 2%."
}
},
"required": [
"items",
"buyer",
"shipping_address"
]
}建議的提示詞
search_productssearch_productsget_productget_productlist_promotions社群
證據