Skip to main content

🎵 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

Metadata

Release files for muzaic-mcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for muzaic-mcp 1.0.0
File Size Uploaded Provenance
muzaic_mcp-1.0.0.tar.gz 17.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for muzaic-mcp 1.0.0
File Interpreter ABI Platform
muzaic_mcp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.1 kB

Release files / muzaic_mcp-1.0.0.tar.gz

Download URL muzaic_mcp-1.0.0.tar.gz
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d1f8d6f7d4488d2f930b7efdf80796dca6ad5f966da3c5d10dfc5442a464362f
BLAKE2b-256 checksum
How to use checksums
2cf0ca49ba2c5265a430f158da24d7a6b3c1b9d62163126ea829252356211c78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / muzaic_mcp-1.0.0-py3-none-any.whl

Download URL muzaic_mcp-1.0.0-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
943eb1566ed8bef51b4a96ce2e4a1d028eed6bf2c01bdeaebbdf387be78cfdd2
BLAKE2b-256 checksum
How to use checksums
b6d3967c5b00f5e2d84a48dc439ea83a6e12c26714ac33185a1a489deef38b53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Security for muzaic-mcp 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page