Rights
FreeNot checkedEnables AI agents to search, license, and pay for rights-clean music per use, returning a verifiable license certificate.
About
Enables AI agents to search, license, and pay for rights-clean music per use, returning a verifiable license certificate.
README
The rights layer for the agent economy. An MCP server that lets an AI agent search, license, and pay for rights-clean music per use — and walk away with a verifiable license certificate proving it's allowed to use the track.
Built on x402 for payment and the fair-exchange escrow pattern from x402-pact: the agent's money only moves once the licensed asset and a signed certificate are bound to the payment. Zero dependencies, no SDK, no LLM in the loop — it runs anywhere Node runs and behaves identically whether or not any AI service is reachable.
Why this exists
An agent generating a video, ad, or stream doesn't need "a track." It needs a track it is allowed to use, with a paper trail proving it. That paper trail is only worth anything if whoever issues it actually controls the rights. That's the moat: the catalog adapter is the one piece a generic tool can't fake — it's where a real rights holder (e.g. a music catalog like Soundraw) plugs in.
Everything else here — pricing, escrow, certificates, the MCP wire protocol — is plumbing, and it's all built and tested.
The loop
search_tracks ──▶ quote_license ──▶ license_track ──▶ verify_license
(previews) (price + x402 (pay → settle (offline proof
requirements) ONLY on delivery) of rights)
npm run demo
# 1. search → picked "Low Tide" (trk_lowtide), creator price $0.162
# 2. quote → q_7ab4..., $0.162 for creator usage
# 3. pay+settle → license lic_498f..., tx sim-settle:3a6b...
# split: rights-holder $0.1377, platform $0.0243
# 4. verify → VALID certificate
MCP tools
| Tool | What it does |
|---|---|
search_tracks |
Query the catalog by mood/genre/bpm/text. Returns previews + per-usage price estimates. No licensed asset. |
quote_license |
Price a track for a usage tier (personal/creator/commercial/broadcast); returns x402 paymentRequirements + a quoteId. |
license_track |
Pay a quote. Funds settle only after the asset + a signed certificate are bound to the payment (fair exchange). Returns the deliverable + certificate. |
verify_license |
Verify a certificate offline: validly signed by the rights issuer, with its terms. |
catalog_stats |
Issuer key, network, take rate, licenses issued, balances. |
Run it as an MCP server
npm start # stdio JSON-RPC, ready for any MCP client
Claude Desktop / Claude Code mcpServers entry:
{
"mcpServers": {
"rights": { "command": "node", "args": ["/abs/path/to/rights-mcp/src/server.js"] }
}
}
Or drive it with no client (the "no LLM" path)
rights search "calm lofi"
rights quote trk_lowtide creator
rights license <quoteId>
rights verify <certificate>
rights stats
Economics
license_track settles the price and splits it on the certificate: rights holder gets their share, the platform keeps takeRateBps (default 15%). The split is signed into every license, so it's auditable, not a trust-me number. Set with RIGHTS_TAKE_BPS.
Configuration
| Env | Default | Meaning |
|---|---|---|
RIGHTS_NETWORK |
sim |
sim = no chain, auto-pays a funded demo wallet. A real network (e.g. solana-mainnet) requires a signed x402 payment. |
RIGHTS_TAKE_BPS |
1500 |
Platform cut in basis points. |
RIGHTS_PAYTO |
soundraw-payout |
Rights-holder payout address. |
SOUNDRAW_API_KEY |
— | When set, swaps the sample catalog for the real Soundraw rights catalog. |
What's real vs. stubbed (honest seams)
This is a working spine with two deliberate, clearly-labelled seams where production drops in:
- Catalog — ships with an 8-track sample catalog so it runs with no credentials.
SoundrawCatalogis the drop-in for the real rights API (same interface; the rest of the server is unchanged). Sample deliverables are labelled placeholders, not real licensed audio. - Settlement —
SimBankproves the full escrow→split loop with no chain. A Solana facilitator adapter (settle a partially-signed tx / durable nonce) drops in behind the same calls. Real on-chain settlement is not yet wired.
Everything else — escrow/fair-exchange semantics, Ed25519 certificate signing & verification, double-spend / expiry / underpayment rejection, the MCP protocol — is real and covered by 17 no-mock tests (npm test), including a full roundtrip against the actual server over stdio.
License
MIT
Install Rights in Claude Desktop, Claude Code & Cursor
unyly install rights-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add rights-mcp -- npx -y github:yksanjo/rights-mcpFAQ
Is Rights MCP free?
Yes, Rights MCP is free — one-click install via Unyly at no cost.
Does Rights need an API key?
No, Rights runs without API keys or environment variables.
Is Rights hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Rights in Claude Desktop, Claude Code or Cursor?
Open Rights on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Omni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaARA
Generate images, video and audio from any AI agent — one connector.
by ARAYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolCompare Rights with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
