MCP 문서 관리

메뉴

Reaper

Reaper

Reaper MCP 서버는 인기 있는 디지털 오디오 워크스테이션(DAW)인 Reaper와의 통합을 제공합니다. 이 서버를 통해 LLM은 Reaper 프로젝트를 검사, 편집, 제어할 수 있습니다. 오디오 트랙 관리, 효과 제어, 믹싱, 자동화 등 다양한 오디오 제작 작업을 자동화하고 보조하는데 활용할 수 있습니다.

특징

  • 프로젝트 관리: Reaper 프로젝트 열기, 저장, 내보내기
  • 트랙 관리: 오디오 및 MIDI 트랙 생성, 편집, 조직화
  • 미디어 항목 관리: 오디오 파일 가져오기, 배치, 편집
  • 효과 제어: 다양한 VST/AU 플러그인 적용 및 파라미터 조정
  • 믹싱 및 라우팅: 트랙 볼륨, 팬, 버스, 라우팅 설정
  • 자동화: 파라미터 자동화 생성 및 편집
  • 마커 및 리전: 프로젝트 내 마커와 리전 관리
  • 렌더링: 혼합 및 개별 트랙 렌더링
  • MIDI 편집: MIDI 노트 및 CC 데이터 편집
  • 템플릿 사용: 사전 구성된 템플릿 적용

API

도구

프로젝트 관리 도구

  • open_project: Reaper 프로젝트 열기
  • 입력: 프로젝트 파일 경로
  • 출력: 로드된 프로젝트 ID 및 메타데이터

  • save_project: 프로젝트 저장

  • 입력: 프로젝트 ID, 경로(선택적)
  • 출력: 저장 결과 및 파일 정보

  • create_project: 새 프로젝트 생성

  • 입력: 템플릿(선택적), 설정
  • 출력: 생성된 프로젝트 ID

트랙 관리 도구

  • add_track: 새 트랙 추가
  • 입력: 프로젝트 ID, 트랙 유형, 이름, 위치
  • 출력: 생성된 트랙 ID

  • get_tracks: 트랙 목록 조회

  • 입력: 프로젝트 ID, 필터 옵션
  • 출력: 트랙 객체 배열

  • set_track_properties: 트랙 속성 설정

  • 입력: 프로젝트 ID, 트랙 ID, 속성 객체
  • 출력: 설정 결과

미디어 항목 도구

  • import_media: 미디어 파일 가져오기
  • 입력: 프로젝트 ID, 트랙 ID, 파일 경로, 위치, 옵션
  • 출력: 가져온 미디어 항목 ID

  • edit_media_item: 미디어 항목 편집

  • 입력: 프로젝트 ID, 미디어 항목 ID, 편집 파라미터
  • 출력: 편집 결과

  • get_media_items: 미디어 항목 목록 조회

  • 입력: 프로젝트 ID, 트랙 ID
  • 출력: 미디어 항목 객체 배열

효과 및 믹싱 도구

  • add_fx: 효과 추가
  • 입력: 프로젝트 ID, 트랙 ID, 효과 이름, 위치, 사전 설정
  • 출력: 추가된 효과 ID

  • set_fx_parameter: 효과 파라미터 설정

  • 입력: 프로젝트 ID, 트랙 ID, 효과 ID, 파라미터 이름, 값
  • 출력: 설정 결과

  • set_track_volume: 트랙 볼륨 설정

  • 입력: 프로젝트 ID, 트랙 ID, 볼륨 값, 단위
  • 출력: 설정 결과

  • set_track_pan: 트랙 팬 설정

  • 입력: 프로젝트 ID, 트랙 ID, 팬 값
  • 출력: 설정 결과

마커 및 리전 도구

  • add_marker: 마커 추가
  • 입력: 프로젝트 ID, 위치, 이름, 색상
  • 출력: 생성된 마커 ID

  • add_region: 리전 추가

  • 입력: 프로젝트 ID, 시작 위치, 끝 위치, 이름, 색상
  • 출력: 생성된 리전 ID

  • get_markers: 마커 목록 조회

  • 입력: 프로젝트 ID
  • 출력: 마커 객체 배열

렌더링 도구

  • render_project: 프로젝트 렌더링
  • 입력: 프로젝트 ID, 출력 경로, 포맷, 옵션
  • 출력: 렌더링 결과 및 파일 정보

  • render_tracks: 선택 트랙 렌더링

  • 입력: 프로젝트 ID, 트랙 ID 배열, 출력 경로, 포맷, 옵션
  • 출력: 렌더링 결과 및 파일 정보

MIDI 도구

  • add_midi_note: MIDI 노트 추가
  • 입력: 프로젝트 ID, 트랙 ID, 항목 ID, 피치, 벨로시티, 시작 시간, 길이
  • 출력: 추가된 MIDI 노트 ID

  • edit_midi_notes: MIDI 노트 편집

  • 입력: 프로젝트 ID, 트랙 ID, 항목 ID, 노트 ID 배열, 편집 파라미터
  • 출력: 편집 결과

사용 방법

설치

# npm을 통한 설치
npm install -g reaper-mcp-server

# 또는 GitHub 저장소에서 직접 설치
git clone https://github.com/author/reaper-mcp-server
cd reaper-mcp-server
npm install

필요 조건

  • Reaper 디지털 오디오 워크스테이션이 설치되어 있어야 합니다.
  • ReaScript 또는 Reaper의 웹 인터페이스 API가 활성화되어 있어야 합니다.
  • Node.js 14 이상이 설치되어 있어야 합니다.

구성

Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정할 수 있습니다:

{
  "mcpServers": {
    "reaper": {
      "command": "npx",
      "args": ["-y", "reaper-mcp-server"],
      "env": {
        "REAPER_PATH": "/path/to/reaper",
        "OUTPUT_DIRECTORY": "/path/to/output"
      }
    }
  }
}

사용 예시

// 새 프로젝트 생성
const project = await create_project({
  template: "recording_session",
  settings: {
    sampleRate: 48000,
    bitDepth: 24
  }
});

// 오디오 트랙 추가
const vocalTrack = await add_track({
  projectId: project.id,
  type: "audio",
  name: "Lead Vocals",
  position: 0
});

const guitarTrack = await add_track({
  projectId: project.id,
  type: "audio",
  name: "Acoustic Guitar",
  position: 1
});

// 오디오 파일 가져오기
const vocalTake = await import_media({
  projectId: project.id,
  trackId: vocalTrack.id,
  path: "/path/to/vocal_recording.wav",
  position: 0,
  options: {
    normalizeLevel: -3,
    preservePitch: true
  }
});

const guitarTake = await import_media({
  projectId: project.id,
  trackId: guitarTrack.id,
  path: "/path/to/guitar_recording.wav",
  position: 0
});

// 이펙트 추가
const compressor = await add_fx({
  projectId: project.id,
  trackId: vocalTrack.id,
  name: "ReaComp",
  position: 0
});

// 이펙트 파라미터 설정
await set_fx_parameter({
  projectId: project.id,
  trackId: vocalTrack.id,
  fxId: compressor.id,
  parameter: "Threshold",
  value: -24
});

await set_fx_parameter({
  projectId: project.id,
  trackId: vocalTrack.id,
  fxId: compressor.id,
  parameter: "Ratio",
  value: 2.5
});

// 마커 추가
await add_marker({
  projectId: project.id,
  position: 15.5,
  name: "Chorus Start",
  color: "#FF5500"
});

// 볼륨 설정
await set_track_volume({
  projectId: project.id,
  trackId: guitarTrack.id,
  volume: -3,
  unit: "dB"
});

// 프로젝트 렌더링
await render_project({
  projectId: project.id,
  path: "/path/to/output/final_mix.wav",
  format: {
    type: "wav",
    sampleRate: 48000,
    bitDepth: 24
  },
  options: {
    normalizeLevel: -0.5,
    dither: true
  }
});

// 프로젝트 저장
await save_project({
  projectId: project.id,
  path: "/path/to/song_project.rpp"
});

연결된 구성 요소

  • ElevenLabs - 생성된 음성을 Reaper 프로젝트에 통합
  • DaVinci Resolve - 오디오 트랙을 비디오 프로젝트에 동기화
  • Video Editor - 오디오 요소를 비디오 프로젝트에 결합
  • YouTube - 완성된 오디오 프로젝트를 비디오와 함께 업로드