SP

skrul/protools-mcp-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

21 stars 6 forks 质量 70 趋势 10MIT

Pro Tools 的 MCP 服务器

概览

一个MCP(模型上下文协议)服务器,使像Claude这样的AI助手能够通过PTSL(Pro Tools Scripting Library)gRPC API控制Pro Tools。 ⚠️ 这还在开发中,并非所有Pro Tools功能都已实现。使用请自行承担风险! 该服务器为 AI 助手提供以下功能: - - 查询会话信息,保存会话,获取全面的会话概览 - - 带分页浏览曲目和片段,按名称搜索,浏览时间线(仅音频片段) - - 列表、选择、静音、独奏和管理轨道 - - 在时间线上查找并操作音频片段 - - 使用时间线选择进行剪切、复制、粘贴、清除、撤销/重做 - 创建、列出和导航会话标记 - - 播放、停止、录制和控制播放 - - 生成波形图像并分析音频内容(开启、峰值、静音检测) - - 发送自定义PTSL命令以适应高级用例 - - 测试并验证PTSL连接状态 - :时间线索引只捕捉音频片段。

概述(AI 翻译)

一个MCP(模型上下文协议)服务器,使像Claude这样的AI助手能够通过PTSL(Pro Tools Scripting Library)gRPC API控制Pro Tools。

⚠️ 实验项目: 这是一个正在开发中的项目,并非所有Pro Tools功能都已实现。使用请自行承担风险!

特色

该服务器为 AI 助手提供以下功能:

  • 会话管理 - 查询会话信息,保存会话,获取全面的会话概览
  • 时间线导航 - 带分页浏览曲目和片段,按名称搜索,浏览时间线(仅音频片段)
  • 轨道控制 - 列出、选择、静音、独奏和管理轨道
  • 剪辑管理 - 查找并操作时间线上的音频剪辑
  • 编辑操作 - 剪切、复制、粘贴、清除、撤销/重做,使用时间线选择
  • 标记 - 创建、列出和导航会话标记
  • 传输控制 - 播放、停止、录制和控制播放
  • 视觉分析 - 生成波形图像并分析音频内容(起始、峰值、静默检测)
  • 原始PTSL访问 - 为高级用例发送自定义PTSL命令
  • 诊断 - 测试并验证PTSL连接状态

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Pro Tools MCP Server

An MCP (Model Context Protocol) server that enables AI assistants like Claude to control Pro Tools via the PTSL (Pro Tools Scripting Library) gRPC API.

⚠️ Experimental Project: This is a work in progress and not all Pro Tools features are implemented yet. Use at your own risk!

Features

The server provides AI assistants with the following capabilities:

  • Session Management - Query session info, save sessions, get comprehensive session overview
  • Timeline Navigation - Browse tracks and clips with pagination, search by name, navigate the timeline (audio clips only)
  • Track Control - List, select, mute, solo, and manage tracks
  • Clip Management - Find and work with audio clips on the timeline
  • Editing Operations - Cut, copy, paste, clear, undo/redo with timeline selections
  • Markers - Create, list, and navigate session markers
  • Transport Control - Play, stop, record, and control playback
  • Visual Analysis - Generate waveform images and analyze audio content (onsets, peaks, silence detection)
  • Raw PTSL Access - Send custom PTSL commands for advanced use cases
  • Diagnostics - Test and verify PTSL connection status

Known Limitations

  • MIDI Clips: The timeline indexing only captures audio clips. MIDI clip positions cannot be queried due to PTSL API limitations. MIDI clips can be seen in the clip list but their timeline positions are not available.

Safety Features

The server uses a granular permission system to protect your Pro Tools sessions. By default, it runs in read-only mode with safe audio analysis enabled.

Default Permissions (No Configuration Needed)

Always allowed:

  • Read operations (queries, track lists, clip info, session info)
  • Playback control (play, stop, toggle)
  • UI state changes (mute/solo, timeline selection, edit tools)
  • Copy to clipboard (non-destructive)
  • Export audio to temp directories only (enables audio analysis)

Blocked by default (require ALLOW_WRITES to enable):

  • Creating/editing markers (memory)
  • Cut/paste/clear operations (clipboard)
  • Exporting to custom paths (export)
  • Creating/deleting tracks (track_structure)
  • Saving/opening sessions (session)
  • Recording (recording)

Enabling Write Operations

Use the ALLOW_WRITES environment variable to enable specific permission groups:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "protools": {
      "command": "node",
      "args": ["/absolute/path/to/protools-mcp-server/dist/index.js"],
      "env": {
        "PTSL_PROTO_PATH": "/absolute/path/to/PTSL.proto",
        "ALLOW_WRITES": "memory,clipboard"
      }
    }
  }
}

Command Line:

# Allow markers and clipboard editing
ALLOW_WRITES=memory,clipboard PTSL_PROTO_PATH=/path/to/PTSL.proto node dist/index.js

# Allow everything (use with caution)
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "protools": { "command": "node", "args": ["/absolute/path/to/protools-mcp-server/dist/index.js"], "env": { "PTSL_PROTO_PATH": "/absolute/path/to/PTSL.proto", "ALLOW_WRITES": "memory,clipboard" } } } }