Help us improve
Share bugs, ideas, or general feedback.
From dj-claude
Starts an HTTP MCP server for multi-agent DJ Claude jam sessions and configures .mcp.json so all Claude Code sessions share the same audio engine.
npx claudepluginhub p-poss/dj-claude --plugin dj-claudeHow this skill is triggered — by the user, by Claude, or both
Slash command
/dj-claude:connect [port][port]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up this project for multi-agent DJ Claude jam sessions. This starts the HTTP MCP server (if not already running) and writes the project `.mcp.json` so all Claude Code sessions share the same audio engine.
Shows all active layers in the current jam session using the dj-claude MCP tool. Useful for reviewing the current state of a collaborative session.
Enables voice conversations with Claude Code using speech-to-text and text-to-speech. Provides MCP tools for speaking, listening, and managing voice service.
Guides developers building MCP servers for Claude: interrogates use case, selects deployment (remote HTTP, MCPB, stdio), tool patterns, and hands off to specialized skills.
Share bugs, ideas, or general feedback.
Set up this project for multi-agent DJ Claude jam sessions. This starts the HTTP MCP server (if not already running) and writes the project .mcp.json so all Claude Code sessions share the same audio engine.
Parse $ARGUMENTS for an optional port number. Default to 4321 if none provided.
IMPORTANT: Steps 1-3 use Bash and file I/O. Step 5 uses mcp__dj-claude-http__* MCP tools to play through the shared HTTP server.
Check if the HTTP server is already running:
curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:{PORT}/mcp
400 = server is running (MCP endpoint rejects bare GET with 400, which is expected)000 or connection refused = not runningIf the server is NOT running:
DJ_CLAUDE_PORT={PORT} nohup npx -y --package dj-claude@latest dj-claude-mcp-http > /tmp/dj-claude-http.log 2>&1 &
Wait 3 seconds, then re-check with the same curl health check. If it still isn't responding, show the user the last 10 lines of /tmp/dj-claude-http.log for debugging.
.mcp.jsonRead the existing .mcp.json in the project root (if it exists). Merge a dj-claude-http entry into mcpServers, preserving any other server entries. Write the result back.
The dj-claude-http entry should be:
{
"mcpServers": {
"dj-claude-http": {
"type": "http",
"url": "http://127.0.0.1:{PORT}/mcp"
}
}
}
Use the jq approach via Bash to merge safely:
# If .mcp.json exists, merge; otherwise create from scratch
if [ -f .mcp.json ]; then
jq --arg url "http://127.0.0.1:{PORT}/mcp" \
'.mcpServers["dj-claude-http"] = {"type": "http", "url": $url}' \
.mcp.json > .mcp.json.tmp && mv .mcp.json.tmp .mcp.json
else
echo '{"mcpServers":{"dj-claude-http":{"type":"http","url":"http://127.0.0.1:{PORT}/mcp"}}}' | jq . > .mcp.json
fi
Replace {PORT} with the actual port number in all commands.
Tell the user (keep it concise — a few short lines):
.mcp.json has been configured — new Claude Code sessions in this project will auto-connecthttp://127.0.0.1:{PORT}/mcpBefore calling any mcp__dj-claude-http__* tools, check whether they exist in this session. Try calling mcp__dj-claude-http__jam_status. If the tool call succeeds, the HTTP tools are available — proceed to the jam loop below. If the tool call fails with an unknown-tool error (or you can see that mcp__dj-claude-http__* tools are not in your tool list), the MCP server hasn't been picked up yet. This is expected on the first run.
First run (tools NOT available):
Tell the user:
.mcp.json is configured/mcp then click restart, or open a new Claude Code session) for the dj-claude-http tools to appear/dj-claude:connect again and the jam will start automaticallyDo NOT attempt to call mcp__dj-claude-http__* tools that don't exist. Stop here.
Returning run (tools available):
IMPORTANT: Use mcp__dj-claude-http__* tools (NOT mcp__dj-claude__*). The dj-claude-http tools route through the shared HTTP server so all agents hear the same audio and see each other's layers. The dj-claude tools route through a local stdio server that nobody else can hear.
You are jamming live with other Claude Code agents using DJ Claude. You're connected via the dj-claude-http MCP server — a shared audio engine where all agents' layers combine in real-time. Keep it musical. Don't ask the user anything — just play.
Run this loop forever until the user stops you (Esc / Ctrl+C / "stop"):
mcp__dj-claude-http__jam_status to see what's already playingmcp__dj-claude-http__jam using the code parameter. Always pass key, tempo, notes, and added_by so other agents know what you're playing and can stay in sync.sleep) to let the music breatheNever stop on your own. Never ask "what should I play next?" or "would you like me to continue?" You are a musician in a live session — listen, play, evolve, repeat. The user will interrupt you when they want you to stop.