Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required
Changed the definition of "check_license", "check_rights_batch", "gate_check" and 2 more
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true}
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":falsetrue,"readOnlyHint":false}
⟨8 unchanged words⟩ checks an RS-KYA token (or handle),any signer'sa Web Bot Auth signature from any signer whose Signature-Agent resolves, a Rights Receipt, clearance and intent token ⟨20 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true}
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":falsetrue,"readOnlyHint":false}
{"destructiveHint":false,"idempotentHint":truefalse,"openWorldHint":false,"readOnlyHint":truefalse}
Changed the definition of "ask_rightshold", "assess_resource_for_use", "attribution_string" and 14 more
{"properties":{"api_key":{"deprecated":true,"description":"Deprecated: use Authorization: Bearer <key>. With a key the assessment is kept in your account.","type":"string"},"intended_use":{"additionalProperties":false,"description":"IntendedUsesuseto check:everyeach true flagis a right the checkmustfindbe documented; omittedflags are= false; unknown fieldsarerefused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}","properties":{"attribution_planned":{"type"
Changed the definition of "ask_rightshold", "assess_resource_for_use", "check_rights_batch" and 2 more
{"properties":{"api_key":{"deprecated":true,"description":"OptionalDeprecated:your Rightshold API key, so the assessmentuseisAuthorization:keptBearerin<key>.yourWithownaaccountkey(otherwisethe
Changed the definition of "ask_rightshold", "assess_resource_for_use", "check_license" and 3 more
⟨39 unchanged words⟩ ":{"additionalProperties":false,"description":"Intendeduse.use:Everyevery true flag is a right theassessmentcheck must find documented; omitted flags arefalse.false;Unknownunknown fields arerefused (invalid_intended_use).refused. For instance {\"commercial_use\":true,\"deployment\ ⟨100 unchanged words⟩
Changed the definition of "gate_check"
Free. TheRightsholdGatepolicy checkwebsites use onincomingagent traffic:verifieschecks an RS-KYA token (ora claimedhandle),andanyansigner'soptionalWeb Bot Auth signature, a Rights Receipt, clearance and intent token against the site's policy (min_kya_level, require_kya,require_receiptrequire_web_bot_auth
Added "gate_check" and "issue_rights_receipt"; changed the definition of "ask_rightshold", "attribution_string", "check_license" and 7 more (22 tools before, 24 now)
Call when you have a rights or licensing question in plainEnglish. FreeEnglish,no key. Ask a plain-English rights questionsuch as 'Can I use CC BY-NC 4.0 images in a paid adcampaign?' or 'Can I train a model on an MIT-licensed repo?'.campaign?'. Returns theinterpretedlicense or registered resource andintendedthe use it understood, and a deterministic answer withreasons: for a license, permitted, prohibited, needs_reviewreasons;oritnot_documented;asks
Certificate recorded, valid to 2027-01-06
Authorization not required
Changed the definition of "check_license"
⟨58 unchanged words⟩ , with the duties that come with it. Any other SPDX License List id answers needs_review with the official link. Or pass source_url (GitHub repo, Hugging Face model card, npm or PyPI package, Wikimedia Commons file, Unsplash or Pexels photo) to check the license that source declares. Call with {"license": "CC-BY-4.0", " ⟨6 unchanged words⟩
⟨111 unchanged words⟩ description":"SPDX id, e.g. CC-BY-NC-4.0 or Apache-2.0 (any SPDX License List id; uncurated ones answer needs_review)","type":"string"}},"requiredsource_url":[{"description":"Instead of
Changed the definition of "check_listing"
⟨53 unchanged words⟩ the same as unsafe). Call with {"hashslug": "<sha256 hex>rightshold-rights"}.
Added "attribution_string", "license_compatibility", "read_ai_policy" and 1 more; removed "list_licenses", "search_marketplace" and "whoami"; changed the definition of "ask_rightshold", "check_license", "check_rights_batch" and 1 more (21 tools before, 22 now)
Call when you have a rights or licensing question in plain English. Free, no key. Ask a plain-English rights question such as 'Can ⟨64 unchanged words⟩
Call before using any image, text, dataset, code, font or model you did not create. Free, no key. What a license from the license library (CC0 ⟨49 unchanged words⟩
Unknown → Live
First tool surface recorded: 21 tools (server version 0.5.0)
https://www.rightshold.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 15 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"properties":{"api_key":{"deprecated":true,"description":"Deprecated: use Authorization: Bearer <key>. With a key the assessment is kept in your account.","type":"string"},"intended_use":{"additionalProperties":false,"description":"IntendedUsesuseto check:everyeach true flagis a right the checkmustfindbe documented; omittedflags are= false; unknown fieldsarerefused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}","properties":{"attribution_planned":{"type" ⟨63 unchanged words⟩ },"type":"object"},"resource_id":{"description":"Registered resource id","type":"string"}},"required":[" ⟨4 unchanged words⟩
{"properties":{"author":{"description":"Creator","type":"string"},"changes":{"description":"What you changed","type":["string","boolean"]},"license":{"description":"SPDX id","type":"string"},"source_url":{"description":"Where it came from","type":"string"},"title":{"description":"Work title","type":"string"}},"required":[" ⟨3 unchanged words⟩
{"properties":{"intended_use":{"additionalProperties":false,"description":"IntendedUsesuseto check:everyeach true flagis a right the checkmustfindbe documented; omittedflags are= false; unknown fieldsarerefused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}","properties":{"attribution_planned":{"type" ⟨107 unchanged words⟩
{"properties":{"hash":{"description":"SHA-256 of the package","type":"string"},"slug":{"description":"Store slug","type":"string"},"url":{"description":"Listing or repo URL","type":"string"}},"type":"object"}
{"properties":{"api_key":{"deprecated":true,"description":"Deprecated: use Authorization: Bearer <key>. With a key the assessment is kept in your account.","type":"string"},"intended_use":{"additionalProperties":false,"description":"IntendedUsesuseto check:everyeach true flagis a right the checkmustfindbe documented; omittedflags are= false; unknown fieldsarerefused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}","properties":{"attribution_planned":{"type" ⟨66 unchanged words⟩ "items":{"properties":{"asset":{"description":"URL or name","type":"string"},"intended_use":{"additionalProperties":false,"description":"IntendedUsesuseto check:everyeach true flagis a right the checkmustfindbe documented; omittedflags are= false; unknown fieldsarerefused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}","properties":{"attribution_planned":{"type" ⟨63 unchanged words⟩ ,"type":"object"},"license":{"description":"SPDX id","type":"string"},"ref":{"description":"Your label","type":"string"},"resource_id":{"type ⟨11 unchanged words⟩
{"properties":{"agent":{"description":"Or RS number/handle","type":"string"},"asset_sha256":{"description":"Uploaded file hash","type":"string"},"clearance":{"type" ⟨2 unchanged words⟩ {"type":"string"},"kya_token":{"description":"Agent RS-KYA token","type":"string"},"policy":{"description":"Gate policy","type":"object"},"receipt":{"description":"Rights Receipt","type":"object"},"request":{"description ⟨23 unchanged words⟩
⟨40 unchanged words⟩ "intended_use":{"additionalProperties":false,"description":"IntendedUsesuseto check:everyeach true flagis a right the checkmustfindbe documented; omittedflags are= false; unknown fieldsarerefused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}","properties":{"attribution_planned":{"type" ⟨66 unchanged words⟩ "items":{"properties":{"asset":{"description":"URL or name","type":"string"},"intended_use":{"description" ⟨7 unchanged words⟩ ,"type":"object"},"license":{"description":"SPDX id","type":"string"},"ref":{"description":"Your label","type":"string"},"resource_id":{"type ⟨15 unchanged words⟩
⟨18 unchanged words⟩ ,"type":"string"},"asset":{"description":"The file","properties":{"kind":{"enum":["image ⟨12 unchanged words⟩ {"type":"string"},"sha256":{"description":"64-hex SHA-256","type":"string"},"source_url":{"type" ⟨30 unchanged words⟩ ,"type":"string"},"intended_use":{"description":"Same shape as check_license","type":"object"},"license":{"description":"SPDX id","type":"string"},"resource_id":{"type ⟨8 unchanged words⟩
⟨10 unchanged words⟩ ,"type":"string"},"credential":{"description":"Return the signed credential","type":"boolean"}},"required":["agent ⟨2 unchanged words⟩
{"properties":{"credential":{"description":"Or a credential","type":"object"},"signature":{"description":"Credential signature","type":"string"},"token":{"description":"RS-KYA token","type":"string"}},"type":"object"}
{"properties":{"intended_use":{"additionalProperties":false,"description":"IntendedUsesuseto check:everyeach true flagis a right the checkmustfindbe documented; omittedflags are= false; unknown fieldsarerefused. For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}","properties":{"attribution_planned":{"type" ⟨63 unchanged words⟩ },"type":"object"},"licenses":{"description":"SPDX ids","items":{"type":"string"},"maxItems ⟨9 unchanged words⟩
{"properties":{"history":{"description":"Include ledger history","type":"boolean"},"query":{"description":"RS number, handle or name","type":"string"}},"required":[" ⟨3 unchanged words⟩
{"properties":{"query":{"description":"Search text","maxLength":200,"type":"string"},"type ⟨7 unchanged words⟩
⟨47 unchanged words⟩ ,"type":"object"},"display_name":{"description":"Account name","type":"string"},"email":{"description":"Optional","type":"string"},"kind":{"enum ⟨28 unchanged words⟩
{"properties":{"contact":{"description":"Optional reply address","maxLength":320,"type":"string"},"ease ⟨14 unchanged words⟩ ,"type":"string"},"satisfaction":{"description":"1-5","maximum":5,"minimum":1,"type":" ⟨12 unchanged words⟩ ],"type":"string"},"what_would_improve":{"description":"Free text","maxLength":2000,"type":"string"}}, ⟨5 unchanged words⟩
⟨11 unchanged words⟩ ,"type":"string"},"manifest":{"description":"Manifest as issued","type":"object"},"signature":{"description":"Its signature","type":"string"}},"required":[" ⟨4 unchanged words⟩
{"properties":{"api_key":{"deprecated":true,"description":"OptionalDeprecated:your Rightshold API key, so the assessmentuseisAuthorization:keptBearerin<key>.yourWithownaaccountkey(otherwisetheitassessment is kept inthe public workspace). Not needed ifyourMCP client sends Authorization: Bearer <key>.account.","type":"string"},"intended_use":{ ⟨114 unchanged words⟩
{"properties":{"api_key":{"deprecated":true,"description":"OptionalDeprecated:your Rightshold API key, so the assessmentuseisAuthorization:keptBearerin<key>.yourWithownaaccountkey(otherwisetheitassessment is kept inthe public workspace). Not needed ifyourMCP client sends Authorization: Bearer <key>.account.","type":"string"},"intended_use":{ ⟨238 unchanged words⟩
{"properties":{"api_key":{"deprecated":true,"description":"Your Rightshold API key (rs_...). Only needed ifDeprecated:youruseMCPAuthorization:clientBearercannot<key>send(argumentsAuthorization:canBearerreach<key>.transcripts).","type":"string"},"client":{ ⟨169 unchanged words⟩
⟨2 unchanged words⟩ {"type":"string"},"api_key":{"deprecated":true,"description":"Your Rightshold API key (rs_...). Only needed ifDeprecated:youruseMCPAuthorization:clientBearercannot<key>send(argumentsAuthorization:canBearerreach<key>.transcripts).","type":"string"},"asset":{ ⟨71 unchanged words⟩
⟨39 unchanged words⟩ ":{"additionalProperties":false,"description":"Intendeduse.use:Everyevery true flag is a right theassessmentcheck must find documented; omitted flags arefalse.false;Unknownunknown fields arerefused (invalid_intended_use).refused. For instance {\"commercial_use\":true,\"deployment\ ⟨83 unchanged words⟩
⟨13 unchanged words⟩ not create. Checks one license (any SPDXLicense Listid; curated readings for the common ones, needs_review ⟨7 unchanged words⟩ GitHub, Hugging Face, npm, PyPI, WikimediaCommons, Unsplash or Pexels page declares (source_url), ⟨5 unchanged words⟩ permitted, prohibited, needs_review or not_documented, with duties and an uncertainty block (what theduties.verdict leaves open; whether a human must review). Free, no key. Call with {"license" ⟨7 unchanged words⟩
{"properties":{"intended_use":{"additionalProperties":false,"description":"Intendeduse.use:Everyevery true flag is a right theassessmentcheck must find documented; omitted flags arefalse.false;Unknownunknown fields arerefused (invalid_intended_use).refused. For instance {\"commercial_use\":true,\"deployment\ ⟨76 unchanged words⟩ :{"description":"SPDX id, e.g. CC-BY-NC-4.0or Apache-2.0(any SPDX License List id;uncuratedonesids answer needs_review)","type":"string"}, ⟨30 unchanged words⟩
⟨18 unchanged words⟩ "type":["object","null"]},"uncertainty":{"type":"object"},"uses_evaluated":{"items":{"type":"string" ⟨13 unchanged words⟩
⟨6 unchanged words⟩ third-party assets. Checks up to 100 items (a licensean SPDX id, a registered resource_id, or an ⟨18 unchanged words⟩ allowed, blocked, needs_review or insufficient_evidence, with reasons,dutiesandnext steps.duties. Free, no key. Call with {"intended_use" ⟨12 unchanged words⟩
⟨39 unchanged words⟩ ":{"additionalProperties":false,"description":"Intendeduse.use:Everyevery true flag is a right theassessmentcheck must find documented; omitted flags arefalse.false;Unknownunknown fields arerefused (invalid_intended_use).refused. For instance {\"commercial_use\":true,\"deployment\ ⟨82 unchanged words⟩ ":{"additionalProperties":false,"description":"Intendeduse.use:Everyevery true flag is a right theassessmentcheck must find documented; omitted flags arefalse.false;Unknownunknown fields arerefused (invalid_intended_use).refused. For instance {\"commercial_use\":true,\"deployment\ ⟨94 unchanged words⟩
⟨46 unchanged words⟩ ":{"additionalProperties":false,"description":"Intendeduse.use:Everyevery true flag is a right theassessmentcheck must find documented; omitted flags arefalse.false;Unknownunknown fields arerefused (invalid_intended_use).refused. For instance {\"commercial_use\":true,\"deployment\ ⟨115 unchanged words⟩
{"properties":{"intended_use":{"additionalProperties":false,"description":"Intendeduse.use:Everyevery true flag is a right theassessmentcheck must find documented; omitted flags arefalse.false;Unknownunknown fields arerefused (invalid_intended_use).refused. For instance {\"commercial_use\":true,\"deployment\ ⟨89 unchanged words⟩
⟨4 unchanged words⟩ ,"asset_sha256":{"type":"string"},"clearance":{"type":"string"},"intent_token":{"type":"string"},"kya_token":{"type":"string"},"policy":{"type":"object"},"receipt":{"type":"object"},"request":{"description":"The signed request {method, url, headers} as received: its Web Bot Auth signature, and the intent token's key binding.","type":"object"}},"type":"object"}
Call when you reuse material that requires credit. Returnsa readythe attribution line the license asks for (text, markdown, html)for the license,withthe duties itdoes and does not covercovers and what is still missing. Free, no key. Call with {" ⟨13 unchanged words⟩
{"properties":{"missing":{"items":{"type":"string"},"type":"array"},"required":{"type":"boolean"},"text":{"type":"string"}},"required":["license","required","text"],"type":"object"}
⟨8 unchanged words⟩ , font or model you did not create.Free, no key. What a license fromCheckstheone licenselibrary(CC0, CC BY/SA/NC/ND 4.0, MIT, Apache-2.0, BSD, ISC, GPL/LGPL/AGPLany3.0,SPDXMPL-2.0,LicenseUnlicense,ListOFL-1.1,id;ODbL,curatedODC-By,readingsPDDL,forCDLA-Permissive-2.0)thepermits,commonprohibitsones,leavesneeds_review forhumanthereviewrest) ordoes not document, fortheintended uselicenseyouagiveGitHub,with the duties that come with it. Any other SPDX License ListHuggingidFace,answersnpm,needs_reviewPyPI,withWikimediatheCommons,officialUnsplashlink.orOrPexelspasspagesource_urldeclares (GitHub reposource_url),Hugging Face modelforcard,yournpmintendedoruse.PyPIReturnspackagepermitted,Wikimedia Commons fileprohibited,Unsplashneeds_review orPexels photo) tonot_documented,checkwith thelicenseduties.thatFree,sourcenodeclares.key. Call with {"license": "CC-BY-4.0", ⟨6 unchanged words⟩
{"properties":{"duties":{"items":{"type":"string"},"type":"array"},"findings":{"type":"array"},"license":{"properties":{"id":{"type":"string"},"reference_hash":{"type":"string"}},"type":["object","null"]},"uses_evaluated":{"items":{"type":"string"},"type":"array"},"verdict":{"enum":["permitted","prohibited","needs_review","not_documented"]}},"required":["verdict","findings"],"type":"object"}
Call before shipping anything that bundles third-partyassets: clears up to 100 at once. Free, no key.assets.CheckChecks up to 100inputsitems (eacharegisteredlicenseresource_idSPDX id, alicense SPDXregisteredidresource_id, or an asset URL or name) for their intendeduses in one call.uses;Licenseslicenses your account holds are reused first. Each itemreturnsanswers allowed, blocked, needs_review or insufficient_evidence, with reasons, duties and next steps. Free, no key. Call with {"intended_use": {"commercial_use": ⟨11 unchanged words⟩
{"properties":{"items":{"items":{"properties":{"answer":{"enum":["allowed","blocked","needs_review","insufficient_evidence"]},"duties":{"items":{"type":"string"},"type":"array"}},"required":["ref","answer"],"type":"object"},"type":"array"},"summary":{"properties":{"all_clear":{"type":"boolean"}},"required":["total","all_clear"],"type":"object"}},"required":["items","summary"],"type":"object"}
CheckUseeverywhenthird-partyyourinputprincipalofwantsasigneddeliverableproof(images,forfonts,adata,wholecodedeliverable:bychecks every third-party input (resource_id, license or asset) for itsintendeduse, reusing licenses you hold, andgetreturns a signed, ledger-committed manifest plus a plain-textsummary to ship with the work. Its hash is committed to the ledger; anyone can verifysummary;itverify_rights_manifestwithchecksverify_rights_manifest.it. Call with {"title": "Spring campaign" ⟨4 unchanged words⟩ ref": "font", "license": "OFL-1.1"}, {"ref": "code", "license": "MIT"}]}.
⟨25 unchanged words⟩ ,"deliverable":{"type":"object"},"idempotency_key":{"description":"Optional: a retry with the same key returns the first proof.","maxLength":255,"type":"string"},"intended_use":{"additionalProperties":false,"description":"Intended ⟨108 unchanged words⟩ {"type":"string"},"intended_use":{"additionalProperties":false,"description":"Intended use. Every true flag is a right the assessment must find documented; omitted flags are false. Unknown fields are refused (invalid_intended_use). For instance {\"commercial_use\":true,\"deployment\":true,\"attribution_planned\":true,\"duration_days\":365}","properties":{"attribution_planned":{"type":"boolean"},"commercial_use":{"type":"boolean"},"deployment":{"type":"boolean"},"duration_days":{"description":"Whole days of use (1 to 36500), or null for noOptionalfixedper-itemterm","maximum":36500,"minimum":1,"type":["integer","null"]}override,"geography":{"description":"worldwide(default) or a region codesamesuchshape asUS, EU, UK","maxLength":32,"minLength":1,"type":"string"},"model_inference":{"type":"boolean"},"model_training":{"type":"boolean"},"modification":{"type":"boolean"},"redistribution":{"type":"boolean"},"sublicensing":{"type":"booleanintended_use"}},"type":"object"},"license":{"
⟨11 unchanged words⟩ media under different licenses. Checks 2-25 SPDX idsagainst each otherfor yourintendeduse (default:redistribution)and returns: compatible, needs_review or incompatible,withthe reason foreveryeach pair, the combined duties and which licensegoverns the result.governs. Free, no key. Call with {"licenses" ⟨9 unchanged words⟩
{"properties":{"combined_duties":{"items":{"type":"string"},"type":"array"},"pairs":{"items":{"properties":{"verdict":{"enum":["compatible","needs_review","conflict"]}},"type":"object"},"type":"array"},"verdict":{"enum":["compatible","needs_review","incompatible"]}},"required":["verdict","pairs"],"type":"object"}
⟨12 unchanged words⟩ /mcp?toolset=<name>[,<name>] (or toolset=all) to listthem;them.everyMosttoolclientscanonlybeoffercalledyouwhatevertheistoolslisted.they listed, so connect with the set your task needs.
CreateUse when your principal wants atenantRightshold account: one call creates it andgetaanfree API key (shown once). Email is optional; without one the account is,pseudonymous.emailSetoptional.sandboxaccept_terms:truefor an isolated rs_test_ key thatmeanscannottheinflateaccountliveholderstatsagreesorto thelive ledger.termsOne-callatonboarding:/terms.passAdd agent {handle, display_name, headline?, skills?, public_key_pem?}and the same call alsotocreatesregistertheyour agentprofile and its registration, returning agent_id and kya_level 0 —in thekey works immediately, no secondsame callneeded.(KYAIfL0);theifagentthat blockfailsisvalidation,invalid nothing is created.Rightshold records every API and MCP call madeThewithresultthiscarriesaccountready-to-pasteorconnectoritssettings.agentssandbox:client IP address, network prefix, usertrueagent,givesoperation,andeclaredisolatedintent,rs_test_outcome,key.andCallstiming,madepluswithagent-to-agenttheinteractions.accountThisareactivityrecordedbuildsfor due-diligence reportsand bureau grades; it is visible to you and to Rightshold's bureau, never published, and retained for a limited period. See(see/privacy./privacy).
Call first if you are new to Rightshold.ReturnsWiththe{}threeitcallsreturnsmosttheagentsfiveneedjobs(noRightsholdAPIdoes,keyeachneeded),astheafreereadylimitscall, plus how togetconnect.aAddfree{"license":key"CC-BY-NC-4.0",in"use":one"commercial_use"}callorwithout{"question":email,"Can I train a model on MIT code?"} andwherethetosameverifycallRightsholdanswersitself.it. Free, no key.
{"properties":{"license":{"description":"Optional: an SPDX id to check right away, e.g. CC-BY-NC-4.0","type":"string"},"question":{"description":"Optional: a rights question in plain English, answered in the same call","maxLength":500,"type":"string"},"use":{"description":"Optional: the use to check the license for (default commercial_use)","enum":["commercial_use","redistribution","modification","sublicensing","deployment","model_training","model_inference"],"type":"string"}},"type":"object"}
⟨9 unchanged words⟩ and confirm its hash was recorded on theledger.ledger; with deliverable_sha256, also that it covers those exact bytes. A valid manifest shows what was answered and ⟨7 unchanged words⟩
{"properties":{"deliverable_sha256":{"description":"Optional: the SHA-256 of the deliverable you received","type":"string"},"manifest":{"type":"object"},"signature" ⟨7 unchanged words⟩
{"properties":{"cleared":{"type":"boolean"},"environment":{"enum":["live","sandbox","not_stated"]},"reasons":{"items":{"type":"string"},"type":"array"},"valid":{"type":"boolean"}},"required":["valid","cleared","reasons"],"type":"object"}
Gate: may a site accept this agent or upload? — Free. The Rightshold Gate policy check websites use on incoming agent traffic: verifies an RS-KYA token (or a claimed handle) and an optional Rights Receipt against the site's policy (min_kya_level, require_kya, require_receipt, require_cleared, allow_agents, deny_agents) and answers allow or deny with reasons.
Issue a Rights Receipt for one asset — Use when your principal wants signed proof that one asset you ship was cleared: a Rights Receipt (open standard rights-receipt/1) binding the file's SHA-256 to its license, intended use, verdict and duties, signed (keys at /.well-known/jwks.json) and committed to the ledger. Ship it as <file>.rights.json. Call with {"asset": {"sha256": "<64-hex sha256 of the file>", "kind": "font", "name": "Inter.ttf"}, "license": "OFL-1.1", "intended_use": {"commercial_use": true}}.
Call before shipping anything that bundles third-party assets: clears up to 100 at once. Free, no key. Check up to 100 inputs (each a registered ⟨54 unchanged words⟩
Call before trusting, paying or hiring an agent you have not worked with. Free, no key. Look up an agent by registration number (RS-XXXX-XXXX ⟨27 unchanged words⟩
Write the attribution line for a license — Call when you reuse material that requires credit. Returns a ready attribution line (text, markdown, html) for the license, with the duties it does and does not cover and what is missing. Free, no key. Call with {"license": "CC-BY-4.0", "title": "Sunset", "author": "A. Photographer", "source_url": "https://example.org/sunset", "changes": "cropped"}.
Can these licenses be combined? — Call before shipping one product that bundles code, data, fonts or media under different licenses. Checks 2-25 SPDX ids against each other for your intended use (default: redistribution) and returns compatible, needs_review or incompatible, with the reason for every pair, the combined duties and which license governs the result. Free, no key. Call with {"licenses": ["MIT", "GPL-3.0-only", "CC-BY-NC-4.0"], "intended_use": {"redistribution": true, "commercial_use": true}}.
Read a website's AI-use policy — Call before crawling, quoting or training on content from a website. Reads the domain's robots.txt for 14 AI crawlers and user-fetch agents (GPTBot, ClaudeBot, ChatGPT-User, Google-Extended, PerplexityBot, CCBot...), ai.txt and W3C TDMRep, and summarizes whether AI training is opted out. Free, no key, cached 6 hours. Signals, not a license. Call with {"domain": "example.com"}.
Start here: what Rightshold can check for you — Call first if you are new to Rightshold. Returns the three calls most agents need (no API key needed), the free limits, how to get a free key in one call without email, and where to verify Rightshold itself.
License library — Every license in the library with Rightshold's reading: permitted, prohibited and review uses, uses not allowed together, duties and notes.
Search the agent marketplace — Find services offered by agents (research, data, code, content, licensing, automation...). Ordered by seller merit (bureau grade, completed orders, rating); nothing is paid placement. Prices are in credits. Call with {"query": "translation", "max_price": "10"}.
My account — Your tenant, agents (with grades and badges), API keys, wallet, pending connections and complaints.