Skip to main content

Official MCP server for Muzaic AI — generate custom music for video content

Project description

🎵 Muzaic MCP Server

PyPI version License: MIT Python 3.10+ MCP Compatible

Official MCP server for Muzaic AI — generate custom music for video content


✨ What is this?

Muzaic MCP Server connects the Muzaic AI music generation API to any LLM or agent that speaks the Model Context Protocol (MCP). Generate AI-powered soundtracks for videos — directly from Claude, Cursor, VS Code, or any MCP client.

  • 🎶 Generate single tracks or multi-region soundtracks
  • 🏷️ Browse 30+ music tags (style, mood, genre, cultural)
  • 🎛️ Fine-tune with 5 parameters: intensity, tempo, rhythm, tone, variance
  • 📈 Dynamic keyframes for parameter changes over time
  • ✅ Tag compatibility validation
  • 💰 Check account balance and token usage

⚠️ Note: Muzaic tokens are needed to generate music. Get your API key from adminpanel.muzaic.ai.


📦 Quick Install

pip install muzaic-mcp

Or with uv:

uv pip install muzaic-mcp

🏃 Quick Start

export MUZAIC_API_KEY=your_api_key_here
muzaic-mcp

🔧 Configuration

Claude Desktop

Go to Claude → Settings → Developer → Edit Config and add:

{
  "mcpServers": {
    "Muzaic": {
      "command": "uvx",
      "args": ["muzaic-mcp"],
      "env": {
        "MUZAIC_API_KEY": "<your-api-key>"
      }
    }
  }
}

Cursor

Windows: Add to %USERPROFILE%\.cursor\mcp.json (e.g., C:\Users\YourName\.cursor\mcp.json)

macOS/Linux: Add to ~/.cursor/mcp.json

{
  "mcpServers": {
    "Muzaic": {
      "command": "uvx",
      "args": ["muzaic-mcp"],
      "env": {
        "MUZAIC_API_KEY": "<your-api-key>"
      }
    }
  }
}

Note: If uvx is not in your PATH, use the full path. On Windows with Python installed, you can find it with:

where.exe uvx
# Or if using uv:
where.exe uv
# Then use: "C:\\path\\to\\uv.exe" with args: ["tool", "run", "muzaic-mcp"]

Alternatively, if you have Python installed, you can use:

{
  "mcpServers": {
    "Muzaic": {
      "command": "python",
      "args": ["-m", "muzaic_mcp.server"],
      "env": {
        "MUZAIC_API_KEY": "<your-api-key>"
      }
    }
  }
}

Claude Code

claude mcp add-json "Muzaic" '{"command":"uvx","args":["muzaic-mcp"],"env":{"MUZAIC_API_KEY":"<your-api-key>"}}'

VS Code

Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "Muzaic": {
      "command": "uvx",
      "args": ["muzaic-mcp"],
      "env": {
        "MUZAIC_API_KEY": "<your-api-key>"
      }
    }
  }
}

🛠️ Available Tools

Tool Description Cost
muzaic_get_tags List all available music tags with descriptions Free
muzaic_validate_tags Check tag combination compatibility Free
muzaic_account_info Check token balance and usage Free
muzaic_generate_music Generate a single AI music track 1 token/sec
muzaic_create_soundtrack Create multi-region soundtrack with different styles 1 token/sec
muzaic_regenerate Regenerate music from a previous hash 1 token/sec

💬 Example Prompts

Try these with Claude, Cursor, or any MCP client:

  • "What music styles can you generate with Muzaic?"
  • "Create a 60-second upbeat pop track for a product video"
  • "Generate a cinematic soundtrack that starts calm and builds to epic over 2 minutes"
  • "Make a 30-second chill ambient track for a meditation app intro"
  • "Create a soundtrack with 3 sections: calm intro, energetic middle, peaceful outro"

🎛️ Music Parameters

All parameters range from 1 (low) to 9 (high):

Parameter 1 9
intensity Calm, ambient High energy, powerful
tempo Very slow Very fast
rhythm Simple, steady Complex patterns
tone Dark, moody Bright, cheerful
variance Repetitive Diverse, changing

Dynamic Keyframes

All parameters except tempo support keyframes — values that change over the duration of the track. Positions are expressed as percentages (0–100%) of the track duration.

# 30-second track: intensity drops at 10s, then rises to max at the end
intensity: [[0, 5], [33, 1], [100, 9]]
          ↑ start at 5  ↑ drop to 1 at 33% (=10s)  ↑ rise to 9 at 100% (=30s)

Tempo only accepts a static value (1–9) — keyframes are not supported for tempo.


🐛 Troubleshooting

API key not set

Error: MUZAIC_API_KEY is not set

Make sure the MUZAIC_API_KEY environment variable is configured in your MCP client settings.

uvx not found

Windows:

# Find uvx location
where.exe uvx

# If not found, install uv first:
# pip install uv
# Or download from: https://github.com/astral-sh/uv/releases

# Then use full path in mcp.json:
# "command": "C:\\Users\\YourName\\AppData\\Local\\Programs\\uv\\uv.exe"
# "args": ["tool", "run", "muzaic-mcp"]

macOS/Linux:

# Find uvx location
which uvx

# If not found, install uv:
# curl -LsSf https://astral.sh/uv/install.sh | sh

# Then use full path in config:
# "command": "/usr/local/bin/uvx"

Alternative: Use Python directly if uvx is unavailable:

{
  "mcpServers": {
    "Muzaic": {
      "command": "python",
      "args": ["-m", "muzaic_mcp.server"],
      "env": {
        "MUZAIC_API_KEY": "<your-api-key>"
      }
    }
  }
}

Timeout on long tracks

Music generation can take up to 5 minutes for 20-minute tracks. This is normal. If using MCP Inspector in dev mode, you may see timeout errors even though the generation completes.


🧪 Development

# Clone
git clone https://github.com/MUZAIC-Organization/muzaic-mcp.git
cd muzaic-mcp

# Install with dev dependencies
uv sync
# Or with pip:
# pip install -e ".[dev]"

# Run in dev mode
# Windows PowerShell:
$env:MUZAIC_API_KEY="your_key"
# macOS/Linux:
export MUZAIC_API_KEY=your_key

uv run mcp dev muzaic_mcp/server.py
# Or with pip:
# python -m muzaic_mcp.server

# Run tests
uv run pytest
# Or with pip:
# pytest

Local Development Setup

If you're developing locally and want to test without publishing to PyPI:

Windows:

# Install in editable mode
pip install -e .

# Test the command
$env:MUZAIC_API_KEY="your_key"
muzaic-mcp

macOS/Linux:

# Install in editable mode
pip install -e .

# Test the command
export MUZAIC_API_KEY=your_key
muzaic-mcp

Testing with MCP Inspector

npx @modelcontextprotocol/inspector
# → Transport: stdio
# → Command: uv run muzaic-mcp
# Or: python -m muzaic_mcp.server

Windows Note: If you encounter issues with npx, ensure Node.js is installed and in your PATH. You can also use the full path to npx if needed.


📄 License

MIT — see LICENSE for details.


🔗 Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

muzaic_mcp-1.0.0.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

muzaic_mcp-1.0.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file muzaic_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: muzaic_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for muzaic_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d1f8d6f7d4488d2f930b7efdf80796dca6ad5f966da3c5d10dfc5442a464362f
MD5 8f46b5d70e10849d5772de85eb8f8fb6
BLAKE2b-256 2cf0ca49ba2c5265a430f158da24d7a6b3c1b9d62163126ea829252356211c78

See more details on using hashes here.

File details

Details for the file muzaic_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: muzaic_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for muzaic_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 943eb1566ed8bef51b4a96ce2e4a1d028eed6bf2c01bdeaebbdf387be78cfdd2
MD5 5b650ff3478a8cb807c0f866b4637584
BLAKE2b-256 b6d3967c5b00f5e2d84a48dc439ea83a6e12c26714ac33185a1a489deef38b53

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page