プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Loom by SubverseLab

作者:senolsahan037-ossバージョン 0.4.4i★ –iパソコンで動く
レジストリ名io.github.senolsahan037-oss/loom

インストール

概要

作者による説明(英語の原文)

Reads your own Ableton projects and writes MIDI, chains and markers into a running Live set.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

作者の .mcpb ファイルをダウンロード

リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。

ターミナルでこれを実行します

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント senolsahan037-oss で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの18695件のうち0%よりスターが多い
  • このカテゴリのほかの18695件のうち43%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの18695件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Loom by SubverseLabは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.4.4)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにMCPBも必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Bestax

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

作者:formulahendry初期↓ 66/週★ 44014 か月前更新

パソコンで動く

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

作者:desktop-commander成長中★ 2114 日前更新

クラウドで動く✓ desktopcommander.app

Bestax

Props, examples, CSS variables and Agent Skills for bestax-bulma React components (Bulma v1)

作者:allxsmith成長中↓ 2910/週今日更新

パソコンで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Loom

Loom is a measurement-based production system for Ableton Live by Şenol Şahan / SubverseLab: a local MCP server that reads your own .als projects and library, answers with counts instead of guesses, and writes MIDI, device chains, automation and arrangement markers into a running Live session, verifying every write by reading it back.

Canonical home: https://subverselab.com/loom · Cite: CITATION.cff · Licence: AGPL-3.0-or-later · Attribution: NOTICE.

Why it exists

Ask a general-purpose model what belongs on a kick drum and it answers with confidence, having never heard a record you made. Loom replaces that guess with evidence from three places: your own project archive (which devices you actually chain, which samples you actually reach for), real released records (genre evidence measured from audio, not described from memory), and the Live set that is open right now. Where the evidence runs out, a tool returns nothing and says so. Nothing is emulated, nothing is retried on an uncertain outcome, and every write is a dry run until you approve it.

There is one connection to Live: the Loom extension, an Ableton Extension running inside Live 12.4 beta. No Control Surface, no automatic fallback, no second writer path.

What is inside

LayerJob
SenseiMIDI variation (drum / bass / chord) from a locked, hash-verified dataset
ArrangementGPSA project plan from a prompt: tempo, key, genre, channels, sections (Node)
AIMixMaster.als inspection, gain staging, clip alignment, drum buss, automation writing (on the file)
Presetor / AISoundDesignerDevice chains and a sound palette measured from the user's own projects
MusicalIntelligenceGenre evidence measured from real records; part suggestions keyed to the project
Mix Check / SampleAgentAudio measurement against profiles of released masters; YouTube → sliced sample pack; a crate-digging agent
Loom extensionThe Ableton Extension inside Live: the MCP's only connection to a running set
mcp_server45 tools, resources, prompts, progress and cancellation over stdio JSON-RPC

No layer produces a guess: with no evidence there is no suggestion, what the SDK cannot do is not emulated, and every writing tool is a dry run by default.

Architecture, the canonical call flow and the bridge protocol: Docs/ARCHITECTURE.md.

Install (one path)

python3 install.py            # installs

python3 install.py --check # changes nothing, reports state

install.py:

  1. Registers Loom with every MCP client it finds (Claude Desktop, Claude Code, Antigravity), backing up each config; it is safe to re-run.
  2. Prepares the extension package (extension/dist/loom.ablx, built if the toolchain is present) and compares the version and bridge protocol of the extension installed in Live with this checkout. Live shows it as Loom, id subverselab.loom. An installed legacy package (loom.sensei-midi-writer) is reported: the MCP never sends it a mutation (LEGACY_EXTENSION).
  3. Builds the catalogs from your own stock Ableton library.

Live's own step is a single one: add the .ablx in Live 12.4 beta's Extensions settings and restart Live. The extension opens a file bridge in its own storage directory; the MCP locates that bridge on every call.

The same server is packaged as an MCP bundle on the release page (loom- .mcpb, described by server.json).

Versions are three different things: the package version is written once, in extension/manifest.json (package.json must match; the build verifies it); the bridge protocol is loom.bridge/3; the SDK API is 1.0.0.

Connection diagnosis (one path)

The MCP tool `live_bridge_status` reports which bridge it is talking to and why, the age of the state, the session id, the capabilities the extension publishes, mutations_allowed, the protocol verdict (OK / UPGRADE_REQUIRED / PROTOCOL_MISMATCH / STALE_STATE / NO_STATE), the journal's condition and what is queued or in flight. python3 install.py --check prints the same in a terminal.

An old extension (0.1.0 / 0.2.0, publishing no protocol) is read but never written: every mutation is refused with UPGRADE_REQUIRED before a request file is written. A package installed under the legacy id is treated the same (LEGACY_EXTENSION); once the new one is installed and the old one removed from Live, the old journal is carried over with live_command op=journal_import (nothing forgotten, nothing deleted). More than one Loom bridge in sight is AMBIGUOUS_BRIDGE. LOOM_BRIDGE_ROOT exists for tests only.

Supported MCP tools

KindToolsProven by
Through Live (extension)live_state, live_bridge_status, live_command (set_tempo, set_mixer, set_device_parameter, list_device_parameters, create_locator, create_midi_track, import_audio_clip, render_pre_fx, drum_pads, build_drum_kit, journal_import, delete_track, delete_locator), midi_write_arrangement, midi_write_to_live (session clip), crate_to_live, mix_from_live, project_build, midi_generate (auto_write)mcp_server/tests/test_bridge_consumer_real.py (the real bridge.ts), test_extension_path.py, extension/tests/bridge.test.ts
Engines without Liveproject_*, automation_*, drumbuss_*, chain_*, render_*, palette_read, library_search, genre_evidence, part_suggest, plan_create, plan_verify, projects_arrangement_shapes, mix_measure/analyze/profiles, crate_fetch/read/spots/chop/agent, setup_scan, gap_recordmcp_server/tests/test_mcp_tools.py (45 tools over stdio) and each engine's own pytest suite
OS level, on requestlive_project (open / close / status of Live, verified from Live's own log; changing the set restarts the extension host)test_live_project.py
Machine-boundmix_capture (method="tap": a Core Audio process tap launched as LiveTap.app through LaunchServices; macOS grants the "Screen & System Audio Recording" permission to the LiveTap entry, not to the app running the MCP; measured from a playing Live on 2026-09-06)only on a real machine

The extension's single in-Live user command, "Loom: Generate" (right-click, Session slot), goes through the same write_clip implementation and the same ownership ledger: a clip Loom did not write is never overwritten.

Kits and presets

The SDK does not load presets (.adg / .adv). Loom does not call this "impossible"; it separates the paths:

  • A named kit: project_build(kit="Boom Bap Kit") or a path to an .adg. The kit is read from the preset's own XML (pads, notes, names, sample files; Sensei's .adg reader), the files are resolved on this machine, and the pads are rebuilt in the extension as chain + Simpler + sample. The answer states what was carried over and what was not: per-pad effects, macros, choke groups, Simpler parameters, return chains. This is not loading the preset as is, and it is never presented as such.
  • A kit from samples: live_command op=build_drum_kit pads=[{note, sample}].
  • An instrument preset (bass / chord): the SDK cannot load it. Either a native device through device_map (Operator, Electric, Wavetable, …), or you load the preset in Live yourself and re-run the same plan; the channel is adopted and its device read from state. The answer lists both routes under needs_preset.
  • Drum notes onto the kit's pads: Sensei's drum evidence is in GM pad layout; on a kit such as 77–92 the notes are mapped by pad role (kick / snare / hat, pad_mapping: by_role), unmappable roles are dropped and reported, and with no notes left no clip is written (no_notes_for_pads).
  • Simplification is explicit: with tracks=[...] and device_map the answer's simplification block says which channels were dropped and why, and which device stands in for which preset. Empty channels from the template are left alone.
  • The file path (B): writers that work on the .als (automation_write, drumbuss_build, chain_apply) change the set on disk; the open set is not touched and must be reopened. Preset XML is never hand-converted into a set; that is Live's job.

Not supported, because of the SDK

Extensions SDK 1.0.0-beta.1 does not provide the following. Loom does not emulate them; it answers UNSUPPORTED_BY_SDK with the name of the missing capability, before any request file is written:

  • transport (play / stop / position) → live_command op=transport, mix_capture follow_transport
  • writing the song key → live_command op=set_key; the project_build step is reported as UNSUPPORTED_BY_SDK
  • loading presets / the browser → create_midi_track only adds a native device with its default preset (not_loadable_in_extension); kits are rebuilt (above), instruments go through device_map or a user step
  • time signature → bar-to-beat conversion asks for an explicit beats_per_bar, reads it from the .als when given one, and otherwise says it assumed 4/4 in beats_per_bar_source
  • metering, recording (record mode / resampling) → mix_capture method="resample", the capture_* ops

Reported to Ableton through Centercode on 2026-09-03.

The bridge contract (short)

Every answer from Live carries a structured outcome: {kind: applied|refused|failed|indeterminate, code, applied, verified, side_effects, next_step}. The MCP status derives from it: OK, REFUSED_IN_LIVE (Live untouched), FAILED_IN_LIVE (attempted, previous content restored), INDETERMINATE (may have applied; side effects and the safe next step are in the answer), NOT_CONSUMED, INVALID_RESULT. An uncertain outcome is never retried automatically, anywhere.

Keyed requests (build steps, idempotency_key) are journaled before the mutation: same key + same content → the stored result; different content → a conflict; another session → refused; half-finished → INDETERMINATE. With the journal missing or corrupt, keyed mutations are refused and the answer says what to do; deleting the journal is never the advice. Details in Docs/ARCHITECTURE.md.

Tests

./scripts/check_ci.sh    # needs neither Ableton nor personal data; CI runs this

./scripts/check_all.sh # everything; needs a real Ableton install

check_ci.sh counts every suite as passed, failed or skipped; a suite with a missing dependency is never counted as passed. The extension's own queue code (bridge.ts) runs both on its own (npm run test:bridge) and as the real consumer opposite the MCP (test_bridge_consumer_real.py); the Python fake exists for speed and is not protocol proof on its own.

Tests use temporary directories and isolated fixtures; they never touch a real Live, the installed extension or user data. The Ableton Extensions SDK is not redistributable, so the hosted runner cannot typecheck the extension; that job is marked skipped, never passed.

The real-Live acceptance script is extension/tools/measure_bridge.py (it writes into the running Live's open set; run it on an empty set).

Data policy

This repository ships code and fixtures, never measurements. Presetor's device-chain evidence, AISoundDesigner's palette and Sensei's catalogs are generated from the user's own projects and Ableton installation; none o

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く