Token导航 LogoToken导航TokenDH.com
Able Osc MCP logo
音视频stdio官方级别未说明来源级核验

Able Osc MCP

MCP Server

通过AbletonOSC协议提供对Ableton Live软件的全面控制服务,支持实时操作和订阅功能更改。

工具数

64

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude音频处理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mawaha

提供方

mawaha

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx ableosc-mcp

详细介绍

AbleOscMcp

控制传输、创建和编辑MIDI剪辑、操纵曲目和设备以及订阅实时属性更改——所有这些都可以从Claude Desktop、Cursor或任何其他MCP客户端完成。

先决条件

安装

# Install with uv (recommended)
uvx ableosc-mcp

# Or install with pip
pip install ableosc-mcp

AbletonOSC设置

AbletonOSC是一个免费的远程脚本,运行在Ableton Live内部,并通过OSC/UDP公开其Python API。

  1. 从下载最新版本 视频/AbletonOSC
  2. 复制 AbletonOSC 文件夹到您的Ableton用户库:

- macOS: ~/Music/Ableton/User Library/Remote Scripts/ - 窗户: C:\Users\\Documents\Ableton\User Library\Remote Scripts\

  1. 完全退出并重新启动Ableton Live
  2. 在阿布莱顿: 偏好→ 链接、节奏和MIDI→ 控制表面 → 选择 AbletonOSC

AbletonOSC监听UDP端口 11000 并在端口上回复 11001.

Claude桌面配置

将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "ableton": {
      "command": "uvx",
      "args": ["ableosc-mcp"]
    }
  }
}

或者,如果你已经克隆了repo:

{
  "mcpServers": {
    "ableton": {
      "command": "uv",
      "args": ["run", "ableosc-mcp"],
      "cwd": "/path/to/AbleOscMcp"
    }
  }
}

可用工具

歌曲/交通

工具说明
get_session_info节奏、时间特征、播放状态、循环设置、曲目/场景计数
set_tempo设置BPM(20–999)
start_playing启动全球运输
stop_playing停止全球运输
stop_all_clips停止播放所有剪辑
tap_tempo发送轻击节奏脉冲
undo / redo撤消/重做上次操作
set_loop配置循环开始、长度和启用状态
get_cue_points列出所有提示点
jump_to_cue按名称或索引跳转到提示点
capture_scene将播放的剪辑捕获到新场景中
trigger_session_record切换会话记录模式

轨迹

工具说明
get_tracks列出所有曲目(索引、名称)
get_track完整曲目细节:音量、平移、静音、独奏、手臂、设备、剪辑
set_track_volume0.0=静音,0.85=单位(0 dB),1.0=+6 dB
set_track_pan−1.0=完全向左,0.0=居中,1.0=完全向右
set_track_mute / set_track_solo / set_track_arm切换轨迹状态
set_track_name重命名曲目
set_track_send设置发送级别(0.0–1.0)
create_midi_track / create_audio_track / create_return_track添加曲目
delete_track删除曲目
duplicate_track复制曲目
stop_track_clips停止曲目上的所有剪辑

片段

工具说明
create_clip在插槽中创建新的空MIDI剪辑
delete_clip删除剪辑
get_clip_info名称、长度、循环设置、播放状态
fire_clip / stop_clip启动或停止剪辑
set_clip_name重命名剪辑
set_clip_loop配置剪辑循环开始/结束
get_notes获取所有MIDI音符 {pitch, start_time, duration, velocity, mute}
add_notes将MIDI音符添加到剪辑中
remove_notes按音高/时间范围删除音符,或删除所有音符
duplicate_clip_loop通过复制内容使循环长度加倍

设备

工具说明
get_devices列出轨道上的设备
get_device_parameters所有参数:名称、值、最小/最大范围
get_device_parameter单参数值和显示字符串
set_device_parameter设置参数值

场景

工具说明
get_scenes列出所有场景
get_scene场景细节:名称、节奏覆盖
fire_scene / fire_selected_scene启动一个场景
create_scene / delete_scene / duplicate_scene管理场景
set_scene_name重命名场景
set_scene_tempo设置每个场景的节奏覆盖

查看/选择

工具说明
get_selected_track / set_selected_trackLive用户界面中的选定曲目
get_selected_scene / set_selected_sceneLive用户界面中的选定场景
get_selected_clip / set_selected_clipLive用户界面中的选定剪辑槽
get_selected_device / set_selected_deviceLive用户界面中的选定设备

实时听众

订阅Live属性更改并轮询更新——不需要轮询循环。

工具说明
subscribe开始听一个属性。退货 sub_id 立即;AbletonOSC立即发送当前值
poll收集排队的事件。块高达 timeout_seconds 如果队列为空
unsubscribe让听众停下来,清理一下
list_subscriptions列出活动订阅及其队列深度

示例——观看节奏变化:

subscribe("tempo", level="song")
→ {"sub_id": "sub_3607efaa", "status": "subscribed"}

# AbletonOSC immediately sends current value:
poll("sub_3607efaa", timeout_seconds=0)
→ {"events": [{"value": 120}]}

# Change tempo in Ableton, then:
poll("sub_3607efaa", timeout_seconds=10)
→ {"events": [{"value": 128}]}

unsubscribe("sub_3607efaa")

您可以收听的属性:

级别level=必需的索引参数有用的属性
歌曲"song"没有tempo, is_playing, loop, groove_amount
轨道"track"track_indexmute, solo, arm, volume, panning, output_meter_level
剪辑"clip"track_index, clip_indexis_playing, is_recording, playing_position
夹子插槽"clip_slot"track_index, clip_indexhas_clip, is_playing, is_triggered
场景"scene"scene_indexname
设备"device"track_index, device_indexname
查看"view"没有selected_track, selected_scene

环境变量

变量默认值描述
ABLEOSC_HOST127.0.0.1AbletonOSC主机
ABLEOSC_SEND_PORT11000端口AbletonOSC正在监听
ABLEOSC_RECEIVE_PORT11001我们监听的端口以获取响应

发展

git clone https://github.com/mawaha/AbleOscMcp
cd AbleOscMcp
uv sync --all-extras

# Unit tests (no Ableton needed)
uv run pytest tests/unit/ -v

# Integration tests (requires Ableton Live + AbletonOSC running)
# Kill any running ableosc-mcp server first to free port 11001
lsof -ti :11001 | xargs kill
ABLEOSC_INTEGRATION=1 uv run pytest tests/integration/ -v

# Coverage report
uv run pytest tests/unit/ --cov --cov-report=term-missing

建筑

AI client (Claude Desktop, Cursor, etc.)
    │  MCP / stdio
    ▼
src/ableosc/server.py        ← FastMCP server, tool registration
    │  asyncio + python-osc / UDP
    ▼
AbletonOSC Remote Script     ← installed in Ableton Live
(inside Ableton Live)
    │  Live Python API
    ▼
Ableton Live

与实现自定义协议的其他Ableton MCP集成不同,该项目包含 AbletonOSC -一个成熟、测试良好的远程脚本,具有全面的API表面,包括实时事件侦听器。

许可证

麻省理工学院——见 许可证.

目录标签

目录标签

PythonClaude音频处理音乐制作本地部署AbletonLive集成实时控制MIDI编辑

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

64

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP