sinfo-mcp
Allows composing and exporting music as MIDI files, supporting score creation, part writing, range checking, and MIDI export through a text-based notation system.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sinfo-mcpcreate a new score and add a piano part in C major"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
sinfo-mcp
Servidor MCP que permite a un agente de IA componer música de verdad: planear la forma, escribir las voces, verificar el resultado y exportarlo.
A diferencia de los servidores MCP de MIDI existentes, que operan sobre fragmentos sueltos y a ciegas, aquí la partitura vive en el servidor entre llamadas y el agente puede releer y verificar lo que escribió. Eso es lo que hace posible pasar de ocho compases a una sinfonía.
Instalación
npm install
npm run buildRegistro en Claude Code:
claude mcp add sinfo -- node /ruta/a/sinfo-mcp/packages/mcp/dist/index.jsLos archivos exportados van a ./sinfo-out/<scoreId>/. Se cambia con la variable SINFO_OUT_DIR.
Related MCP server: ableton-mcp-server
Flujo típico
score_create abre la obra y devuelve un scoreId
part_add un instrumento por parte (instruments_list para ver el catálogo)
part_write escribe la música en notación de texto
check_ranges verifica que nadie toca notas imposibles
export saca el .midLa partitura no se reenvía nunca: se referencia por scoreId. score_describe da el resumen y part_read devuelve fragmentos acotados por compases.
Notación
SinfoScript — instrumentos afinados
mf c4/q e4/q g4/h | a4/e. g4/s f4/q+stacc r/q
| altura + |
| redonda, blanca, negra, corchea, semicorchea, fusa, semifusa |
| puntillo y doble puntillo |
| tresillo de corchea, quintillo de semicorchea |
| alteraciones ( |
| silencio |
| acorde |
| dinámica suelta; rige hasta la siguiente |
| articulaciones |
| ligadura de unión |
| barra de compás — se valida que los tiempos cuadren |
| comentario |
Rejilla — percusión y ritmos programados
kick x...x...x...x...
snare ....X.......X...
hihat x.x.x.x.x.x.x.x.x golpe, X acentuado, o suave, . silencio. Las filas cortas se repiten en bucle contra las largas.
Arquitectura
Hexagonal, con la dirección de dependencias verificada mecánicamente en cada build (npm run arch).
mcp → render → engine → core
└────────┴──────────┘Paquete | Responsabilidad | Dependencias |
| Dominio: altura, duración, evento, voz, parte, movimiento, partitura, notación, división en compases | ninguna |
| Casos de uso, sesiones y puertos de salida | core |
| Adaptadores de formato: MIDI y MusicXML | core, engine |
| Herramientas MCP y raíz de composición | todos |
Tres decisiones que sostienen el resto:
Tiempo racional exacto. Duration es una fracción, no un flotante. Tres tresillos de corchea suman exactamente una negra; en coma flotante no. En 200 compases de tresillos la última nota cae en su tick exacto, sin un solo pulso de desfase acumulado.
Alturas con ortografía. Pitch guarda letra, alteración y octava, no un número MIDI. Do♯ y Re♭ suenan igual pero no son la misma nota: transponer Fa♯ mayor por quinta justa da Do♯ mayor, no Re♭. El número MIDI es una proyección con pérdida.
La partitura vive en el servidor. Un agente no puede mandar una sinfonía como argumento. score_create devuelve un identificador y las demás herramientas mutan esa partitura, devolviendo resúmenes compactos.
Las voces no guardan compases. El dominio almacena cada voz como un flujo continuo de eventos; las barras se derivan al exportar. Guardarlas dentro obligaría a partir notas y crear ligaduras en cada inserción, y a rehacerlo todo si cambia un compás a mitad de obra. splitIntoMeasures hace ese reparto una sola vez, cortando en las barras y encadenando las ligaduras, y lo comparten todos los exportadores de notación.
Verificación
npm run verify # typecheck + tests + reglas de arquitecturaLas reglas de .dependency-cruiser.cjs fallan el build si alguien invierte una dependencia o si @sinfo/core gana una dependencia externa. Están probadas inyectando violaciones deliberadas: una regla que nunca dispara no protege de nada.
Estado
Funciona hoy: estructura de obra y movimientos, escritura en ambas notaciones, validación de compases, comprobación de rangos con transposición, y exportación a MIDI, MusicXML y JSON.
El MusicXML sale listo para MuseScore, Sibelius, Finale y Dorico: parte notas en las barras con ligaduras, escribe grupos irregulares con su corchete, declara la transposición de los instrumentos transpositores, usa unpitched en percusión y alinea todas las partes al mismo número de compases.
Previsto: armonía y análisis funcional, generación de material temático, contrapunto, orquestación, y exportación a LilyPond, partitura SVG y audio.
Licencia
MIT
This server cannot be installed
Maintenance
Related MCP Servers
- Alicense-qualityBmaintenanceAn MCP server that gives an LLM agent control over Tracktion Waveform, enabling it to compose, mix, and render songs through natural language commands.Last updated2MIT
- Flicense-qualityCmaintenanceMCP server that enables AI agents to read and edit Ableton Live sets, including tracks, clips, MIDI notes, devices, and scenes.Last updated1
- Alicense-qualityAmaintenanceA music MCP server enabling multi-agent collaboration where AI agents jam together in real-time, with 20 tools, conductor mode, and zero dependencies.Last updated6825AGPL 3.0
- AlicenseAqualityAmaintenanceDeterministic music-theory MCP server and API for AI agents — analyze chords, run Roman-numeral analysis, generate voicings, and reharmonize progressions. Computed from music theory, not hallucinated.Last updated52293PolyForm Noncommercial 1.0.0
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for Suno AI music generation, lyrics, and covers
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JOSETRA44/sinfo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server