mcpField
M
musicwire-mcp

musicwire-mcp

本地服务
musicwire.5432wire.com媒体与设计03 周前更新

关于 musicwire-mcp

musicwire-mcp 将 Musicwire 的 MusicXML 工具提供给 MCP 客户端,包括验证、渲染、任务状态和来源核验。它支持本地 stdio 与托管 Streamable HTTP;验证和渲染需付费,指南、任务查询和来源核验则免费。

主要功能

  1. 01获取 MusicXML 编写指南
  2. 02通过付费调用验证 MusicXML
  3. 03提交 MP3 或 MIDI 渲染任务
  4. 04查看并轮询渲染任务
  5. 05根据签名回执核验文件哈希

适用场景

  1. 01使用 MusicXML 前进行检查
  2. 02请求生成 MP3 或 MIDI
  3. 03跟踪渲染任务直至完成
  4. 04核验文件的来源

MCP 相关

此 MCP 服务通过 stdio 或 Streamable HTTP 向客户端提供五种 Musicwire 工具。本地付费验证和渲染使用 x402 支付;托管端点会返回支付请求,由调用 Agent 处理。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"thatdudealso-musicwire": {
"command": "npx",
"args": [
"-y",
"musicwire-mcp"
],
"env": {
"MUSICWIRE_API_URL": "<MUSICWIRE_API_URL>",
"MUSICWIRE_X402_PRIVATE_KEY": "<MUSICWIRE_X402_PRIVATE_KEY>"
}
}
}
}
启动命令npx -y musicwire-mcp
需要配置的环境变量
MUSICWIRE_API_URLMusicwire API base URL.
MUSICWIRE_X402_PRIVATE_KEY密钥Throwaway buyer key funded with USDC on the API's advertised network.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmusicwire-mcp0.1.1

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
keystring否
usestring否
editboolean否
stylestring否
tempostring否
durationstring否

详细介绍

musicwire-mcp

musicwire-mcp 是一个面向 Musicwire 的模型上下文协议服务。它为 MCP 客户端提供五种工具:

  • musicwire_compose_guide - 获取免费的 MusicXML 创作指南。
  • musicwire_validate - 付费进行详细的 MusicXML 验证。
  • musicwire_render - 付费将 MusicXML 渲染任务加入队列。
  • musicwire_get_job - 检查渲染任务,或轮询直至任务完成。
  • musicwire_verify_provenance - 免费检查素材的 SHA-256 是否与已签名的渲染回执相符。

Claude Code 和 Cursor 等本地 MCP 客户端通过标准输入/输出运行此软件包:

npx -y musicwire-mcp

Claude Connectors 和 Smithery 等托管 MCP 客户端使用 Musicwire API 提供的公共 Streamable HTTP 端点:

https://musicwire.5432wire.com/mcp

该托管端点提供相同的工具,无需 Smithery 会话配置(列出的配置架构为空对象)。它不会保存买方钱包。musicwire_validate 和 musicwire_render 会返回 HTTP 402 Payment Required,并提供与 POST /v1/validate 和 POST /v1/render 相同的 x402 报价。使用 Payment-Signature 重试完全相同的 MCP 请求。创作指南、任务轮询和来源验证均免费。

使用托管端点时,请通过多次短调用轮询 musicwire_get_job,而不要使用一次长时间的 wait_for_completion 等待:托管端点前面的网关会在约 29 秒后使请求超时,但渲染任务会继续运行,仍可轮询。通过标准输入/输出时,可以使用较长的 wait_for_completion 等待。

可请求的渲染输出仅包括用于聆听的 MP3 和用于编辑的 MIDI。已完成的渲染还会包含源 MusicXML、NOTICE.txt 和 receipt.json。

付费调用使用 Base 上的 x402 Exact USDC。服务会从已配置的 API 读取 GET /manifest,并在该部署所公布的网络上付款:Base 主网(eip155:8453)或 Base Sepolia(eip155:84532)。遇到 402 Payment Required 响应时,服务会自动附上已签名的付款信息重试,并且绝不会记录或持久化私钥。

安装

此软件包需要 Node.js 22.5 或更高版本。可在 MCP 客户端中通过 npx -y musicwire-mcp 直接运行标准输入/输出服务,或让 Streamable HTTP MCP 客户端连接 https://musicwire.5432wire.com/mcp。

配置

变量必需描述
MUSICWIRE_API_URL否Musicwire 基础 URL。默认值为 http://127.0.0.1:8787。
MUSICWIRE_X402_PRIVATE_KEY用于付费 x402 调用一次性买家私钥,需在目标部署所声明的网络上充值。为兼容性,也接受 X402_PRIVATE_KEY。
MUSICWIRE_MCP_PAYMENT_MODE否x402(默认),或仅用于测试的 stub 模式,适用于环回 API。

无需密钥即可启动服务并使用免费工具。只有在付费调用实际收到 402 Payment Required 时才会读取密钥;如果此时缺少密钥,工具调用会失败并提示你设置密钥。Smithery 托管列表不会收集这些变量:不要声明会话字段,然后使用 Payment-Signature 为每次 musicwire_validate / musicwire_render 调用付款。

stub 模式会使用非机密测试授权重试挑战;除非 MUSICWIRE_API_URL 指向 localhost、127.0.0.1 或 ::1,否则会被拒绝。此模式仅适用于 Musicwire 明确提供的本地 stub 配置。切勿用于远程 API。托管的 /mcp 端点不会启用 stub 自动付款,也不会持有服务端买家密钥。

请在目标部署所声明的网络上为买家钱包充值:托管部署使用 Base 主网上的真实 USDC,本地部署使用 Base Sepolia 上的测试 USDC。此软件包不会自行选择网络,因此无法在服务器未报价的网络上付款,并且会拒绝任何其他声明的网络。请将私钥视为机密:通过客户端环境注入,不要将其放入代码仓库或客户端配置文件中;如果密钥泄露,请立即轮换。

Claude Code

将以下内容添加到项目的 .mcp.json,并替换为已部署的 API URL。请将私钥保存在启动 Claude Code 的 shell 环境中,不要将其提交到此文件。

{
  "mcpServers": {
    "musicwire": {
      "command": "npx",
      "args": ["-y", "musicwire-mcp"],
      "env": {
        "MUSICWIRE_API_URL": "https://musicwire.example"
      }
    }
  }
}

启动 Claude Code 前,请导出一个已在部署所声明网络上充值的买家密钥:

export MUSICWIRE_X402_PRIVATE_KEY='0x...'
claude

Cursor

将相同的服务条目添加到 Cursor 的 MCP 配置(项目配置使用 .cursor/mcp.json,也可以使用对应的全局 MCP 配置):

{
  "mcpServers": {
    "musicwire": {
      "command": "npx",
      "args": ["-y", "musicwire-mcp"],
      "env": {
        "MUSICWIRE_API_URL": "https://musicwire.example"
      }
    }
  }
}

从已导出 MUSICWIRE_X402_PRIVATE_KEY 的环境中启动 Cursor;不要将密钥存储在 JSON 配置中。

本地零成本开发

使用明确的非生产 stub 配置运行 Musicwire,然后以 stub 模式启动 MCP 服务:

ARTIFACT_SIGNING_SECRET='replace-with-a-long-random-secret' docker compose up

MUSICWIRE_API_URL='http://127.0.0.1:8787' \
MUSICWIRE_MCP_PAYMENT_MODE=stub \
npx -y musicwire-mcp

代码仓库中的 test/mcp-e2e.test.js 会使用真实的 stdio MCP 会话测试此付款行为,并覆盖每个工具。它不会创建钱包、使用凭据或发送资金。

付款行为

对于 musicwire_validate 和 musicwire_render,该包会先发送原始请求。如果 Musicwire 返回 402,它会从 GET /manifest 读取公告的支付网络,然后由 x402 客户端读取支付要求,使用已配置的买方钱包在该网络上签署 Exact EVM 授权,并通过 Payment-Signature 重复发送完全相同的请求。Musicwire 会在执行任务前验证授权,并仅在质量控制通过后扣款。作业轮询、编曲指南和来源验证均免费。托管的 Streamable HTTP 端点会将该 402 返回给调用方 Agent,而不会代为付款。

这两个付费工具均支持 idempotency_key。重试请求时,请使用同一个付款方和相同的键,以确保 Musicwire 重放原始结果,而不是创建另一笔支付授权。对于同一付款方,使用该键重试不同的载荷会返回 HTTP 409,且不会扣款。

评论

支持 Markdown

第一次接触 MCP?

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

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