mcpField
M
MuseScore MCP Server

MuseScore MCP Server

本地服务
github.com/JordanSucher媒体与设计3179 周前更新

关于 MuseScore MCP Server

MuseScore MCP Server 是一个 MCP 服务,将 MuseScore 与 Claude Desktop 等 LLM 客户端连接,让大模型通过自然语言进行基础的乐曲创作。适合希望用对话方式辅助作曲的用户。

主要功能

  1. 01连接并操作已打开的 MuseScore 乐谱
  2. 02添加音符与休止符
  3. 03选择与删除内容
  4. 04创建连音符
  5. 05撤销更改
  6. 06在不同谱表之间移动

适用场景

  1. 01根据旋律生成可能的和弦配置
  2. 02为旋律生成多种和声版本
  3. 03延续乐曲中指定小节的旋律

MCP 相关

该项目是一个 MCP 服务,通过插件与 MuseScore 通信,向 MCP 客户端暴露乐谱编辑相关的操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MuseScore MCP 服务

此 MCP(Model Context Protocol)服务将 MuseScore 与 Claude Desktop 等大模型客户端集成,从而通过自然语言进行基础音乐创作。

这里有一个简短演示:https://www.canva.com/design/DAGlHeR706g/4UcXvK23I1axWOfm6lSSxQ/edit

功能

该服务允许连接到 MCP 的大模型:

  • 连接到 MuseScore 并操作已打开的乐谱
  • 添加音符和休止符
  • 选择并删除
  • 创建连音符
  • 撤销更改
  • 在不同谱表间切换

限制

  • 无法理解同一谱表中的多个声部,也无法在它们之间切换

要求

  • Python 3.9+
  • 已安装 MuseScore 3 或 4
  • MCP Python SDK

安装

  1. 克隆此仓库:

    git clone https://github.com/yourusername/musescore-mcp-server.git
    cd musescore-mcp-server
    
  2. 在虚拟环境或全局环境中安装依赖项:

    pip install -r requirements.txt
    
  3. 将 musescore-mcp-plugin 复制到 MuseScore 插件目录中以安装(在我的 Mac 上,目录是 ~/Documents/MuseScore4/plugins)

  4. 使用 MCP 服务(server.py)配置你的大模型。如果你使用 Claude Desktop 和虚拟环境,可以创建一个 claude_desktop_config 文件,如下所示:

    {
     "mcpServers": {
       "musescore": {
         "command": "bash",
         "args": [
           "-c",
           "source /path/to/venv/activate && python3 /path/to/server.py"
         ]
       }
     }
    

用法

准备 MuseScore

打开 MuseScore 和你想使用的乐谱。然后,连接 musescore-mcp-plugin,并从插件菜单中选择它以启动。

示例查询

连接后,你可以向 Claude 提出如下问题:

  • "帮我为乐谱中的旋律想一些可能的和弦
  • 为我创作一段简单的旋律,并展示 4 种为它配和声的方式
  • 将第 1-12 小节中的旋律延长 4 小节,使其符合这首曲子的风格

开发

如果你想为 MuseScore 插件添加功能并进行测试,此仓库中的 testClient.html 文件可能会是一个有用的开发工具——只需扩展它以调用你添加的函数即可。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。