music21-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MUSIC21_MCP_HOST | No | Server host (used by HTTP adapter and launcher) | 127.0.0.1 |
| MUSIC21_MCP_PORT | No | Server port (used by HTTP adapter and launcher) | 8000 |
| MUSIC21_MCP_TIMEOUT | No | General async operation timeout in seconds | 30 |
| MUSIC21_CORS_ORIGINS | No | CORS origins for HTTP adapter (comma-separated) | http://localhost:* |
| MUSIC21_TOOL_TIMEOUT | No | Per-tool execution timeout in seconds | 30 |
| MUSIC21_BATCH_TIMEOUT | No | Batch processing timeout in seconds | 30 |
| MUSIC21_CHORD_ANALYSIS_TIMEOUT | No | Chord analysis timeout in seconds | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| import_scoreC | Import a score from various sources |
| list_scoresC | List all available scores |
| score_infoC | Get detailed information about a score |
| export_scoreD | Export a score to various formats |
| delete_scoreC | Delete a score from storage |
| key_analysisC | Analyze the key signature of a score |
| chord_analysisC | Analyze chord progressions in a score |
| harmony_analysisC | Perform harmony analysis (roman numeral or functional) |
| voice_leading_analysisC | Analyze voice leading patterns in a score |
| pattern_recognitionD | Recognize patterns in music |
| harmonize_melodyC | Generate harmonization for a melody in various styles (classical, jazz, pop, modal) |
| generate_counterpointC | Generate species counterpoint (1=note-against-note, 2=2:1, 3=3:1, 4=syncopated, 5=florid) |
| imitate_styleB | Generate music imitating a specific composer style (bach, mozart, chopin, debussy) or analyze score for style |
| health_checkB | Check server and adapter health |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_scores_resource | List all scores as an MCP resource |
TDQS
Scored across 14 tools
Each tool targets a distinct task: analysis tools (chord, harmony, key, voice leading, pattern) are clearly separated, generation tools (counterpoint, harmonization, style imitation) are unique, and file management (import/export/list/delete/info) plus health check round out the set without overlap.
All names use lowercase with underscores, but there is a mix of verb-noun (e.g., delete_score, generate_counterpoint) and noun-verb/noun-noun patterns (e.g., chord_analysis, health_check). The inconsistency is minor and the names remain clear and predictable.
14 tools cover analysis, generation, and file management without being excessive. The count is well-scoped for a music theory server, each tool earns its place.
The set covers core music analysis and generation tasks, plus basic score I/O. Missing a 'create_score' tool (relying on import/generation) and some advanced compositional features, but overall it's reasonably complete for its domain.