Chord Constructor MCP. Analyze, structure, and arrange chords instantly.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
The Chord Constructor MCP breaks down any complex chord notation into its component notes, harmonic roles, and possible inversions. It's a musical engine for composers and theorists that analyzes structure, generates various voicings (open or closed), and maps out how chords fit within a key.
Stop spending hours manually mapping out theory; get instant, structured data for composition and analysis.
What your AI agents can do
Determine harmonic role
Identifies which functional role a chord plays within a specific musical key (e.g., tonic, subdominant).
Generate voicings
Arranges notes into structured textures, supporting both closed and open sounding arrangements.
Get chord inversions
Calculates all possible ways a chord can be played by changing which note acts as the bass pitch.
Converts standard chord name strings (like 'Cmaj7') into their structured component parts: root, intervals, and normalized notes.
Identifies the functional role of a specific chord within a defined musical key (Tonic, Dominant, etc.).
Calculates every possible permutation of a chord, showing how different notes can serve as the bass.
Arranges a set of notes into structured musical textures, supporting both tight 'closed' and spaced 'open' styles.
Ask AI about this MCP
Supported MCP Clients
OAuth 2.0 CompatibleWaiting for input…
Chord Constructor: 4 Tools
These tools let your agent break down chord notations, find their functional role in a key, generate all possible inversions, and arrange notes into specific voicings.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Chord Constructor on Vinkius019ecb72determine harmonic role
Identifies which functional role a chord plays within a specific musical key (e.g., tonic, subdominant).
019ecb72generate voicings
Arranges notes into structured textures, supporting both closed and open sounding arrangements.
019ecb72get chord inversions
Calculates all possible ways a chord can be played by changing which note acts as the bass pitch.
019ecb72parse chord string
Breaks down any standard chord name string into its basic roots and component intervals.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Chord Constructor, then connect any of our 4,800+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,800+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Chord Constructor. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 4 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Manually mapping out every harmonic possibility is brutal.
Think about it. You're working on a piece, and you hit a chord change that feels slightly off, or maybe you need an inversion for the bridge section. The current process means opening up five different tabs: one for notation lookup, one for functional harmony rules, another to list inversions, and then a third to manually arrange the notes into an open voicing. Then you copy-paste those results into your DAW's metadata.
With this MCP, you send the chord name once. The system returns structured data—the full set of possible bass lines from `get_chord_inversions`, confirmation of its role via `determine_harmonic_role`, and even multiple arranged voicings from `generate_voicings`. You just get usable, analyzed results.
Get a full harmonic picture with the Chord Constructor MCP.
Before this, determining a chord's role required knowing the key signature and then running through established rules in your head or on paper. Finding all inversions meant manually swapping notes into bass positions until you hit the desired structure.
Now, `determine_harmonic_role` and `get_chord_inversions` handle that logic instantly. It moves the heavy lifting from your brain to the agent.
What you can do with this MCP connector
This MCP is your deep dive into music theory. It handles complex chord structures, breaking them down into the individual notes, intervals, and functional roles needed for writing or analyzing music. You can take a simple chord name and get its constituent parts instantly. Beyond basic parsing, it calculates every possible inversion of that chord—allowing you to see how different bass notes change the feel without changing the harmony.
If you need specific textures, it arranges those same notes into closed or open voicings. The real value comes when chaining these tools; for example, determining a harmonic role and then using that result to inform which voicings are appropriate. This kind of multi-step analysis is what makes Vinkius so powerful.
You connect your preferred AI client once, and you can build automations spanning multiple platforms—connecting this music theory MCP with, say, a MIDI or sheet music storage MCP—all through one agent.
019ecb72-6573-7394-9876-051f79085703 How Chord Constructor MCP Works
- 1 First, you feed the MCP a raw chord name or note sequence. This initial input gets broken down by analyzing its fundamental components.
- 2 Next, the system runs multiple structural checks: it determines all possible inversions and identifies the chord's role within its key, providing layered context.
- 3 Finally, you select your desired output—maybe a specific open voicing or just the list of roots—and get back structured data ready for composition.
The bottom line is that it turns abstract music theory concepts into concrete, usable data points.
Who Is Chord Constructor MCP For?
Composers, audio engineers, and advanced students who are tired of manual chart analysis or spending hours cross-referencing sheet music libraries. If your job involves translating theoretical knowledge into actionable musical data, this is for you.
Uses the tool to quickly verify harmonic transitions between sections, ensuring a consistent tonal color across different movements.
Employs the MCP to systematically test chord relationships and identify functional roles for assignments, moving beyond simple textbook examples.
Generates specific open or closed voicings of a core harmonic pattern to give unique textural depth to an electronic soundscape.
What Changes When You Connect
- Stop guessing how a chord functions. Use
determine_harmonic_roleto immediately know if the chord is acting as a dominant or a tonic in any given key. - Need variety? Run
get_chord_inversionsto generate every possible permutation of your notes, giving you dozens of choices for bass lines without writing extra material. -
parse_chord_stringturns messy notation into clean data. Feed it 'F#min7' and get the root, intervals, and normalized name back in seconds. - Create unique sound textures by running
generate_voicings. You can specify open or closed styles to give your music depth that simple triads miss. - When you combine these tools—say, parsing a chord, finding its inversions, and then generating voicings from those results—you automate weeks of manual theory work.
Real-World Use Cases
Checking Tonal Consistency Across Movements
A composer writes a piece that shifts keys rapidly. Instead of manually cross-referencing the harmonic function, they feed all transitional chords into determine_harmonic_role to ensure the movement always feels grounded and intentional.
Building Out Bass Line Options
A songwriter has a simple core chord (C-E-G). They run get_chord_inversions to get all permutations, then use those results as the input for generate_voicings to create an entire set of bass/harmony options.
Analyzing Existing Sheet Music
An editor wants to understand a piece they found. They use parse_chord_string on every chord name, which gives them structured data points (root, intervals) that can then be fed into other analytical tools.
Designing a Specific Soundscape
A sound designer needs notes for an ambient passage. They use generate_voicings to create several open voicings from the same root chord, guaranteeing unique spacing and texture across their track.
The Tradeoffs
Assuming Linear Input
Trying to run a chord through generate_voicings using only the name 'Cmaj7', which doesn't specify the exact notes and will fail.
→
First, use parse_chord_string on 'Cmaj7'. This output gives you the explicit note list. Then, pass that structured note list directly into generate_voicings. Always start with parsing.
Ignoring Context
Using a chord name like 'Am' without knowing what key it sits in, resulting in an incorrect harmonic role determination.
→
Always define the musical context. Use determine_harmonic_role and specify the target key (e.g., C Major) when running the tool. Context is everything here.
Redundant Analysis
Running get_chord_inversions just to find the root position, which you already know.
→
The point of inversions is finding the other permutations. Run get_chord_inversions and pay attention to the first or second inversions—that's where the useful structural data lives.
When It Fits, When It Doesn't
Use this MCP if your workflow requires deep, systematic musical analysis of harmony, structure, or voicing possibilities. If you are building an automated tool that needs to move from raw notation (e.g., 'G7') all the way through structural breakdown and final sound arrangement, this is perfect. Don't use it if you simply need a quick visual chart of chord names; those basic lookup tools will suffice. You need this when the relationship between the notes—their inversions or their role in the key—is as important as the chords themselves.
Common Questions About Chord Constructor MCP
How do I use the parse_chord_string tool? +
You pass it a standard chord name string like 'Ebmaj7'. The tool returns its roots, intervals (like major third), and normalized component parts.
Can determine_harmonic_role tell me if a chord is correct for a key? +
Yes. It analyzes the chord against a specified musical key to confirm or identify its functional role, such as being Tonic or Subdominant within that key.
What's the difference between get_chord_inversions and generate_voicings? +
Inversions finds structural permutations (which note is the bass). Voicings takes those notes and arranges them into a specific sound texture, like open or closed.
Do I need to use parse_chord_string first? +
While not mandatory, it's best practice. It gives you the cleanest, most structured list of notes that other tools can rely on for accurate analysis and arrangement.
If I run `parse_chord_string` with an invalid or ambiguous chord name, how does it handle the error? +
The tool returns a structured failure object instead of failing outright. It will tell you exactly which part of the notation caused the problem and why the input was rejected.
Does `get_chord_inversions` provide enough detail for advanced musical arranging? +
Yes, it gives more than just a note order. For every permutation, you get both the specific bass note and the full stack of notes, making arrangement planning straightforward.
How can I feed structured data from `parse_chord_string` into `generate_voicings`? +
You pass the resulting root and interval components directly as a list of individual notes. The voicing tool accepts this note set, regardless of how it was originally named.
What if I use `determine_harmonic_role` on a chord that doesn't fit the specified key? +
It won't crash. Instead, the tool will flag the role as ambiguous or non-functional relative to the key you provided, alerting you that it deviates from the established tonal center.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.