# Chord Progression Analyzer MCP MCP

> The Chord Progression Analyzer helps musicians and theory students quickly translate raw chord lists into deep harmonic insights. It identifies Roman numeral functions relative to any key, classifies patterns like cadences, and even pinpoints the emotional or stylistic mood associated with a sequence of chords.

## Overview
- **Category:** analysis
- **Price:** Free
- **Tags:** music-theory, chords, roman-numerals, harmonic-analysis, musicians

## Description

Figuring out the musical meaning behind a string of chords used to sound good? This MCP handles that heavy lifting for you. You feed it a list—say, C major followed by Am, then F, G—and it immediately tells you what those chords mean in terms of scale function (I, vi, IV, V). It doesn't just stop there; the system detects complex harmonic structures, pinpointing if you’ve landed on a perfect cadence or using a secondary dominant. You can even get metadata on the emotional feel and common genres linked to that progression. This means your AI agent isn't just processing data; it's giving you real musical context. And when you start chaining this MCP with another system—say, an inventory management tool—all through Vinkius, you build automations that cross disciplines, linking music theory directly to operational workflows.

## Tools

### analyze_roman_numerals
Converts any list of named chords into their Roman numeral functions relative to a key you provide.

### classify_progression
Analyzes a sequence of Roman numerals to identify the overarching harmonic pattern present in the progression.

### lookup_musical_context
Retrieves stylistic and emotional metadata associated with a specific type of musical progression.

## Prompt Examples

**Prompt:** 
```
Analyze the progression C, Am, F, G in the key of C Major.
```

**Response:** 
```
The Roman numeral functions for this sequence are ["I", "vi", "IV", "V"].
```

**Prompt:** 
```
What is the harmonic pattern of ['I', 'IV', 'V', 'I']?
```

**Response:** 
```
The identified progression type is a cadence.
```

**Prompt:** 
```
What emotion is associated with a 'secondary dominant'?
```

**Response:** 
```
A secondary dominant typically evokes tension and movement.
```

## Capabilities

### Map chords to Roman numerals
Takes any list of named chords and converts them into their corresponding scale degrees using Roman numeral notation relative to a key.

### Identify harmonic patterns
Analyzes a sequence of Roman numerals to classify the overall underlying structure, such as detecting cadences or specific dominant relationships.

### Determine musical context and mood
Retrieves stylistic metadata, giving you an idea of the emotional resonance or common genres associated with a given chord progression type.

## Use Cases

### Fixing an awkward chord change
A composer has a section that sounds directionless. They feed the chords into the analyzer. The agent uses `classify_progression` and tells them, 'This is not resolving to a dominant; try changing the last chord to V/V.' This immediately guides their writing.

### Structuring a song's emotional arc
A student needs to write a dramatic section. They ask the agent for progressions that evoke 'tension and movement.' The agent uses `lookup_musical_context` to suggest secondary dominant patterns, giving the student a clear theoretical starting point.

### Analyzing historical music
A researcher has transcribed old sheet music. They feed the chords into the MCP. The agent first uses `analyze_roman_numerals` to get functions, and then combines it with `lookup_musical_context` to identify the genre and era of the piece.

### Validating theory homework
A student submits a list of chords for review. They prompt the agent with the full sequence. The MCP runs all three tools, providing not only Roman numerals but also confirming if the pattern is mathematically sound (e.g., 'This is a strong plagal cadence').

## Benefits

- Instantly convert raw chord names to Roman numerals. Instead of manually looking up scale degrees for every change, use `analyze_roman_numerals` to get the functions immediately.
- Pinpoint structural weaknesses or strengths. Use `classify_progression` to confirm if a sequence is hitting a perfect cadence, which validates your harmonic structure.
- Understand the 'feel' of your music. `lookup_musical_context` pulls emotional and stylistic metadata, so you know exactly what mood secondary dominants are supposed to evoke.
- Speed up composition workflow. You can run through multiple chord variations in minutes, getting immediate feedback on their theoretical soundness.
- Maintain a consistent focus. Because this MCP is built into the Vinkius platform, your agent always runs secure and fast, giving you reliable results every time.

## How It Works

The bottom line is you stop guessing what those chords mean. You get an immediate, technical breakdown of their function and emotional weight.

1. Start by giving your AI client the raw chords and specifying the key (e.g., 'C, G/B, Am' in C Major).
2. The MCP processes the list through its core tools to map these chords into Roman numerals, then checks for complex patterns.
3. You get back a structured output detailing not only the functions but also the specific musical pattern name and associated stylistic metadata.

## Frequently Asked Questions

**How do I use the analyze_roman_numerals tool?**
You provide a list of chords and specify the key (e.g., 'C, G/B, Am' in C Major). The tool then returns the corresponding Roman numeral functions for every chord.

**Can I find out if my progression is a cadence using classify_progression?**
Yes, that’s exactly what `classify_progression` does. You input the sequence of Roman numerals (like 'I-IV-V-I') and it identifies the overarching harmonic pattern for you.

**What is lookup_musical_context used for?**
Use `lookup_musical_context` to get metadata. It tells you what emotional tone or genre (like 'tension' or 'minor blues') is typically linked to a specific progression type.

**Do I need multiple MCPs for harmonic analysis?**
No, this single MCP handles the full cycle: mapping chords (`analyze_roman_numerals`), classifying patterns (`classify_progression`), and giving context (`lookup_musical_context`). It's all in one place.

**How do I get a complete harmonic breakdown by chaining analyze_roman_numerals, classify_progression, and lookup_musical_context?**
You run the tools in sequence. First, use `analyze_roman_numerals` to convert your chords into Roman numerals relative to a key. Then, feed those results into `classify_progression` to identify patterns like cadences. Finally, pass that pattern type to `lookup_musical_context` for the emotional context.

**If I use analyze_roman_numerals with non-standard or ambiguous chords, how does the tool handle it?**
The system is built on common Western music theory and will return an explicit error if a chord name falls outside its supported vocabulary. It’s best to standardize your input names (e.g., use 'C' instead of 'Cmaj').

**What security measures protect my private musical data when running this MCP?**
Your chord sequences and keys are protected by Vinkius’s zero-trust proxy architecture. Credentials pass through in transit but they never sit on a disk, keeping your work secure.

**What is the practical limit for the length of a progression I can analyze with classify_progression?**
While there is a maximum input length, performance improves when you break down very long progressions. Analyzing in 8-bar or 16-bar chunks gives you more accurate and faster results.