# DJ Claude [Health: Active]

**Category:** 🎥 Multimedia Process  
**Repository:** https://github.com/p-poss/dj-claude  
**GitHub Stars:** 37  
**npm Downloads (last month):** 270  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dj-claude

## Description
Agents can now live code music for you, themselves, and each other while they work.

## Tools
Capabilities this server exposes over MCP:

- **play_preset** — Play from the curated preset library (22 patterns across mood, genre, activity)
- **play_music** — Play music — via `prompt` (AI) or `code` (direct Strudel)
- **play_strudel** — Evaluate raw Strudel/Tidal code directly
- **set_vibe** — Set the mood — `chill`, `dark`, `hype`, `focus`, `funky`, `dreamy`, `weird`, `epic
- **live_mix** — Autonomous DJ set — via `prompt` (AI) or `stages_code` (array of Strudel)
- **jam** — Add/update a layer — via `prompt` (AI) or `code` (direct Strudel)
- **jam_clear** — Remove one or all layers from the jam session
- **jam_status** — Show all active layers with their role names and code
- **jam_preview** — Preview a jam layer without adding it — via `prompt` or `code
- **conduct** — Orchestrate a full band — via `directive` (AI) or `layers` map
- **conduct_evolve** — Evolve layers — via `directive` (AI) or `layers` map
- **mix_analysis** — Analyze the mix for frequency balance, gains, and suggestions
- **hush** — Stop all music playback
- **now_playing** — Check what's currently playing
- **switch_audio** — Switch between Node and browser audio backends at runtime
- **set_context** — Set coding context so music adapts to your activity
- **snapshot_save** — Save the current mix as a named snapshot
- **snapshot_load** — Restore a previously saved snapshot
- **snapshot_list** — List all saved snapshots
- **export_code** — Export current Strudel code with header comments

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "dj-claude": {
    "command": "npx",
    "args": ["-y","dj-claude"],
    "env": {
      "ANTHROPIC_API_KEY": "",
      "DJ_CLAUDE_BROWSER": ""
    }
  }
}
```

**Requires environment variables:** `ANTHROPIC_API_KEY`, `DJ_CLAUDE_BROWSER` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What DJ Claude MCP server does

DJ Claude MCP server gives AI agents tools for creating and managing live-coded music. It uses Strudel, a live coding environment for pattern-based music, and exposes controls for playback, composition, mixing, and session state.

Agents can start with one of 22 curated presets organized around moods, genres, and activities. They can also select a vibe such as chill, dark, hype, focus, funky, dreamy, weird, or epic. For more control, the agent can submit raw Strudel or Tidal code directly, or ask for music from a text prompt when an Anthropic API key is available.

The server also supports layered sessions. An agent can add or update roles such as drums, bass, or melody, preview a layer before adding it, inspect active layers, and remove individual layers or the entire jam. Conductor tools accept a directive or a layer map to arrange a full band and evolve its parts. Mix analysis reports frequency balance, gain information, and suggestions.

## How it works

The standard local entry point is `npx dj-claude-mcp`, which runs as an MCP server for compatible clients. A separate `npx dj-claude-mcp-http` entry point supports multi-agent jam sessions over HTTP, allowing multiple agents to contribute layers to a shared session in real time.

Audio normally uses the Node Web Audio implementation. The server can switch to a browser-based Web Audio backend during a session, or select it at startup with configuration. The browser option opens a background tab and is intended to improve playback quality for effects, pads, and layered patterns.

AI-generated inputs are optional. Presets, direct Strudel code, and explicit layer definitions work without an API key. Prompt-based generation and directive-based orchestration require `ANTHROPIC_API_KEY`.

## Setup and configuration

Add the server to an MCP client configuration with the `npx` command and the `-y` argument. To use browser audio, set `DJ_CLAUDE_BROWSER` to `1` in the server environment. Node.js 18 or newer is required.

Claude Code users can install the supplied plugin through the DJ Claude marketplace. The plugin adds slash commands for playback, vibes, jam management, analysis, snapshots, export, and HTTP connection setup. MCP permissions may need to be allowed in Claude Code settings if calls should run without repeated approval prompts.

## Tools and capabilities

The tool set includes playback controls such as `play_preset`, `play_music`, `play_strudel`, `live_mix`, `hush`, and `now_playing`. Session tools cover `jam`, `jam_clear`, `jam_status`, `jam_preview`, `conduct`, and `conduct_evolve`.

For state and output management, DJ Claude MCP server provides `set_context`, `switch_audio`, `mix_analysis`, `snapshot_save`, `snapshot_load`, `snapshot_list`, and `export_code`. Context settings let music respond to the activity an agent is working on. Export produces the current Strudel code with header comments, while snapshots save and restore named mixes.

## Limitations and notes

Prompt-driven generation depends on an Anthropic API key, but the server remains usable without one through presets and direct code inputs. The default Node audio backend works without a browser but may sound rougher than native browser audio for sample playback and effects.

The HTTP mode is the option intended for multiple agents. Local MCP clients can use the standard server for single-agent control, while multi-agent collaboration requires the HTTP server and its shared session model.

Its export feature returns Strudel code rather than a rendered audio file.

_Full upstream README: https://allmcps.com/mcp/dj-claude/readme_

