功能概述
musescore-mcp 是一款面向 MuseScore 乐谱平台的 MCP(Model Context Protocol)服务器,核心功能是搜索乐谱与读取乐谱元数据。由于 MuseScore 官方已于近年关闭公开消费者 API,本项目采用「浏览器代理」架构——通过 fetchproxy 扩展将请求路由至用户已登录的 musescore.com 标签页,从而绕过 Cloudflare 防护,获取服务器渲染的原始数据。
核心用法
- musescore_search:搜索乐谱,默认仅返回「免费查看、演奏与下载」结果(
free_only=true),支持按标题、作曲家、乐器编制、难度等维度筛选。返回字段包含 ID、上传者、授权状态(publicDomain/free/purchased等)及互动数据。 - musescore_get_score:获取单份乐谱的详细元数据,包括调号、拍号、页数、声部数量、持续时间、许可协议及上传日期。
- musescore_download:解析官方 PDF/MIDI/MSCZ/MusicXML 下载直链(仅限免费或已购资源),返回浏览器可打开的链接。
- musescore_score_to_pdf:优先获取官方 PDF;若无,则拉取 SVG 预览图并通过
rsvg-convert拼接为本地 PDF。
显著优点
1. 填补 API 空白:在 MuseScore 官方 API 关闭后,是目前少数能程序化获取乐谱元数据的方案。
2. 权限继承:完全复用用户浏览器的登录态与 Cloudflare 验证,无需在 MCP 服务端存储账号密码。
3. 格式灵活:支持官方原格式下载与 SVG→PDF 降级方案,覆盖绝大多数使用场景。
潜在缺点与局限
- 架构复杂度高:必须同时安装 MCP 服务器与 fetchproxy 浏览器扩展,并保持 musescore.com 标签页持续在线,部署门槛高于常规 REST API。
- 稳定性依赖浏览器:若标签页崩溃、Cookie 过期或 Cloudflare 二次验证触发,服务将中断。
- 下载链路限制:MCP 无法直接流式传输文件,最终下载仍需用户手动点击浏览器链接;跨域 S3 重定向进一步限制了自动化程度。
- 版权边界模糊:工具虽默认过滤免费资源,但用户可手动关闭过滤,存在误触付费/侵权内容的风险。
适合人群
- 音乐教师与学生:批量查找公有领域或知识共享许可的教学用谱。
- 编曲者与研究者:需要提取乐谱元数据(调性、声部、页数)进行数据分析。
- 合唱团/乐队管理员:快速检索特定编制与难度的可打印版本。
常规风险
- 合规风险:MuseScore 服务条款明确禁止自动化抓取,本项目处于灰色地带;频繁请求可能导致账号限速或封禁。
- 安全风险:fetchproxy 扩展需具备跨域访问能力,若扩展本身存在漏洞或用户安装来源不明的版本,可能遭受 XSS 或中间人攻击。
- 隐私泄露:浏览器代理模式意味着 MCP 服务器可感知用户当前会话的 Cookie 与浏览上下文,尽管作者声明「不存储凭证」,但技术层面存在潜在监听面。