原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。使用 Google 登录即可撰写评价。原型 · 每 30 分钟更新
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Sheet Music OMR

作者:raulkivi版本 0.2.2i★ 3 (整个仓库的星标)i在你的电脑上运行
注册名称io.github.raulkivi/omr-mcp

安装方法

What it does

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

  • Connects 在你的电脑上运行
  • Account or key No key needed
  • Category 设计、图片与音频

安装

选择你使用的 AI 应用,然后复制设置。

通过 3/3 项检查 · 在你的电脑上运行 · ✓ 命令已检查 2026年11月13日

第一步:你用哪个 AI?

选择你用的应用,步骤会显示在下方。

可连接 Claude,但需要先准备

需要 Sheet Music OMR 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用

  1. 安装 Python (uv)

    只需一次,所有需要 Python (uv) 的服务器都能用

    打开 Python (uv) 下载页 ↗

  2. 注册并创建 Sheet Music OMR 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    获取密钥的方法见下方开发者的 README

  3. 打开电脑版 Claude 应用的设置文件

    SettingsDeveloperEdit Config

  4. 粘贴这些设置并保存文件

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

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 退出 Claude 再重新打开

  6. 试一试

    用 Sheet Music OMR 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude 说正在使用 Sheet Music OMR,或回答中出现 Sheet Music OMR 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

ChatGPT 暂时无法连接 Sheet Music OMR

Sheet Music OMR 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器

你可以改用这些方式

A · 使用能连接 Sheet Music OMR 的应用

  • 需要 Sheet Music OMR 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
  • 需要 Sheet Music OMR 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)
  • 需要 Sheet Music OMR 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)
  • 需要 Sheet Music OMR 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)

B · 设计、图片与音频 类中能连接 ChatGPT 的其他服务器

从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的

可连接 Claude Code,但需要先准备

需要 Sheet Music OMR 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)

  1. 安装 Python (uv)

    只需一次,所有需要 Python (uv) 的服务器都能用

    打开 Python (uv) 下载页 ↗

  2. 注册并创建 Sheet Music OMR 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    获取密钥的方法见下方开发者的 README

  3. 打开终端

    Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell

  4. 粘贴这条命令并按 Enter

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

    按 Enter 前,把“your-value”改成你的密钥

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 Claude Code 中输入 /mcp

    应能看到 Sheet Music OMR 在列表中并显示已连接

  6. 试一试

    用 Sheet Music OMR 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Claude Code 说正在使用 Sheet Music OMR,或回答中出现 Sheet Music OMR 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同

可连接 Cursor,但需要先准备

需要 Sheet Music OMR 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)

  1. 安装 Python (uv)

    只需一次,所有需要 Python (uv) 的服务器都能用

    打开 Python (uv) 下载页 ↗

  2. 注册并创建 Sheet Music OMR 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    获取密钥的方法见下方开发者的 README

  3. 点击这个按钮打开 Cursor

    在 Cursor 中打开

    Cursor 会请你确认安装,点击 Install

  4. 填写你的密钥

    在 Sheet Music OMR 的设置中,OMR_AUDIVERIS_HOME 还是空的,填入你的密钥并保存

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 Cursor 中以 Agent 模式打开 AI 聊天

  6. 试一试

    用 Sheet Music OMR 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 Cursor 说正在使用 Sheet Music OMR,或回答中出现 Sheet Music OMR 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同

可连接 VS Code,但需要先准备

需要 Sheet Music OMR 的密钥(在开发者网站创建) · 需要先在电脑上安装 Python (uv)(只需一次)

  1. 安装 Python (uv)

    只需一次,所有需要 Python (uv) 的服务器都能用

    打开 Python (uv) 下载页 ↗

  2. 注册并创建 Sheet Music OMR 的密钥

    打开开发者网站,注册账户并创建 API 密钥,下一步要用。价格和免费方案请看开发者网站。

    获取密钥的方法见下方开发者的 README

  3. 点击这个按钮打开 VS Code

    在 VS Code 中打开

    VS Code 会请你确认安装,点击 Install

  4. 填写你的密钥

    在 Sheet Music OMR 的设置中,OMR_AUDIVERIS_HOME 还是空的,填入你的密钥并保存

    只把密钥粘贴到应用的输入框里,不要粘贴到聊天中或发给任何人

  5. 在 VS Code 中以 Agent 模式打开 AI 聊天

  6. 试一试

    用 Sheet Music OMR 告诉我你能帮我做什么,然后做一件给我看

    ✓ 如果 VS Code 说正在使用 Sheet Music OMR,或回答中出现 Sheet Music OMR 的工具名称,就表示连接成功

菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同

其他支持 MCP 的应用(如 Windsurf、Zed、Gemini CLI)添加方式各不相同,请在应用列表中查看

查看所有支持 MCP 的应用 →

JSON 设置在下方“开发者专用”中

卡住了?问问正在用 Sheet Music OMR 的人💬 讨论 →
开发者专用:终端命令和 JSON 设置

安装在电脑上

Claude Code

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

Claude Desktop (claude_desktop_config.json)

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

Cursor (~/.cursor/mcp.json)

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

VS Code (mcp.json)

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

需要你填写的值

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

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

一览

GitHub 星标i
3 (整个仓库的星标)
该仓库包含多个 MCP 条目,星标在排名中只计算一次
每周下载量i
33/周
连接方式
在你的电脑上运行
最新版本i
0.2.2
发布到注册中心i
2026年10月17日
代码最后更新i
2026年11月11日
作者
raulkivi
软件包
pypi: omr-mcp
注册状态
活跃

哪些应用可以使用它

依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。

在你的电脑上运行,适用于

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

全部应用及其优缺点 →

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月13日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 raulkivi 验证,该账户拥有此仓库

  • ✓ 通过

    仍在维护

    代码最后更新于前天

  • ✓ 通过

    有许可证

    使用 MIT

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

讨论

提问、分享技巧或报告无法使用。按“有帮助”数量排序。

还没有帖子,欢迎第一个提问或分享。

此处内容由用户撰写,不代表 PopNx 团队。

使用 Google 登录后发帖

用户评价

还没有评价

用 Google 登录后写评价

与“设计、图片与音频”中的其他服务器比较i

  • 星标数多于此分类中其他 2992 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 2992 个服务器的 52% 更新
  • 基础检查结果等于或优于此分类中其他 2992 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Sheet Music OMR 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于前天,最新版本(0.2.2)于27天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:Figma Context MCP, AutoClip, Next AI Draw.io

同类别的其他选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Figma Context MCP

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

作者:GLips广泛使用↓ 15.2万/周★ 1.6万5个月前更新

在你的电脑上运行

AutoClip

Clip long videos into short clips with covers and captions. Local CLI and MCP.

作者:zhouxiaoka广泛使用↓ 205/周★ 1万16天前更新

在你的电脑上运行

Next AI Draw.io

draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand

作者:DayuanJiang广泛使用↓ 2.2万/周★ 3.7万 整个仓库的星标今天更新

在你的电脑上运行

作者的 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)