
Musicwire Mcp
io.github.thatdudealsoPublished by GitHub account thatdudealsov0.1.1Updated Oct 24, 2026
Paid MusicXML validation, rendering, and automated QC for MCP clients.
Overview
Musicwire MCP lets an assistant validate and render MusicXML scores through a paid x402 API, plus free authoring guidance and provenance checks.
- What you can do
- Get the free MusicXML authoring guide and verify artifact SHA-256 hashes against signed render receipts for free, with no payment needed for either call. Pay per call to run detailed MusicXML validation and to queue a render, which returns MP3 for listening or MIDI for editing. Inspect a render job or poll it until it finishes, using repeated short calls on the hosted endpoint. Retry a paid request with an idempotency key so the original outcome is replayed instead of a new payment authorization.
- When to use it
- Useful when an assistant works with MusicXML scores and needs automated validation, quality control, or audio and MIDI rendering without building that pipeline itself. Also handy for checking that a rendered artifact matches a signed receipt.
- Requirements
- Runs locally over stdio via npx and needs Node.js 22.5 or newer, or connects to the hosted Streamable HTTP endpoint. MUSICWIRE_API_URL optionally sets the API base URL. Paid calls need MUSICWIRE_X402_PRIVATE_KEY, a throwaway buyer wallet funded with USDC on Base mainnet or Base Sepolia, and network access.
Installation
In SourceWeft
- Open Musicwire Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
musicwire-mcp
musicwire-mcp is a Model Context Protocol server for Musicwire. It gives an MCP client five tools:
musicwire_compose_guide- get the free MusicXML authoring guide.musicwire_validate- pay for detailed MusicXML validation.musicwire_render- pay to queue a MusicXML render.musicwire_get_job- inspect a render or poll it to completion.musicwire_verify_provenance- free check of an artifact SHA-256 against signed render receipts.
Local MCP clients such as Claude Code and Cursor run this package over stdio:
Hosted MCP clients such as Claude Connectors and Smithery use the public Streamable HTTP endpoint served by the Musicwire API:
That hosted endpoint exposes the same tools and needs no Smithery session config (the listed config schema is an empty object). It does not hold a buyer wallet. musicwire_validate and musicwire_render return HTTP 402 Payment Required with the same x402 quote as POST /v1/validate and POST /v1/render. Retry the identical MCP request with Payment-Signature. Compose guide, job polling, and provenance verify stay free.
Over the hosted endpoint, poll musicwire_get_job with repeated short calls instead of one long wait_for_completion hold: the gateway in front of the hosted endpoint times out requests after roughly 29 seconds, while the render itself continues and stays pollable. Long wait_for_completion waits are fine over stdio.
The only requestable render outputs are MP3 for listening and MIDI for editing. Completed renders also include the source MusicXML, NOTICE.txt, and receipt.json.
Paid calls use x402 Exact USDC on Base. The server reads GET /manifest from the configured API and pays on the network that deployment advertises: Base mainnet (eip155:8453) or Base Sepolia (eip155:84532). It retries a 402 Payment Required response with a signed payment automatically, and never logs or persists the private key.
Install
The package requires Node.js 22.5 or newer. Run the stdio server directly from an MCP client with npx -y musicwire-mcp, or point a Streamable HTTP MCP client at https://musicwire.5432wire.com/mcp.
Configuration
The server starts and serves the free tools without a key. The key is read only when a paid call actually receives 402 Payment Required; if it is missing at that point, the tool call fails with an error telling you to set it. Smithery's hosted listing does not collect these variables: declare no session fields, then pay each musicwire_validate / musicwire_render call with Payment-Signature.
stub mode retries challenges with a non-secret test authorization and is rejected unless MUSICWIRE_API_URL points at localhost, 127.0.0.1, or ::1. It is for Musicwire's explicit local stub profile only. Never use it for a remote API. The hosted /mcp endpoint never enables stub auto-pay and never holds a server-side buyer key.
Fund the buyer wallet on the network the target deployment advertises: real USDC on Base mainnet for the hosted deployment, test USDC on Base Sepolia for a local one. This package never picks the network itself, so it cannot pay on a network the server did not quote, and it refuses any advertised network other than those two. Treat the private key as a secret: inject it through your client environment, do not put it in a repository or client configuration file, and rotate it if exposed.
Claude Code
Add this to the project's .mcp.json, substituting the deployed API URL. Keep the private key in the shell environment that starts Claude Code rather than committing it in this file.
Before starting Claude Code, export a buyer key funded on the network that deployment advertises:
Cursor
Add the same server entry to Cursor's MCP configuration (.cursor/mcp.json for a project, or the equivalent global MCP configuration):
Start Cursor from an environment that exports MUSICWIRE_X402_PRIVATE_KEY; do not store the key in the JSON configuration.
Local, zero-cost development
Run Musicwire with its explicit non-production stub profile, then start the MCP server with stub mode:
The repository's test/mcp-e2e.test.js uses a real stdio MCP session against this payment behavior and exercises every tool. It creates no wallet, uses no credentials, and sends no funds.
Payment behavior
For musicwire_validate and musicwire_render, the package sends the original request first. If Musicwire returns 402, it reads the advertised payment network from GET /manifest, then the x402 client reads the payment requirements, signs an Exact EVM authorization with the configured buyer wallet on that network, and repeats the identical request with Payment-Signature. Musicwire verifies the authorization before work and captures only after quality control passes. Job polling, the compose guide, and provenance verify are free. The hosted Streamable HTTP endpoint returns that 402 to the calling agent instead of paying.
idempotency_key is available on the two paid tools. Reuse it with the same payer when retrying a request to ensure Musicwire replays the original outcome instead of creating another payment authorization. Reusing it with a different payload for that payer returns HTTP 409 and does not charge.
Source: mcp/README.md at commit 2009a6d
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.