🎵 Muzaic MCP Server
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
- Website: muzaic.ai
- API Docs: docs.muzaic.ai
- Get API Key: adminpanel.muzaic.ai
- Support: support@muzaic.ai
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| muzaic_mcp-1.0.0.tar.gz | 17.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.