Two pieces work together:
- the Skill (
skills/musiccontext/) teaches Claude when to use MusicContext, how to carry thedetected / estimated / inferred / userdistinction through to you, and what never to claim (a track is not "licensed" unless its license is verified); - the MCP server (
musiccontext mcp) gives Claude ten typed tools. See mcp.md.
musiccontext init-agent --mcp- The Skill is copied to
~/.claude/skills/musiccontext/. Add--projectto install into./.claude/instead. --mcpmerges amusiccontextentry into./.mcp.json(an existing file is merged, never clobbered).- Nothing is overwritten without
--force.--dry-runprints exactly what would change. - Restart your Claude Code session afterwards.
Check it:
musiccontext doctor # "mcp server responds to initialize and lists 10 tools"/musiccontext
Analyze demo.mp4 and tell me what soundtrack it needs.
Natural language works too: "use MusicContext to choose music for demo.mp4", "make the music peak at the product reveal", "find music that works under the narration".
Tell it what you already know. A told fact beats an inference:
The reveal is at 18.2 seconds and the narration is in demo.srt.
Claude will pass --marker 18.2=reveal and the transcript, and the plan will mark that moment [user].
- Claude reports which facts were measured (duration, cuts, loudness) and which were estimated or inferred (speech timing without a transcript, scene roles, the reveal, tempo and beats of a track).
- Rendering never overwrites your video:
syncwrites a new file and refuses an existing path withoutforce. - The MCP server only reads and writes inside the working directory. To allow another folder:
MUSICCONTEXT_ROOTS=/path/one:/path/two.
musiccontextmust be on thePATHthat Claude Code was launched with.which musiccontext. A failure likeExecutable not found in $PATH: musiccontextmeans exactly that. Install withpipx, or put the virtualenv'sbin/on thePATH, or put the absolute path in.mcp.jsonundercommand.- Run
musiccontext doctorfor the MCP self-test. - Restart the session. MCP servers load at startup.