Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Descripción del creador (original en inglés)
Music-aware, multi-level comparison of two MusicXML files
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"comparer": {
"command": "uvx",
"args": [
"comparer-mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add comparer -- uvx comparer-mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"comparer": {
"command": "uvx",
"args": [
"comparer-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"comparer": {
"type": "stdio",
"command": "uvx",
"args": [
"comparer-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub raulkivi, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.2.1) llegó al registro hace 42 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Figma Context MCP, Claude Real Video, Figma MCP Server
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
MCP server for music-aware comparison of MusicXML files. Provides structured, multi-level diffs that report what changed between two scores — from global similarity down to individual notes.
omr-mcp output against a known-good referencemusicxml-abc-mcpbash install.sh
See SETUP.md for client config snippets (Claude Desktop, Cursor, Windsurf, Continue, Zed) and TROUBLESHOOTING.md if something doesn't work.
| Tool | Description |
|---|---|
compare_musicxml | Full diff of two scores, inline or by path → structured ComparisonResult JSON |
compare_musicxml_files | Full diff of two MusicXML file paths (.musicxml, .xml, or .mxl) inside the allowed folders → structured ComparisonResult JSON |
quick_similarity | Similarity score (0.0–1.0) + summary statistics only, no per-note detail |
list_changes | Note-level diffs (operation != MATCH), optionally filtered by part name and/or measure range |
generate_comparison_report | Human-readable version comparison report — similarity headline, missing/extra parts and measures, key/time signature changes, note-level differences grouped by measure range (e.g. "transposed by 3 semitones in measures 17-24") |
export_annotated_musicxml | MusicXML with per-note color annotations marking the diff. Small results come back inline (reference_annotated_musicxml + target_annotated_musicxml); large ones are written to files and returned as *_path fields plus a score_summary (return: auto/path/inline). Pass the paths to render-mcp's render_to_pdf/render_to_image as musicxml_path |
describe_score | Title, key, time, tempo, parts (IDs, names, clefs, ranges), measures and duration of a score, without returning the score |
health_check | Server status — verifies music21 is importable and runs a self-comparison smoke test |
list_capabilities | Server metadata per project conventions |
Each score can be passed inline (reference_xml, target_xml) or as a file path (reference_path, target_path; .musicxml, .xml or .mxl), exactly one of each pair. Paths save copying whole scores through the conversation. They must be inside the output folder (SHEET_MUSIC_OUTPUT_ROOT, default the working directory), one of the client's roots, or a folder listed in SHEET_MUSIC_INPUT_ROOTS.
// Compare two MusicXML strings
{ "tool": "compare_musicxml", "arguments": { "reference_xml": " ... ", "target_xml": " ... " } }
// Compare two files { "tool": "compare_musicxml_files", "arguments": { "reference_path": "/path/to/reference.musicxml", "target_path": "/path/to/omr_output.musicxml" } }
// Quick similarity check { "tool": "quick_similarity", "arguments": { "reference_xml": " ... ", "target_xml": " ... " } } // → {"similarity_score": 0.87, "summary": {...}}
// Filtered changes, e.g. "what changed in the Alto, measures 17-24?" { "tool": "list_changes", "arguments": { "reference_xml": " ... ", "target_xml": " ... ", "part": "Alto", "measures": [17, 24] } } // → {"changes": [{"measure_number": 18, "operation": "PITCH_CHANGE", "part_name": "Alto", ...}], "count": 1}
// Human-readable report { "tool": "generate_comparison_report", "arguments": { "reference_xml": " ... ", "target_xml": " ... " } } // → {"report": "Overall similarity: 87% (minor differences)\n...", "similarity_score": 0.87}
// Colored MusicXML diff export — chain straight into render-mcp to visualize { "tool": "export_annotated_musicxml", "arguments": { "reference_xml": " ... ", "target_xml": " ... " } } // → {"reference_annotated_musicxml": "...", "target_annotated_musicxml": "...", // "similarity_score": 0.87, "legend": {"PITCH_CHANGE": "#FF8800", ...}} // For scores over 8 KB (return: "auto", the default): // → {"reference_annotated_musicxml_path": ".../scores/annotated-reference_annotated_musicxml-....musicxml", // "target_annotated_musicxml_path": "...", "similarity_score": 0.87, "legend": {...}, // "score_summary": {"reference_annotated_musicxml": {...}, "target_annotated_musicxml": {...}}}
// Paths instead of inline text { "tool": "quick_similarity", "arguments": { "reference_path": "scores/reference.musicxml", "target_path": "scores/omr_output.mxl" } }
compare_musicxml, compare_musicxml_files, generate_comparison_report, and export_annotated_musicxml all accept an optional options object:
{
"expand_repeats": false, // unfold repeats before comparing (default: false — opt-in) "normalize_pitch": false, // transpose transposing instruments to concert/sounding pitch "ignore_articulations": false, // exclude articulations from NoteInfo/diffs "parts": ["Soprano"], // compare only these parts: IDs, names or voices ("P1", "S"); // part_filter is a deprecated alias "measures": [1, 32] // only differences in measures 1-32, inclusive (scores are not // cut); measure_range is a deprecated alias }
The comparison engine (src/comparer_mcp/engine.py) has no MCP dependency and is fully usable as a plain Python library, independent of the MCP server:
cd comparer-mcp
uv sync
from comparer_mcp.engine import compare, compare_files
result = compare(reference_xml, target_xml)
result = compare_files("reference.musicxml", "omr_output.mxl")
print(result.similarity_score) # float, 0.0-1.0 print(result.summary) # ComparisonSummary: parts/measures/notes matched, missing, changed print(result.part_diffs) # list[PartDiff] -> list[MeasureDiff] -> list[NoteDiff]
Errors are raised as comparer_mcp.engine.ProcessingError (e.g. for a missing file or invalid MusicXML), carrying a .error_code attribute (FILE_NOT_FOUND, INVALID_INPUT, etc.) matching the format the MCP tools return.
# Unit tests
VIRTUAL_ENV= .venv/bin/pytest tests/ -v -m "not integration"
VIRTUAL_ENV= .venv/bin/pytest tests/ -v -m integration
uv sync
| Phase | Status |
|---|---|
| Phase 1 — Core comparison (MVP) | Complete — 45/45 tests passing (43 unit + 2 integration) |
| Phase 2 — Rich detail (key/time signature diffs, voice-aware alignment, articulations) | Complete — 67/67 tests passing (65 unit + 2 integration) |
Phase 3 — MCP server & integration (server.py, all 6 tools, install.sh, SETUP.md, client config examples) | Complete — 94/94 tests passing (90 unit + 4 integration) |
Phase 4 — Advanced features (options wiring, generate_comparison_report, export_annotated_musicxml) | Complete — 134/134 tests passing (127 unit + 7 integration) |
UX Wave 2 — Score references (reference_path/target_path, return for the annotated export, describe_score) | Complete — 239 unit tests passing (+7 integration) |