MCP Hub
Back to servers

Music21 Composer MCP

An algorithmic music composition server built on music21 that provides tools for melody generation, musical transformations, counterpoint, and MIDI export. It enables generative music workflows by allowing AI agents to manipulate musical structures like ABC notation, MusicXML, and MIDI.

Tools
6
Updated
Dec 31, 2025

Music21 Composer MCP

A composition-focused MCP server built on music21, designed for generative workflows.

Features

  • generate_melody - Constraint-based melody generation
  • transform_phrase - Musical transformations (sequence, inversion, retrograde, etc.)
  • reharmonize - Generate alternative chord progressions
  • add_voice - Counterpoint and voice generation
  • realize_chord - Chord symbol to voicing
  • export_midi - Export to MIDI format

Installation

# Clone the repository
git clone <repo-url>
cd music21-composer-mcp

# Install with dev dependencies
pip install -e ".[dev]"

Quick Start

Start the HTTP server

composer-mcp --mode http --port 8000

API Usage

# Export notes to MIDI
curl -X POST http://localhost:8000/export_midi \
  -H "Content-Type: application/json" \
  -d '{"stream": "C4, D4, E4, G4", "tempo": 120}'

API Documentation

With the server running, visit http://localhost:8000/docs for interactive API documentation.

Input Formats

The API accepts three input formats:

1. Note List (simplest)

C4, D4, E4, G4           # Quarter notes (default)
C4:h, D4:q, E4:e         # With durations (h=half, q=quarter, e=eighth)
C#4:qd, Bb3:h            # Accidentals and dotted notes

2. ABC Notation

X:1
M:4/4
K:C
CDEF|GABc|

3. MusicXML

Standard MusicXML format.

Development

# Run tests
pytest

# Run with coverage
pytest --cov=composer_mcp

# Format code
black src tests
ruff check src tests

Implementation Status

ToolStatus
export_midiImplemented
realize_chordPhase 2
generate_melodyPhase 2
reharmonizePhase 3
add_voicePhase 4
transform_phrasePhase 5
MCP adapterPhase 6

License

MIT

Reviews

No reviews yet

Sign in to write a review