プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Sheet Music OMR

作者:raulkiviバージョン 0.2.2i★ –iパソコンで動く
レジストリ名io.github.raulkivi/omr-mcp

インストール

概要

作者による説明(英語の原文)

Converts photos or scans of printed sheet music to MusicXML with optical music recognition

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: デザイン・画像・音声

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: OMR_AUDIVERIS_HOME

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "omr": {
      "command": "uvx",
      "args": [
        "omr-mcp"
      ],
      "env": {
        "OMR_AUDIVERIS_HOME": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add omr --env OMR_AUDIVERIS_HOME=your-value -- uvx omr-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "omr": {
      "command": "uvx",
      "args": [
        "omr-mcp"
      ],
      "env": {
        "OMR_AUDIVERIS_HOME": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "omr": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "omr-mcp"
      ],
      "env": {
        "OMR_AUDIVERIS_HOME": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • OMR_AUDIVERIS_HOME env
    Directory Audiveris is downloaded to on first use (default ~/.cache/omr-mcp/audiveris)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント raulkivi で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

デザイン・画像・音声のほかのサーバーとの比較i

  • このカテゴリのほかの2800件のうち0%よりスターが多い
  • このカテゴリのほかの2800件のうち57%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの2800件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Sheet Music OMRは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.2.2)がレジストリに届いたのは22 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Figma Context MCP

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

作者:GLips広く使われている↓ 16.1万/週★ 1.6万5 か月前更新

パソコンで動く

Claude Real Video

Let any LLM watch a video locally — and search everything it has ever watched.

作者:HUANGCHIHHUNGLeo広く使われている↓ 1106/週★ 22842 か月前更新

パソコンで動く

Figma MCP Server

The Figma MCP server brings Figma design context directly into your AI workflow.

作者:figma広く使われている★ 215213 か月前更新

クラウドで動く✓ mcp.figma.com

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

omr-mcp

MCP server that converts sheet music images to MusicXML using optical music recognition (OMR).

What it does

Takes a photo or scan of printed sheet music and returns a MusicXML document. Handles single pages or multi-page scores. Feeds directly into the rest of the sheet-music-mcp pipeline.

Two selectable OMR backends, via an optional engine argument on the recognition tools:

  • `oemer` (default) — fast, no extra download beyond the ~100 MB model checkpoints. Best for single/two-staff scores; flattens multi-staff (SATB) choir scores into one part (see "Known limitations" below).
  • `audiveris` — correctly separates multi-staff SATB scores into simultaneous parts. Requires 300+ DPI source images and a larger (~80 MB) first-use download; runs as a subprocess.

Tools

ToolDescription
recognize_sheetConvert a single image (file path or base64) to MusicXML; large scores come back as a musicxml_path plus a score_summary (return: auto, path or inline)
recognize_sheet_to_fileConvert a single image and write MusicXML to a file; returns the path and a score_summary
recognize_sheetsProcess multiple pages and merge them into one MusicXML document (same return modes as recognize_sheet)
list_capabilitiesReturn server metadata: backend version, input/output formats, available tools
list_supported_formats(Deprecated — use list_capabilities) List supported input and output formats
health_checkCheck that all runtime dependencies are available and return a human-readable status summary; useful on first run

Installation

cd omr-mcp

uv sync

On first run, oemer downloads ~100 MB of model checkpoints. This happens once and is cached.

Quick install: bash install.sh sets up everything in one command and prints a ready-to-paste client config — see SETUP.md. Ready-made configs for Claude Desktop, Cursor, Windsurf, Continue, and Zed are in examples/. Having trouble? Check TROUBLESHOOTING.md.

Running

uv run omr-mcp

No environment variables required.

Claude Desktop configuration

{

"mcpServers": { "omr": { "command": "uv", "args": ["--directory", "/absolute/path/to/omr-mcp", "run", "omr-mcp"] } } }

Usage examples

// Recognize a single image file (default engine: oemer)

{"tool": "recognize_sheet", "arguments": {"image": "/path/to/scan.png", "format": "path"}}

// Recognize from base64-encoded image {"tool": "recognize_sheet", "arguments": {"image": " ", "format": "base64"}}

// Recognize a multi-staff SATB choir score with correct voice separation (300+ DPI source required) {"tool": "recognize_sheet", "arguments": {"image": "/path/to/satb_scan.png", "engine": "audiveris"}}

// Process multiple pages into one score {"tool": "recognize_sheets", "arguments": {"images": ["/path/page1.png", "/path/page2.png"]}}

// Always get the MusicXML text inline, however large (default "auto": a musicxml_path above 8 KB) {"tool": "recognize_sheet", "arguments": {"image": "/path/to/scan.png", "return": "inline"}}

// Save result directly to file (output_path must lie inside SHEET_MUSIC_OUTPUT_ROOT) {"tool": "recognize_sheet_to_file", "arguments": {"input_path": "/path/scan.png", "output_path": "score.musicxml"}}

Large results come back as {"musicxml_path": ..., "score_summary": {...}, "metadata": ...}, with the file under /scores/ (default: the server's working directory). Pass that path to the other servers' tools as musicxml_path instead of copying the score.

Testing

# Unit tests (fast, no model required)

VIRTUAL_ENV= .venv/bin/pytest tests/ -v

Integration tests (~10 min one-time model-checkpoint download, then ~90-100s per page on CPU)

VIRTUAL_ENV= .venv/bin/pytest tests/ -v -m integration

Test samples

SATB a cappella samples are available in test_samples/pdmx_satb_samples/:

pdmx_satb_samples/

├── mxl/ # MusicXML ground truth ├── pdf/ # PDF scores └── png/ # PNG images (OMR input)

Source: PDMX dataset — 250K+ public domain scores.

Dependencies

  • oemer — default deep learning OMR engine (UNet + SVM, ONNX Runtime)
  • onnxruntime>=1.30 — releases after 1.19 reject the negative ConvTranspose pads baked into oemer's unet_big checkpoint; onnx_compat.py rewrites them into the equivalent output_padding before each recognition (needs onnx). This allows Python 3.11–3.14 (see docs/HANDOVER.md gotchas)
  • opencv-python-headless==4.10.0.84 — pinned; 5.x changed cv2.HoughLinesP()'s return shape, which crashes oemer's staffline extraction (see pyproject.toml comments / docs/HANDOVER.md gotchas)
  • Pillow — image loading and validation
  • defusedxml — safe XML parsing
  • mcp — MCP protocol
  • Audiveris — optional alternate OMR engine (engine="audiveris"). Not a Python dependency: a self-contained binary (bundles its own JRE) downloaded automatically on first use of that engine. Requires dpkg-deb (present on virtually all Debian/Ubuntu systems) to extract it — no root/system install.

Known limitations

  • oemer's default output loses SATB voice structure. oemer reads multi-staff choir systems sequentially rather than simultaneously, so a 4–5 voice SATB score comes out as a single merged with the clef alternating back and forth, instead of one part per voice — real data loss, not a benign modeling difference (confirmed by inspecting generated MusicXML), and architectural in oemer itself (its rhythm-alignment code hard-asserts at most 2 simultaneous staff tracks — see docs/HANDOVER.md). Use `engine="audiveris"` for multi-staff choir scores — it correctly separates voices into simultaneous parts, verified against real fixtures. Requires 300+ DPI source images.

Performance notes

  • Processing time: ~90–100s per page on CPU for oemer once its model checkpoints are cached; ~7–15s per page for audiveris in testing (despite JVM subprocess startup overhead)
  • Output may vary slightly between runs (both engines) — do not assert on exact XML equality
  • The generated MusicXML is functionally correct but may not pass strict schema validation

System requirements

  • Python 3.11+
  • No system libraries required (ONNX Runtime is bundled via pip)
PopNxに聞く