Skip to main content
Glama
wspringer

lilypond-mcp

by wspringer

lilypond-mcp

MCP-Server, der GNU-LilyPond-Quellen in platzierbare Assets sticht: beschnittene, eigenständige EPS-, PDF-, SVG- und PNG-Dateien, zugeschnitten auf die Musik statt auf eine ganze Seite — bereit, in Seitenlayout-Software wie InDesign eingefügt zu werden.

Werkzeuge

  • engrave_file — sticht eine .ly-Datei. Standardmäßig wird beschnittenes EPS in build/ erzeugt; außerdem entsteht ein Vorschau-PNG, das der Agent ansehen kann, um das Ergebnis zu überprüfen.

  • engrave_code — sticht inline übergebenen LilyPond-Code, um eine musikalische Idee zu verfeinern, ohne Dateien auf der Platte anzulegen. Standardmäßig PNG.

  • lilypond_version — die LilyPond-Version, mit der der Server sticht, um den passenden \version-Header auszuwählen.

Beide Stichwerkzeuge akzeptieren formats (eps/pdf/svg/png), crop, include_dirs (für gemeinsame \include-Bibliotheken) und output_dir. Pfade werden relativ zum Arbeitsverzeichnis aufgelöst, in dem der Server gestartet wurde — bei einem Claude Code .mcp.json-Eintrag ist das die Projektwurzel.

Im Fehlerfall enthält das Ergebnis die Diagnosemeldungen von LilyPond, einschließlich der Zeilennummern, sodass ein Agent die Quelle korrigieren und es erneut versuchen kann.

LilyPond-2.26-Eigenheiten, die dieser Server auffängt

  • EPS gibt es nur noch als beschnittene Ausgabe des ps-Backends (-dbackend=eps ist entfallen); EPS ohne crop wird im Voraus abgelehnt.

  • SVG hat ein eigenes Backend und läuft als zweiter Durchgang; die Glyphen werden als Umrisse ausgegeben, sodass keine Fonts installiert sein müssen, um sie anzusehen oder zu importieren.

  • Beschnittene Ausgaben (NAME.cropped.EXT) werden auf den regulären Dateinamen umbenannt und übrig gebliebene Zwischenprodukte werden bereinigt.

  • lilypond -o wechselt das Arbeitsverzeichnis, daher werden Include-Pfade vor dem Aufruf absolut gemacht.

Ausführen

Der Server benötigt node (≥ 20) und lilypond in seinem PATH. Mit der mitgelieferten Nix-Flake, die beides bereitstellt, sieht die .mcp.json eines verwendenden Projekts folgendermaßen aus:

{
  "mcpServers": {
    "lilypond": {
      "command": "nix",
      "args": [
        "develop", "../lilypond-mcp",
        "--command", "node", "../lilypond-mcp/dist/index.js"
      ]
    }
  }
}

Entwicklung

direnv allow      # or: nix develop
npm install
npm run build     # tsc → dist/
npm test          # vitest; engraves real snippets, needs lilypond on PATH

Lizenz

MIT. Der Server orchestriert GPL-lizenzierte Stichprogramme (LilyPond, Ghostscript) als getrennte Programme — siehe LICENSING.md für die Analyse und die Gestaltungsregeln, die die Grenze sauber halten.

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/wspringer/lilypond-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server