Catalog

Persistent local index of Serum presets, samples, grooves, and device presets, with similarity search and reuse-vs-create recommendation that can orchestrate the existing create tools.

Tools on this page
  1. search_catalog
  2. find_similar
  3. catalog_stats
  4. reindex_catalog
  5. recommend_asset
  6. recommend_instrument
  7. create_from_plan

search_catalog

search_catalog(
    query: str,
    domains: list = None,
    kinds: list = None,
    sources: list = None,
    limit: int = 50,
)

Search the local content catalog (Serum presets, samples, grooves, device presets) by name/folder/tags. Fast persistent index; auto-refreshes changed filesystem roots. Returns {ok, data:{count, returned, truncated, items}}.

find_similar

find_similar(intent: str, domain: str, limit: int = 10)

Rank catalog assets in one domain by lexical similarity to an intent string, with scores. domain in serum|sample|groove|device_preset. Returns {ok, data:{items:[{name, path, uri, source, folder, kind, score}]}}.

catalog_stats

catalog_stats()

Counts and freshness for the local catalog by domain/source/kind, plus per-root last-indexed times. Returns {ok, data:{total, by_domain, by_source, by_kind, roots, device_presets_last_indexed}}.

reindex_catalog

reindex_catalog(domains: list = None, full: bool = False)

Rebuild the catalog. domains defaults to all. full=True drops and rebuilds from scratch. Device presets reindex only when Live is connected. Returns {ok, data:{indexed:{domain:count}, errors:[…]}}.

recommend_asset

recommend_asset(intent: str, domain: str)

Propose reuse-vs-create for a described asset. domain in serum|sample|groove|device_preset|wavetable|simpler. Returns {ok, data: {decision, top_matches, create_plan, reason}}. PROPOSE ONLY - never writes; pass create_plan to create_from_plan(confirm=True) to act on a ‘create’.

recommend_instrument

recommend_instrument(intent: str, prefer_native: bool = None)

Choose which instrument engine to reach for from a free-text intent (e.g. ‘gritty evolving reese bass for dnb’). Ranks Serum vs native Wavetable, Operator, Analog, Simpler/Sampler, and Drum Rack against a capability matrix, biased toward native engines so Serum is used only when it earns it. Applies live signals when connected: Serum-installed (drops Serum if absent), Serum instance count (busy penalty), and portability (prefer_native). Set prefer_native=True to force native-only weighting; leave None to auto-detect (native-preferred only when the set has no 3rd-party plugin). PROPOSE ONLY - pass the returned top.domain to recommend_asset to pick reuse-vs-create. Returns {ok, data:{intent, parsed, ranked, top, reason, environment, next}}.

create_from_plan

create_from_plan(plan: dict, confirm: bool = False)

Execute a create_plan from recommend_asset. confirm=False (default) returns a dry-run describing what would be created and writes nothing. confirm=True invokes the matching creator (Wavetable, Simpler, or a Serum base-preset clone). Returns {ok, data:{…}}.


ableton-mcp-max - free for noncommercial use; commercial licensing available. Built by Ryan Robson / Robworks Software LLC. Not affiliated with or endorsed by Ableton AG.

This site uses Just the Docs, a documentation theme for Jekyll.