SoundCreation Catalog

52,000 musical instruments: prices, deals, bundles, open-box, alternatives, accessories, guides.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
92%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,450Tokens (tool definitions)
~2.6 KBTypical response size
Moderate attention impact (1.91% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "catalog": {
      "url": "https://www.soundcreation.ro/api/agent/mcp.php"
    }
  }
}

Remote endpoints

https://www.soundcreation.ro/api/agent/mcp.phpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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.

Input Schema

{
  "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"
  ]
}

Recommended Prompts

search_research
Search for information about [topic] using SoundCreation Catalog
Expected tools: search_products
find_specific
Find [specific item] using SoundCreation Catalog
Expected tools: search_products
retrieve_data
Get details about [item] from SoundCreation Catalog
Expected tools: get_product
fetch_info
Fetch [information type] using SoundCreation Catalog
Expected tools: get_product
list_items
List all [items] available in SoundCreation Catalog
Expected tools: list_promotions

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded6 tools