Token导航 LogoToken导航TokenDH.com
MCP Dj logo
音视频stdio官方级别未说明来源级核验

MCP Dj

MCP Server

基于AI的DJ歌单生成器,支持谐波混音和能量弧规划,可直接集成到Rekordbox库中。

工具数

12

提示词数

0

GitHub Stars

3

资源数

0
PythonClaude语音音频Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

darav-t

提供方

darav-t

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pytest

详细介绍

MCP DJ™——DJ列表创建器

基于本地Rekordbox库构建的AI驱动的DJ集表生成器,具有谐波混合和能量弧规划功能。

\[!注意\] 人工智能不能取代人类在舞池中的情感、感受和共鸣,但它可以帮助你提升它,明智地使用它;)

______________________________________________________________________

特性

  • 谐波混频 --Camelot车轮兼容性评分
  • 能源弧规划 --5个配置文件: journey, build, peak, chill, wave
  • AI聊天界面 --Claude驱动的自然语言集列表请求
  • MyTag感知集合构建build_set_from_prompt 在应用谐波/能量评分之前,使用您的Rekordbox我的标签筛选候选人
  • 集中式图书馆索引 --JSONL索引合并Rekordbox元数据、Essentia音频特征和MIK数据;在启动时构建,在分析过程中逐步更新
  • 混合密钥集成 --在可用时使用您的MIK能量额定值(可选)
  • Essentia音频分析 --基于机器学习的BPM、键、情绪、流派和音乐标记(可选)
  • 推荐导出 --直接在Rekordbox库中创建播放列表
  • Claude代码斜线命令/build-set, /dj-library, /export-set 用于快速编辑工作流程
  • 两个接口 --适用于克劳德桌面的FastAPI web UI+FastMCP服务器

______________________________________________________________________

运作原理

1.用通俗易懂的语言提问

描述你想要的曲目集——持续时间、氛围、流派、能量。人工智能会将你的请求转化为你自己的Rekordbox库中的评分曲目选择。

Generate a setlist from a natural language prompt

______________________________________________________________________

2.探索它能做什么

不确定从哪里开始?问 *“我能用DJ列表创建器做什么”* 它将引导您完成所有功能——库搜索、集列表生成、谐波流分析和Rekordbox导出。

Overview of capabilities

______________________________________________________________________

3.深入推理

提出后续问题,如 *“你怎么确定这是较暗的声音?”* 人工智能准确地解释了它使用了哪些信号——类型标签、能量分布、卡米洛特键范围——以及它的局限性。

Explanation of how darker sound is determined

______________________________________________________________________

4.直接导出到Rekordbox

一旦你对设置列表满意,让它按名称创建一个Rekordbox播放列表。播放列表会立即出现在您的库中,随时可用。

Export setlist as a Rekordbox playlist via chat

______________________________________________________________________

5.在Rekordbox中打开它并播放

导出的播放列表显示在Rekordbox中,所有曲目按顺序排列,BPM和按键可见,准备加载到甲板上。

Exported playlist open in Rekordbox

______________________________________________________________________

建筑

Your Rekordbox library (read-only)
         │
         ▼
  RekordboxDatabase          ← pyrekordbox / SQLCipher
         │
         ▼
   LibraryIndex              ← JSONL index: Rekordbox + Essentia + MIK merged per track
         │                      Built at startup, updated incrementally during analysis
         ▼
   EnergyResolver            ← Essentia cache → MIK CSV (optional) → BPM heuristic
         │
         ▼
   SetlistEngine             ← Camelot wheel scoring + energy arc planning
         │                      Candidate pool filtered from index via My Tags
    ┌────┴────┐
    ▼         ▼
 FastAPI    FastMCP
 Web UI     Claude Desktop / Claude Code
模块角色
database.py只读Rekordbox 6通过pyrekordbox访问
library_index.py集中式JSONL索引——合并Rekordbox+Essentia+MIK;动态属性扫描
camelot.py卡米洛特车轮——谐波兼容性评分
energy.py能量分辨率:Essentia缓存→ MIK CSV→ 相册标签→ BPM启发式
energy_planner.py5种能量电弧曲线(行程、构建、峰值、冷却、波动)
setlist_engine.py贪婪的赛道选择,谐波+能量+BPM评分
essentia_analyzer.pyML音频分析:BPM、按键、情绪、流派、标签(可选)
analyze_library.py使用并行工作器进行批量库分析;增量索引更新
analyze_track.py单轨分析CLI入口点
ai_integration.pyClaude API,具有工具调用、对话历史记录、回退模式
app.pyFastAPI web用户界面
mcp_server.py克劳德桌面版FastMCP服务器

______________________________________________________________________

MCP工具

工具说明
build_set_from_prompt自然语言→ 使用库索引中的“我的标签”过滤,和谐排序的集合列表
generate_setlist显式参数(类型、BPM、能量分布)的集合列表
plan_set基于氛围的集合规划(场地、人群、时间)
rebuild_library_index重建JSONL索引+动态属性摘要
get_library_attributes完整的动态属性摘要:标签层次结构、每个标签的BPM/能量/情绪、类型统计、共现
get_track_full_info一首曲目的完整合并记录(Rekordbox+Essentia+MIK)
search_library按查询、我的标签或日期范围搜索曲目
recommend_next_track当前播放曲目的谐波+能量建议
get_track_compatibility两条特定轨道之间的兼容性分析
analyze_track在单个文件上运行Essentia音频分析
analyze_library_essentia使用Essentia批量分析整个库
export_setlist_to_rekordbox从生成的集合列表创建Rekordbox播放列表

______________________________________________________________________

需求

  • Rekordbox 6已安装库
  • (可选) 混合钥匙 CSV导出
  • (可选)用于AI聊天的Anthropic API密钥
  • (可选) 本质亚张量流 用于ML音频分析
前面不需要其他东西。 主安装程序自动处理Python 3.12、uv、所有包、Rekordbox设置和Claude Desktop注册。

______________________________________________________________________

快速开始

macOS/Linux——从零开始的一个命令

# With Essentia ML audio analysis (recommended):
./install-master.sh --essentia

# Core only (faster, no audio analysis):
./install-master.sh

Windows--打开PowerShell并运行:

# Allow scripts to run (one-time, current user only):
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

# With Essentia ML audio analysis (recommended):
.\install-master.ps1 -Essentia

# Core only:
.\install-master.ps1

这两个脚本都安装Python 3.12、uv、所有项目依赖项,配置Rekordbox访问权限,创建您的 .env,在Claude Desktop中注册MCP服务器,并可选择运行完整的库分析——一次完成。不需要预先安装Python或包管理器。

# After install, start the web UI:
./run-server.sh
# Opens at http://localhost:8888
已经有Python和uv了吗?./install.sh (macOS/Linux)或查看 docs/setup.md 手动安装路径。

______________________________________________________________________

配置

所有配置都是通过环境变量进行的。复制 .env.example.env 并编辑:

变量默认值描述
ANTHROPIC_API_KEY_(无)_API密钥。如果未设置,则返回基于规则的模式。
SETLIST_PORT8888web UI的端口。
MIK_CSV_PATH_(无)_通往混合钥匙的道路 Library.csv 出口。如果未设置,则功能禁用。
REKORDBOX_DB_PATH自动检测如果Rekordbox位于非标准位置,则覆盖Pioneer目录路径。

Essentia音频分析(可选,推荐)

Essentia提供基于机器学习的每首曲目分析:BPM准确性、按键检测、可跳舞性、EBU R128响度、情绪概率(快乐、悲伤、攻击性、放松、聚会)、Discogs400流派评分和MagnaTagaATune音乐标签。

结果缓存在 .data/essentia_cache/ --每条轨迹只分析一次。库索引会随着每个轨迹的完成而递增更新,因此您可以在分析仍在运行时构建集。

# Install essentia + download ML models (~300 MB, one-time)
./install.sh --essentia

# Analyze your full library (skip already-cached tracks)
./analyze-library.sh

# Re-analyze everything
./analyze-library.sh --force

# Use parallel workers for faster analysis
./analyze-library.sh --workers 4

# Download/update models separately
./download_models.sh

图书馆索引

图书馆索引(.data/library_index.jsonl)将所有跟踪数据合并到一个JSONL文件中,用于My Tag过滤和属性查找。它在服务器启动时自动构建(如果超过1小时,则刷新),并在任何批处理分析运行后重建。

要强制进行完全重建,请执行以下操作:

# Via MCP tool (in Claude Desktop or Claude Code)
rebuild_library_index(force=True)

混合键(可选)

混合输入键的能量数据为设置列表发动机提供了准确的每条轨道的能量额定值。没有Essentia或MIK,能量是从BPM和流派标签中推断出来的。

要启用:

  1. In混合键→ 将库导出为CSV
  2. MIK_CSV_PATH=/path/to/Library.csv 在你的 .env

______________________________________________________________________

克劳德桌面集成(MCP)

MCP服务器通过项目的virtualenv运行(.venv).对每个平台使用相同的样式:

  1. 打开 claude_desktop_config.json 在这个回购中。
  2. 替换 /path/to/mcp_dj 随着 绝对路径 到您机器上的这个仓库。
  3. 合并 mcpServers 将块插入操作系统的Claude Desktop配置中:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json

  1. 重新启动克劳德桌面。

macOS/Linux --条目使用bash和项目venv:

"mcp-dj": {
  "command": "/bin/bash",
  "args": ["-c", "cd '/path/to/mcp_dj' && exec .venv/bin/python3 -m mcp_dj.mcp_server"]
}

视窗 --使用 cmd 以及Windows venv路径:

"mcp-dj": {
  "command": "cmd",
  "args": ["/c", "cd /d \"C:\\path\\to\\mcp_dj\" && .venv\\Scripts\\python.exe -m mcp_dj.mcp_server"]
}

./install-master.sh (macOS/Linux)或 .\install-master.ps1 (Windows)自动添加此条目。或者跑 ./install.sh 如果你已经设置了Python和uv。

或者手动运行MCP服务器:

./run-mcp.sh

______________________________________________________________________

Claude代码Slash命令

如果您使用Claude Code(CLI),则可以在中使用三个斜线命令 .claude/commands/:

命令它的作用
/build-set [prompt]从自然语言提示构建DJ集——通话 build_set_from_prompt,使用能量火花线格式化轨迹列表表,并提供导出/调整操作
/dj-library [query]浏览你的库——按标签、流派、艺术家或曲目搜索;显示库统计信息和完整的MyTag层次结构
/export-set [name]将最近生成的集导出到Rekordbox作为命名播放列表

例子:

/build-set 90min sunset progressive house, start melodic then build to peak
/dj-library Festival
/export-set Sunset Set Feb 2026

______________________________________________________________________

项目结构

dj-setlist-creator-mcp/
├── mcp_dj/
│   ├── app.py               # FastAPI web application
│   ├── mcp_server.py        # FastMCP server for Claude Desktop
│   ├── models.py            # Pydantic data models
│   ├── database.py          # Rekordbox database layer (read-only)
│   ├── library_index.py     # Centralized JSONL library index + dynamic attributes
│   ├── camelot.py           # Camelot wheel harmonic mixing engine
│   ├── energy.py            # Energy resolution (Essentia / MIK CSV / BPM heuristic)
│   ├── energy_planner.py    # Energy arc profiles
│   ├── setlist_engine.py    # Core setlist generation algorithm
│   ├── essentia_analyzer.py # ML audio analysis (BPM, key, mood, genre, tags)
│   ├── analyze_library.py   # Batch library analysis with parallel workers
│   ├── analyze_track.py     # Single-track analysis CLI entry point
│   ├── ai_integration.py    # Claude API integration with tool calling
│   └── static/
│       └── index.html       # Web UI
├── .claude/
│   └── commands/
│       ├── build-set.md     # /build-set slash command
│       ├── dj-library.md    # /dj-library slash command
│       └── export-set.md    # /export-set slash command
├── tests/
├── screenshots/
├── .data/                   # Git-ignored: Essentia cache, ML models, library index
│   ├── essentia_cache/      # Per-track analysis JSON cache
│   ├── models/              # ML model files (~300 MB, downloaded once)
│   ├── library_index.jsonl  # Merged track index (Rekordbox + Essentia + MIK)
│   └── library_attributes.json  # Dynamic attribute summary (tags, genres, BPM/energy)
├── install-master.sh        # ← START HERE (macOS/Linux): zero-to-running, no Python needed
├── install-master.ps1       # ← START HERE (Windows): zero-to-running, no Python needed
├── install.sh               # Standard install (requires Python + uv already installed)
├── analyze-library.sh       # Batch-analyze Rekordbox library with Essentia
├── download_models.sh       # Download Essentia ML models
├── run-server.sh            # Start the web UI
├── run-mcp.sh               # Start the MCP server
├── docs/                    # Full documentation (setup, library analysis, building sets, reference)
├── .env.example             # Configuration template
└── pyproject.toml

______________________________________________________________________

发展

# Run tests
uv run pytest

# Run on a custom port
SETLIST_PORT=9000 ./run-server.sh

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

PythonClaude语音音频DJ工具本地部署音乐混音AI生成Rekordbox集成谐波混音

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP