DTMFRAME
Server Details
Japan music-production prices: plugins, DAWs, audio gear. Shop comparison, sales and end dates.
- Status
- Healthy
- Uptime
- 99.9% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct part of the buying-guide workflow (search, current offers, deals, compare editions, resolve constraints), but compare_products and resolve_purchase_request both perform bounded price/computation over editions and could be confused for recommendation-like tasks. get_current_offers and list_deals also both surface pricing, though one is product-specific and the other campaign-specific.
All tool names use consistent snake_case with a clear verb_noun pattern: compare_products, get_current_offers, list_deals, resolve_purchase_request, search_products. The convention is predictable and readable.
Five tools is well within the ideal range and each covers a necessary stage of the buying-guide workflow without redundancy. The server is scoped to read-only discovery, pricing, deals, comparison, and recommendation.
The surface covers search, offer lookup, deal listing, edition comparison, and constraint-based purchase resolution, which are the core operations for a buying guide. Minor gaps exist, such as no dedicated tool to list categories or brands directly, but these can be discovered or filtered through search_products.
Available Tools
5 toolscompare_productsCompare editionsARead-onlyIdempotentInspect
Computation only: per-edition differences (license, billing_period for a subscription or rent-to-own edition, formats, OS, capabilities, cheapest known cost over the offers this channel may disclose, budget fit) for 2 to 10 edition ids under the same channel policy as resolve_purchase_request. Each row has canonical_page and site_entry_page. canonical_page is the product page on this site; it carries the complete price table (including listings withheld on this channel), the merchant purchase links and the affiliate disclosure. site_entry_page is the same page with the entry marker for this channel. cheapest_cost is taken from the default confirmed-route class first, as in resolve_purchase_request; an edition with a cheaper confirmed listing outside that class is named in assumptions (key cheapest_cost_default_route_first, value the edition id, note_ja with the amount). An edition with no price in the requested currency keeps cheapest_cost in the original currency, with budget_fit unknown and the assumption key cheapest_cost_foreign_currency (value the edition id); cheapest_cost may carry converted (a yen estimate: amount_minor, display such as 約¥7,800, rate_source ecb_eurofxref, rate_reference_date, rate_basis direct or cross_via_eur, and basis_note, a fixed English sentence saying that this site computed the estimate from the European Central Bank's reference rates of that date and that it is not a price) that is not used for ordering, budget fit, cheapest cost or lowest_observed. Each row's price_checked_at is the check time of that price. Stale offers (past fresh_until) are not used for cheapest_cost. A general edition is priced from general rows only; a named restricted edition (upgrade, crossgrade, update, EDU or NFR) is priced from its own rows, with customer_segment on cheapest_cost, eligibility_status conditional and the assumption restricted_edition_price once per segment. A row whose edition the site has measured itself also carries measurements in full: environment (host machine, OS, DAW and version, audio interface, sample rate, buffer size, tools), product_version, settings, measured_at, comparison conditions, procedure, results ({ value, decimals } per named field), runs and result_statistic, failure cases, material rights and disclosure. They are not a sound-quality rating and not part of differing_fields; numbers compare only between editions listed in compared_edition_ids. Bounded compute class (shared with POST /api/v1/compare). Links are user_navigation handoffs (handoff_mode=user_navigation) and are not intended for prefetching or automatic clicking.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | summary | |
| locale | No | ja-JP | |
| region | No | JP | |
| constraints | No | ||
| edition_ids | Yes | ||
| schema_version | Yes | ||
| ownership_claims | No | ||
| user_supplied_prices | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial behavior beyond them: stale-offer exclusion (past fresh_until), default-confirmed-route-first pricing, foreign-currency fallback with assumptions, restricted-edition pricing rules, bounded compute class, and that links are user_navigation handoffs not for prefetching. This is unusually rich disclosure of non-obvious semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one massive run-on block of tightly packed clauses with no headings, bullets, or front-loading of the key usage decision. Nearly every clause carries real information, but the structure makes it hard to scan and the output-field detail crowds out the input guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully documents return fields (canonical_page, site_entry_page, cheapest_cost with its currency-conversion sub-fields, assumptions, per-edition measurements). It is strong on output semantics, though it remains thin on the input parameters an agent must supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters with nested objects, so the description carries the full burden, but it explains almost none of the inputs: detail (summary/full), locale, region, ownership_claims, and user_supplied_prices are never described. It hints at constraints concepts (budget fit, license, formats, OS) and echoes the 2-10 edition bound, but leaves the remaining parameters undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a concrete verb and resource ('Computation only: per-edition differences ... for 2 to 10 edition ids') and enumerates the differing fields (license, billing_period, formats, OS, capabilities, cost). It distinguishes itself from siblings by tying its channel policy to resolve_purchase_request, though the dense jargon costs some immediate clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: it assumes the caller already knows the channel policy 'as resolve_purchase_request' and never states when to pick this over get_current_offers, list_deals, or search_products. There is no explicit when/when-not framing, so the agent must infer the comparison use case from the purpose text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_offersGet current offersRead-onlyIdempotentInspect
Returns the current merchant offers of one product (product_id, product slug or edition_id; region JP by default): price in integer minor units with currency_exponent plus price_display (the same amount formatted, e.g. ¥29,700, or 無料 for a price of zero), tax and shipping status, seller class, presentation_state (active, ending_soon, stale, scheduled, unverified), price_certainty, checked_at, fresh_until and expires_at. Prices are observations with a verification state, not guarantees. An offer past fresh_until has presentation_state stale: its price is the last checked price (see checked_at) and it is not a basis for a lowest price, budget fit, cheapest cost or list_deals prices_from; expired offers are not returned. An offer priced in another currency may carry converted (a yen estimate: amount_minor, display such as 約¥7,800, rate_source ecb_eurofxref, rate_reference_date, rate_basis direct or cross_via_eur, and basis_note, a fixed English sentence saying that this site computed the estimate from the European Central Bank's reference rates of that date and that it is not a price) that is not used for ordering, budget fit, cheapest cost or lowest_observed. field_availability.offers is not_recorded when no offer of the product has been recorded. customer_segment is general, or existing_owner, education or nfr for a row the store names as an upgrade, crossgrade, update, EDU or NFR edition (maker and distributor names are not read). Rows that are not general stay in this list with their segment and are not used for a product's default price, lowest price, list_deals prices_from or largest_discount_percent; lowest_observed has no element for editions named upgrade, crossgrade, update, EDU or NFR. A price or listing that a source keeps off this channel is marked withheld_by_channel_policy (offers_coverage=partial) and is not estimated; Rakuten Ichiba listings, for example, appear only on the web page. Each offer's permitted_handoff_links contains canonical_page and site_entry_page, and merchant_plain only where the source permits link distribution on this channel. An optional lowest_observed[] gives, per edition with price history, the window minimum (window_min_amount_minor, window_min_observed_at, observed_since, missing_days, merchant_count, basis_ja) and names the current offer when it is the lowest price seen so far (current_is_lowest_so_far, label_tier high / probable, label_ja, rule_id). current_is_lowest_so_far is true, false or null; null comes with lowest_so_far_undetermined_reason (no_current_price, current_offer_not_on_this_channel, no_price_drop_observed or not_comparable), and false means the current price is above the window minimum. window_min_display is the window minimum formatted. The window minimum is the lowest of our own observations and recorded external references, stated with its basis; it is not a vendor list price or a regular price. An offer of a subscription or rent-to-own edition carries billing_period (month or year): its price is the charge for one period, and it has no reference_price or discount_rate_bps; field_availability.billing_period is unknown when the period is not verified. Such editions have no lowest_observed element. A bundle product with a complete member list carries bundle_cards[]: per shop and currency, the bundle price, each included single product with its verified price at the same shop (amount_minor null with excluded_reason when there is none; never estimated), break_even_count (bundle price divided by the median single price, two decimals, rounded half up), discount_vs_singles_bps (the bundle price against the sum of the priced single prices in basis points, floored; negative when the bundle costs more than the singles; computed over members_priced of members_total), the formula with its inputs, snapshot_id and computed_at. An optional price_record[] gives, per edition and currency, the lowest price observed in the stated window and the last observed price drop at a shop, with the days since each; it records observations and is not a forecast. canonical_page is the product page on this site; it carries the complete price table (including listings withheld on this channel), the merchant purchase links and the affiliate disclosure. site_entry_page is the same page with the entry marker for this channel. Read-only; no purchase execution. Links are user_navigation handoffs (handoff_mode=user_navigation) and are not intended for prefetching or automatic clicking.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | JP | |
| condition | No | ||
| product_id | Yes |
list_dealsList sales and campaignsARead-onlyIdempotentInspect
Lists the sales and campaigns recorded by a Japanese music-production buying guide (region JP), running ones first: title, kind, source (manufacturer store, merchant listings or manufacturer announcement), state, recorded start and end with deadline_status, checked_at / fresh_until, brands, categories, a sample of target products, prices_from (the lowest current price per currency among the general-segment offers this channel may disclose, stale offers excluded, with a display string; a sale with only restricted rows has prices_from [] and field_availability.prices_from unknown), and the largest discount against the merchant's own reference price among the general-segment offers this channel may disclose (per-period prices of subscription or rent-to-own editions count in neither). has_free_item is true when a disclosable offer of the sale is free (a 100% discount or a price of 0); a giveaway known only from an announcement has kind giveaway and no linked offers, so its has_free_item is false. Filters: brand slug, category slug, kind, source, state (running by default), limit, cursor. No merchant links are returned; offers of one product are returned by get_current_offers. canonical_page is the campaign page on this site; it carries every offer, the complete price table (including listings withheld on this channel), the merchant purchase links and the affiliate disclosure. site_entry_page is the same page with the entry marker for this channel. Read-only. Links are user_navigation handoffs (handoff_mode=user_navigation) and are not intended for prefetching or automatic clicking.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Campaign kind. | |
| brand | No | Brand slug as on /brands/{slug}/ (the manufacturer_id from search_products is accepted too). | |
| limit | No | ||
| state | No | running (default) = active, ending_soon or stale; ending_soon; scheduled; all = every state including ended campaigns. | running |
| cursor | No | Opaque next_cursor of the previous page (bound to one published snapshot). | |
| source | No | official = manufacturer store, merchant = reseller or marketplace listings, announcement = manufacturer announcement without listings. | |
| category | No | Category slug as on /categories/{slug}/, e.g. audio-interface (the search_products spelling audio_interface is accepted too). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, not destructive, closed world), and the description layers on substantial extra behavior: no merchant links are returned, prices_from excludes stale offers and reflects only general-segment rows, has_free_item semantics, and the user_navigation handoff rule with an explicit prefetch prohibition. This is context an agent could not derive from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the body is a single sprawling sentence that piles return fields, filter caveats, and handoff rules together. The filter enumeration largely duplicates the schema, so not every clause earns its place, though the information density is high.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden and discharges it: it enumerates returned fields (title, kind, source, state, dates, deadline_status, prices_from, discount, brands, categories, sample products), explains prices_from/has_free_item edge cases, and clarifies canonical_page vs site_entry_page. Nothing an agent needs to interpret results or call correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents each parameter; the description only restates the filter names and the 'running by default' behavior that the schema spells out. It adds no slug format, enum nuance, or cursor semantics beyond what is structured, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Lists the sales and campaigns recorded by a Japanese music-production buying guide'), gives the ordering ('running ones first'), and explicitly distinguishes itself from get_current_offers, which returns offers for one product. An agent can identify the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the sibling alternative (get_current_offers) and the condition that selects it, and lists the filter surface (brand, category, kind, source, state, limit, cursor). It stops short of stating when-not to use this tool or how campaign browsing differs from the other siblings, so it is clear context rather than a complete routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_purchase_requestResolve a purchase requestRead-onlyIdempotentInspect
Computation only: conditional product / setup / add-on candidates from typed constraints (category, brand, formats, OS, license, budget), optional free text and user-claimed ownership, bound to one published snapshot. Each candidate has fit reasons, a cost breakdown over the offers this channel may disclose, budget fit, acquisition steps, canonical_page and site_entry_page. For a product candidate, canonical_page is the product page on this site; it carries the complete price table (including listings withheld on this channel), the merchant purchase links and the affiliate disclosure. site_entry_page is the same page with the entry marker for this channel. For a setup candidate canonical_page is the /find/ page. No purchase, no persistence, no notification. For a subscription or rent-to-own edition, cost_breakdown.payable_now is the first charge, recurring_cost one later charge (estimated) and recurring_period its period (month or year); with budget_scope=total_including_recurring_12m the total counts 12 monthly or 1 yearly charge, otherwise budget_fit is judged on the first payment. Where a product has one-off and recurring editions, the default scope prices the one-off edition and the 12-month scope the edition with the smallest 12-month total (assumptions key edition_choice). A price is taken from the default confirmed-route class first (a maker store or a confirmed authorized dealer selling new; for hardware also domestic distribution); when a cheaper confirmed listing of the same edition lies outside that class, the candidate's mismatches state it with its amount. search_complete=false with optimality_scope=best_found marks an answer cut at a limit, a free-text term that looks like a product name (Latin letters, digits or katakana) but matches no registered alias (unresolved_constraints no_alias_match), or no candidates (no_candidates). Free-text aliases match whole words only. With a budget, candidates are ordered by budget_fit first (confirmed, estimated_within, estimated_over, over, unknown) before the answer is cut to max_candidates; when in-budget candidates are still cut, limits_hit contains budget_fit_candidates_truncated. An edition with no price in the requested currency keeps its price in the original currency in cost_breakdown and acquisition_steps[].cost, with budget_fit unknown and the reason in the candidate's mismatches; such an amount may carry converted (a yen estimate: amount_minor, display such as 約¥7,800, rate_source ecb_eurofxref, rate_reference_date, rate_basis direct or cross_via_eur, and basis_note, a fixed English sentence saying that this site computed the estimate from the European Central Bank's reference rates of that date and that it is not a price) that is not used for ordering, budget fit, cheapest cost or lowest_observed. A product's default price uses general rows of unrestricted editions only. When a restricted edition (upgrade, crossgrade, update, EDU or NFR) is named, by constraints.target_edition_id or a free-text alias, or when all of a product's editions are restricted, the answer prices that edition and marks it: customer_segment on cost_breakdown.payable_now and total and on the step cost, reason_codes restricted_edition_price:, eligibility_status conditional, a sentence in the candidate's mismatches, and the assumption restricted_edition_price (value the segment, basis user_provided, parsed_from_query or default). A product candidate carries product_name, and price_checked_at is the check time of the price used. Stale offers (past fresh_until) are not used for costs or budget fit. Bounded compute class (10 per minute, shared with POST /api/v1/resolve). Links are user_navigation handoffs (handoff_mode=user_navigation) and are not intended for prefetching or automatic clicking.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| query | No | ||
| detail | No | summary | |
| locale | No | ja-JP | |
| region | No | JP | |
| constraints | No | ||
| max_candidates | No | ||
| owned_editions | No | ||
| schema_version | Yes | ||
| ownership_claims | No | ||
| user_supplied_prices | No |
search_productsSearch productsRead-onlyIdempotentInspect
Searches the product catalog of a Japanese music-production buying guide by typed, non-personal vocabulary: category, brand (slug or id), product_id, alias (an exact product name or registered alias, matched after normalization), plugin format, OS and license, or by a free-text product name (q). Returns products with ids, editions, brand, category, product type tokens (roles, e.g. eq, compressor, reverb, synth; absent when unknown), catalog status and checked_at; an unresolved alias returns 0 products with unresolved_constraints=[alias_unresolved]. Current offers of a product are returned by get_current_offers. Optional q (up to 200 characters) is a product name as typed: any spelling, katakana, hiragana or romaji; shopping words such as セール, 最安, sale or upgrade are ignored. A maker name at the start or end is set aside and the rest is matched against that maker's products only (Sennheiser e 935 matches e935 exactly); a model of another maker or an unlisted model gives 0 products. It is matched like the site's own search (exact, prefix, substring, several words, then similar spellings that begin like the query, carry the same numbers and, for several words, cover the last word); a product type or category word (reverb, リバーブ, コンプ, ヘッドフォン) answers with up to 20 products of that type. Typed filters narrow q before the cut to 20. At most 20 products, in match order; matched_alias is the registered spelling that matched and match_kind how (exact, prefix, substring, tokens, fuzzy, role, category); with a maker name, fuzzy only covers a typing error in a listed product name (a word with digits, such as a model number, has to match exactly), and without one it can be a sibling model. No match: 0 products with unresolved_constraints=[q_unresolved]. More than 20 matches: limits_hit=[result_limit] and search_complete=false, and next_cursor pages only within the 20. alias takes precedence over q; a q cursor is valid only for the same q and filters. q is used only to compute the answer; the text itself is not stored or logged. A product the site has measured itself also carries measurements (newest first) in summary form: evidence_id, edition_id, product_version, measured_at, results as named fields each with { value, decimals } (the decimals it was read with, e.g. export_duration_seconds, latency_compensation_samples, integrated_loudness_lufs, true_peak_dbtp), runs, result_statistic and disclosure (provided, loaned or self_purchased). The full record (environment, settings, comparison conditions, procedure, failure cases) is returned by compare_products. They are not a sound-quality rating; the key is absent when there is no measurement. A call with no filter (no q, alias, category, brand, product_id, format, os or license) and no cursor also carries, at the top level, measurements: the site's synthetic demonstrations (record_kind synthetic_demonstration), signal-processing facts shown with signals the site generated, concerning no product, in full: subject_ja, results ({ value, decimals }, e.g. null_residual_peak_dbfs, thd_percent, aliasing_max_dbfs, rt60_seconds), and how to run them again (script_ref path and commit, signal_seed, libraries, artifacts with sha256). canonical_page is the product page on this site; it carries the complete price table (including listings withheld on this channel), the merchant purchase links and the affiliate disclosure. site_entry_page is the same page with the entry marker for this channel. Read-only. Links are user_navigation handoffs (handoff_mode=user_navigation) and are not intended for prefetching or automatic clicking.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | A product name as typed (1 to 200 characters), optionally with its maker: any spelling, katakana, hiragana or romaji. A maker name at the start or end (its name, slug, alias or katakana reading, also in the form e935 by Sennheiser or with a possessive) is set aside and the rest is matched against that maker's products only; a model of another maker, or one the catalogue does not list, matches nothing. Shopping words (セール, 最安, sale, upgrade, full version and similar) and a trailing product-type phrase (dynamic microphone and similar, whatever the product's type) are set aside, unless that would leave only a maker name or a type word, and a query of shopping words only matches nothing. Matched like the site's own search: exact, prefix (which can return a longer name of the same series, such as UR44C for UR44), substring, every word of several words, then similar spellings that begin like the query, carry the same numbers and, for several words, cover the last word; with a maker name, a similar spelling only covers a typing error in a listed product name: the same numbers, and a word that differs by one letter (two when both words have eight or more letters); a word with digits, such as a model number, or a three-letter word has to match exactly. A product type or category word (reverb, リバーブ, コンプ, ヘッドフォン), alone or after a maker name, and a maker name with a type phrase (studio headphones, dynamic EQ), answer with up to 20 products of that type; descriptive words such as dynamic or condenser are not checked against the data. It travels only in a request body, never in a URL, and is used only to compute the answer; the text itself is not stored or logged. | |
| os | No | ||
| alias | No | ||
| brand | No | ||
| limit | No | ||
| cursor | No | ||
| format | No | ||
| license | No | ||
| category | No | ||
| product_id | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
resolve_purchase_request1 field changed- changed
Input schema / properties / constraints / properties / category / enumPrevious value: -[ - "daw", - "instrument_plugin", - "effect_plugin", - "mastering_limiter_plugin", - "mastering_suite", - "restoration", - "sample_library", - "ai_separation", - "ai_restoration", - "ai_composition", - "ai_voice", - "audio_interface", - "mixer", - "preamp_outboard", - "microphone", - "headphones", - "studio_monitor", - "guitar", - "bass", - "keyboard", - "synthesizer", - "electronic_instrument", - "pedal", - "multi_effect", - "amp_simulator", - "dj_controller", - "dj_player", - "dj_mixer", - "midi_controller", - "accessory", - "computer", - "computer_peripheral" -]New value: +[ + "daw", + "instrument_plugin", + "effect_plugin", + "mastering_limiter_plugin", + "mastering_suite", + "restoration", + "sample_library", + "ai_separation", + "ai_restoration", + "ai_composition", + "ai_voice", + "vocal_synth", + "audio_interface", + "mixer", + "preamp_outboard", + "microphone", + "headphones", + "studio_monitor", + "guitar", + "bass", + "keyboard", + "synthesizer", + "electronic_instrument", + "pedal", + "multi_effect", + "amp_simulator", + "dj_controller", + "dj_player", + "dj_mixer", + "midi_controller", + "accessory", + "computer", + "computer_peripheral" +]
- Changed
search_products1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "daw", - "instrument_plugin", - "effect_plugin", - "mastering_limiter_plugin", - "mastering_suite", - "restoration", - "sample_library", - "ai_separation", - "ai_restoration", - "ai_composition", - "ai_voice", - "audio_interface", - "mixer", - "preamp_outboard", - "microphone", - "headphones", - "studio_monitor", - "guitar", - "bass", - "keyboard", - "synthesizer", - "electronic_instrument", - "pedal", - "multi_effect", - "amp_simulator", - "dj_controller", - "dj_player", - "dj_mixer", - "midi_controller", - "accessory", - "computer", - "computer_peripheral" -]New value: +[ + "daw", + "instrument_plugin", + "effect_plugin", + "mastering_limiter_plugin", + "mastering_suite", + "restoration", + "sample_library", + "ai_separation", + "ai_restoration", + "ai_composition", + "ai_voice", + "vocal_synth", + "audio_interface", + "mixer", + "preamp_outboard", + "microphone", + "headphones", + "studio_monitor", + "guitar", + "bass", + "keyboard", + "synthesizer", + "electronic_instrument", + "pedal", + "multi_effect", + "amp_simulator", + "dj_controller", + "dj_player", + "dj_mixer", + "midi_controller", + "accessory", + "computer", + "computer_peripheral" +]
1 tool update
- Changed
search_products1 field changed- changed
Input schema / properties / q / descriptionPrevious value: -"A product name as typed (1 to 200 characters): any spelling, katakana, hiragana or romaji. Shopping words (セール, 最安, sale, upgrade, full version and similar) are ignored, and a query of shopping words only matches nothing. Matched like the site's own search: exact, prefix, substring, every word of several words, then similar spellings that begin like the query, carry the same numbers and, for several words, cover the last word. A product type or category word (reverb, リバーブ, コンプ, ヘッドフォン) answers with up to 20 products of that type. It travels only in a request body, never in a URL, and is used only to compute the answer; the text itself is not stored or logged."New value: +"A product name as typed (1 to 200 characters), optionally with its maker: any spelling, katakana, hiragana or romaji. A maker name at the start or end (its name, slug, alias or katakana reading, also in the form e935 by Sennheiser or with a possessive) is set aside and the rest is matched against that maker's products only; a model of another maker, or one the catalogue does not list, matches nothing. Shopping words (セール, 最安, sale, upgrade, full version and similar) and a trailing product-type phrase (dynamic microphone and similar, whatever the product's type) are set aside, unless that would leave only a maker name or a type word, and a query of shopping words only matches nothing. Matched like the site's own search: exact, prefix (which can return a longer name of the same series, such as UR44C for UR44), substring, every word of several words, then similar spellings that begin like the query, carry the same numbers and, for several words, cover the last word; with a maker name, a similar spelling only covers a typing error in a listed product name: the same numbers, and a word that differs by one letter (two when both words have eight or more letters); a word with digits, such as a model number, or a three-letter word has to match exactly. A product type or category word (reverb, リバーブ, コンプ, ヘッドフォン), alone or after a maker name, and a maker name with a type phrase (studio headphones, dynamic EQ), answer with up to 20 products of that type; descriptive words such as dynamic or condenser are not checked against the data. It travels only in a request body, never in a URL, and is used only to compute the answer; the text itself is not stored or logged."
1 tool update
- Changed
search_products1 field changed- added
Input schema / properties / qAdded value: +{ + "description": "A product name as typed (1 to 200 characters): any spelling, katakana, hiragana or romaji. Shopping words (セール, 最安, sale, upgrade, full version and similar) are ignored, and a query of shopping words only matches nothing. Matched like the site's own search: exact, prefix, substring, every word of several words, then similar spellings that begin like the query, carry the same numbers and, for several words, cover the last word. A product type or category word (reverb, リバーブ, コンプ, ヘッドフォン) answers with up to 20 products of that type. It travels only in a request body, never in a URL, and is used only to compute the answer; the text itself is not stored or logged.", + "maxLength": 200, + "minLength": 1, + "type": "string" +}
5 tool updates
- Changed
compare_products5 fields changed- changed
Input schema / properties / edition_ids / items / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / ownership_claims / items / properties / edition_id / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / ownership_claims / items / properties / entitlement_id / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / user_supplied_prices / items / properties / edition_id / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / user_supplied_prices / items / properties / offer_id / maxLengthPrevious value: -128New value: +160
- Changed
get_current_offers1 field changed- changed
Input schema / properties / product_id / maxLengthPrevious value: -64New value: +160
- Changed
list_deals4 fields changed- changed
Input schema / properties / brand / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / brand / patternPrevious value: -"^[a-z0-9][a-z0-9_-]{0,127}$"New value: +"^[a-z0-9][a-z0-9_-]{0,159}$" - changed
Input schema / properties / category / maxLengthPrevious value: -64New value: +160 - changed
Input schema / properties / category / patternPrevious value: -"^[a-z0-9][a-z0-9_-]{0,127}$"New value: +"^[a-z0-9][a-z0-9_-]{0,159}$"
- Changed
resolve_purchase_request7 fields changed- changed
Input schema / properties / constraints / properties / brand / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / constraints / properties / target_edition_id / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / owned_editions / items / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / ownership_claims / items / properties / edition_id / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / ownership_claims / items / properties / entitlement_id / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / user_supplied_prices / items / properties / edition_id / maxLengthPrevious value: -128New value: +160 - changed
Input schema / properties / user_supplied_prices / items / properties / offer_id / maxLengthPrevious value: -128New value: +160
- Changed
search_products2 fields changed- changed
Input schema / properties / brand / maxLengthPrevious value: -64New value: +160 - changed
Input schema / properties / product_id / maxLengthPrevious value: -64New value: +160
2 tool updates
- Changed
resolve_purchase_request1 field changed- changed
Input schema / properties / constraints / properties / category / enumPrevious value: -[ - "daw", - "instrument_plugin", - "effect_plugin", - "mastering_limiter_plugin", - "mastering_suite", - "restoration", - "sample_library", - "ai_separation", - "ai_restoration", - "ai_composition", - "ai_voice", - "audio_interface", - "microphone", - "headphones", - "studio_monitor", - "guitar", - "bass", - "keyboard", - "synthesizer", - "electronic_instrument", - "pedal", - "multi_effect", - "amp_simulator", - "dj_controller", - "dj_player", - "dj_mixer", - "midi_controller", - "accessory", - "computer", - "computer_peripheral" -]New value: +[ + "daw", + "instrument_plugin", + "effect_plugin", + "mastering_limiter_plugin", + "mastering_suite", + "restoration", + "sample_library", + "ai_separation", + "ai_restoration", + "ai_composition", + "ai_voice", + "audio_interface", + "mixer", + "preamp_outboard", + "microphone", + "headphones", + "studio_monitor", + "guitar", + "bass", + "keyboard", + "synthesizer", + "electronic_instrument", + "pedal", + "multi_effect", + "amp_simulator", + "dj_controller", + "dj_player", + "dj_mixer", + "midi_controller", + "accessory", + "computer", + "computer_peripheral" +]
- Changed
search_products1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "daw", - "instrument_plugin", - "effect_plugin", - "mastering_limiter_plugin", - "mastering_suite", - "restoration", - "sample_library", - "ai_separation", - "ai_restoration", - "ai_composition", - "ai_voice", - "audio_interface", - "microphone", - "headphones", - "studio_monitor", - "guitar", - "bass", - "keyboard", - "synthesizer", - "electronic_instrument", - "pedal", - "multi_effect", - "amp_simulator", - "dj_controller", - "dj_player", - "dj_mixer", - "midi_controller", - "accessory", - "computer", - "computer_peripheral" -]New value: +[ + "daw", + "instrument_plugin", + "effect_plugin", + "mastering_limiter_plugin", + "mastering_suite", + "restoration", + "sample_library", + "ai_separation", + "ai_restoration", + "ai_composition", + "ai_voice", + "audio_interface", + "mixer", + "preamp_outboard", + "microphone", + "headphones", + "studio_monitor", + "guitar", + "bass", + "keyboard", + "synthesizer", + "electronic_instrument", + "pedal", + "multi_effect", + "amp_simulator", + "dj_controller", + "dj_player", + "dj_mixer", + "midi_controller", + "accessory", + "computer", + "computer_peripheral" +]
5 tool updates
- First observed
compare_products - First observed
get_current_offers - First observed
list_deals - First observed
resolve_purchase_request - First observed
search_products
Related MCP Connectors
Japan's largest live house show database: search shows, artists, and venues
52,000 musical instruments: prices, deals, bundles, open-box, alternatives, accessories, guides.
Price comparison across partner retailers. Read-only, 90-day history, disclosed affiliate.
Espresso gear price history: live Amazon prices, 2+ years of daily data, BUY calls at verified lows.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to search and compare prices across Japanese used camera, watch, luxury brand, and instrument marketplaces from multiple stores, returning price, brand, condition, and source store information.-
- AlicenseAqualityBmaintenanceSearches UK electronics products across multiple retailers, compares prices, and provides purchase links.2438 npmMIT
- AlicenseAqualityBmaintenanceMCP server for finding and monitoring deals on Japanese shopping sites via Doorzo. It enables AI assistants to search across 9 marketplaces, set price alerts, and check for new matches.7MIT
- FlicenseNot gradedqualityCmaintenanceMonitors and analyzes product prices across major e-commerce platforms (Taobao, JD, PDD, 1688, Amazon) with tools for price alerts, competitor comparison, market trends, and deal detection.-
Glama MCP Gateway
Add one secure layer between your agents and this server.