MakeMKV MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install .
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add makemkv-mcp -- node "<FULL_PATH_TO_MAKEMKV_MCP>/dist/index.js"

Replace <FULL_PATH_TO_MAKEMKV_MCP>/dist/index.js with the actual folder you prepared in step 1.

README.md

Integrates MakeMKV with the Model Context Protocol for optical disc ripping.

makemkv-mcp

What is this?

makemkv-mcp is a standalone Model Context Protocol (MCP) server that wraps the makemkvcon command-line tool, exposing disc ripping capabilities as tools that any MCP-compatible client (Claude Desktop, Hivemind, etc.) can call. It runs on the machine with MakeMKV installed and an optical drive attached. The MCP client connects to it remotely via Streamable HTTP or locally via stdio.

Features

  • Scan optical drives and detect loaded discs
  • Scan disc contents — titles, streams, durations, sizes, codecs
  • Rip individual titles or all titles as async background jobs
  • Full disc backup
  • Persistent job queue with real-time progress tracking (SQLite-backed)
  • Auto-rip daemon with configurable strategies (longest, all, min_duration)
  • Discord webhook and generic webhook notifications
  • Agent callback notifications for rip lifecycle events
  • Cross-platform support (Linux, macOS, Windows)
  • Runs over stdio (local) or Streamable HTTP (remote/network)

Quick Start

From source

git clone https://github.com/hivementality/makemkv-mcp.git
cd makemkv-mcp
pip install .
makemkv-mcp

With pip

pip install .

# Run locally (stdio)
makemkv-mcp

# Run on the network (HTTP)
makemkv-mcp --transport streamable_http --port 8099

With Docker

docker-compose up -d

Installation

Prerequisites

  • Python 3.10+
  • MakeMKV with makemkvcon in your PATH — download here
  • An optical drive (Blu-ray, DVD, etc.)

Linux

# Install MakeMKV (Ubuntu/Debian example)
sudo apt install makemkv-bin makemkv-oss

# Install makemkv-mcp
git clone https://github.com/hivementality/makemkv-mcp.git
cd makemkv-mcp
./install.sh

The installer will offer to set up a systemd service for auto-start.

macOS

# Install MakeMKV from https://www.makemkv.com/

git clone https://github.com/hivementality/makemkv-mcp.git
cd makemkv-mcp
./install.sh

The installer will offer to set up a launchd service for auto-start.

Windows

# Install MakeMKV from https://www.makemkv.com/

git clone https://github.com/hivementality/makemkv-mcp.git
cd makemkv-mcp
.\install.ps1

The installer will offer to create a scheduled task for auto-start at login.

Configuration

Generate the default config file:

makemkv-mcp --init-config

This writes to the platform-specific default location:

Platform Config path
Linux ~/.config/makemkv-mcp/config.yaml
macOS ~/Library/Application Support/makemkv-mcp/config.yaml
Windows %APPDATA%\makemkv-mcp\config.yaml

You can also pass --config /path/to/config.yaml or set the MAKEMKV_MCP_CONFIG environment variable.

Full config reference

server:
  host: "0.0.0.0"                # Bind address for HTTP transport
  port: 8099                     # Port for HTTP transport
  transport: "stdio"             # "stdio" or "streamable_http"

makemkv:
  binary: "makemkvcon"           # Path or name of makemkvcon binary
  default_output: "~/makemkv-output"  # Default rip output directory
  min_title_length: 120          # Minimum title duration (seconds) for auto-rip filtering
  timeout: 7200                  # Max seconds for a single rip operation

auto_rip:
  enabled: false                 # Enable auto-rip on disc insertion
  poll_interval: 30              # Seconds between drive polls
  strategy: "longest"            # Title selection: "longest", "all", or "min_duration"
  eject_after: true              # Eject disc after successful rip

notifications:
  agent_notify: true             # Send notifications back to MCP agent
  discord_webhook: null          # Discord webhook URL
  webhook_url: null              # Generic webhook URL (POST JSON)

Usage

With Claude Desktop (stdio)

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "makemkv": {
      "command": "makemkv-mcp"
    }
  }
}

With Hivemind / Remote clients (Streamable HTTP)

Start the server on the machine with the optical drive:

makemkv-mcp --transport streamable_http --host 0.0.0.0 --port 8099

Then point your MCP client at it:

{
  "mcpServers": {
    "makemkv": {
      "url": "http://YOUR_IP:8099/mcp"
    }
  }
}

With Docker

# Edit docker-compose.yaml to set your output path and drive device
docker-compose up -d

The container exposes port 8099 by default and expects the optical drive passed through as a device.

MCP Tools Reference

Tool Type Description
`makemkv_list_drive

Tools (4)

makemkv_list_drivesScan optical drives and detect loaded discs.
makemkv_scan_discScan disc contents including titles, streams, durations, sizes, and codecs.
makemkv_rip_titleRip an individual title from the disc as an async background job.
makemkv_backup_discPerform a full disc backup.

Environment Variables

MAKEMKV_MCP_CONFIGPath to the configuration YAML file.

Configuration

claude_desktop_config.json
{"mcpServers": {"makemkv": {"command": "makemkv-mcp"}}}

Try it

Scan my optical drive and tell me what titles are available on the disc.
Rip the longest title from the disc in the drive to my output folder.
Perform a full backup of the Blu-ray currently in the drive.
Check the status of my current ripping jobs.

Frequently Asked Questions

What are the key features of MakeMKV MCP?

Scan optical drives and detect loaded discs. Rip individual titles or full disc backups as async background jobs. Persistent job queue with SQLite-backed progress tracking. Auto-rip daemon with configurable strategies like longest title or min duration. Discord and generic webhook notifications for rip lifecycle events.

What can I use MakeMKV MCP for?

Digitizing a personal collection of DVDs and Blu-rays using natural language commands.. Automating the ripping process for large disc collections with custom filtering strategies.. Monitoring disc ripping progress remotely via Discord notifications.. Integrating optical media management into an AI-driven home media server workflow..

How do I install MakeMKV MCP?

Install MakeMKV MCP by running: pip install .

What MCP clients work with MakeMKV MCP?

MakeMKV MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep MakeMKV MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare