Teaching Claude to use my Novation Circuit Tracks - Part 3

·
ai music hardware

The final part: releasing the project that lets an AI compose and load music onto the Circuit.

In Parts 1 and 2, we went through the quest of teaching our beloved Claude how to use the Novation Circuit Tracks. In this very last part, I just want to share all we’ve done, so you can try it yourself if you own a Circuit Tracks or just check the code if you are curious!


Throughout the last 2 weeks, I’ve been working on making an MCP server that can control the Novation Circuit Tracks so we can use any AI Agent that supports MCP to build music on the device with us. The end result? You can have a conversation with an Agent about what kind of music you want to produce, and it will compose patterns, design sound patches, set up effects, and load everything onto your Circuit Tracks, all through natural language.

Here’s what it sounds like when you ask it to “make an ambient drone based short song”:

Claude made this — one prompt, one transfer, zero manual programming.
The full demo: prompt to playback on the Circuit Tracks

Go to the GitHub Repository if you want to see the code, or just install it from PyPI:

  • Library: pip install circuit-tracks-tools
  • MCP Server: pip install circuit-tracks-tools[mcp]

It works on macOS and Windows, with Python 3.11+. Any MCP-compatible AI agent can use it.

What will you find in this repository?

You’ll find 3 things:

  • An MCP Server with 46 tools covering everything from playing notes to building full songs, creating and managing patches, and writing projects to the device.
  • A Python Library to control the Circuit Tracks programmatically, including a Song format that lets you describe a full composition in a structured JSON and load it in one go.
  • Documentation on the reverse engineered NCS format and SysEx File Management Protocol. More than 40 pages of binary format specs, built from reverse engineering lots of real NCS projects. Take a look at Part 2 if you find this interesting. This might be helpful for building similar tools in other languages.

Check the repo README for more details.

What’s next?

This project is still in an early stage, but I wanted to share it in the wild to see if any other people find it interesting. This means the library might still contain bugs I didn’t catch, the MCP Tools might not be optimally described, etc. Some ideas that I think could be worked on next are:

  • Figuring out the missing parts of the NCS format
  • Improving the MCP server: currently I think it has too many tools, and the default instructions are not good enough.
  • Adding SKILLS or different system prompts for different types of music styles.

Feedback?

If you have anything to share, feel free to post issues on GitHub, reach me via mail or write a response on your own blog and send it to me via web mentions. I’m more than looking forward to hear from you!

Responses

Loading...