Theory MCP server
{
"mcpServers": {
"playbykey-theory": {
"command": "npx",
"args": [
"-y",
"@playbykey/theory-mcp@latest"
]
}
}
}{
"mcpServers": {
"playbykey-theory": {
"command": "npx",
"args": [
"-y",
"@playbykey/theory-mcp@latest"
]
}
}
}{
"mcpServers": {
"playbykey-theory": {
"command": "npx",
"args": [
"-y",
"@playbykey/theory-mcp@latest"
]
}
}
}{
"servers": {
"playbykey-theory": {
"command": "npx",
"args": [
"-y",
"@playbykey/theory-mcp@latest"
]
}
}
}{
"mcpServers": {
"playbykey-theory": {
"command": "npx",
"args": [
"-y",
"@playbykey/theory-mcp@latest"
]
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y @playbykey/theory-mcpversion 1.6.0
What it does
Exposes music theory operations as MCP tools for AI agents, including chord analysis, scale generation, progressions, transposition, and MIDI utilities. Built for developers integrating music theory into AI-powered applications.
- Query chord qualities, voicings, and progressions to generate or analyze music notation programmatically.
- Transpose musical content between keys and generate scales or modes for a given tonal center.
- Convert between note representations and generate MIDI data for music generation workflows.
Tools this server exposes
| Tool | Does |
|---|---|
| parseNote | Parse note input in sharps notation or flat variants. |
| getScale | Generate notes in a scale for a given root and mode. |
| getChord | Retrieve chord tones and qualities for a given root and chord type. |
| getProgression | Generate chord progressions for analysis or composition. |
| transpose | Transpose notes or chords to a different key or interval. |
| getFlats | Convert note names to enharmonic flat equivalents. |
| getIntervals | Calculate intervals between notes or within scales. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.