Rightshold
Server Details
License checks, signed rights proof, keyless pre-call checks for MCP servers, and the agent store
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 24 tools
Most tools target clearly distinct resources/actions (check_license vs license_compatibility vs attribution_string vs issue_rights_receipt are well-differentiated), and descriptions state when each applies. A few pairs blur: start_here's optional question parameter overlaps ask_rightshold, and kya_lookup vs registry_lookup both return agent identity/status data. These overlaps are described, so an agent can usually pick correctly, but the boundaries aren't razor-sharp.
All names are snake_case and readable, with the majority following a verb_noun pattern (check_license, get_status, issue_rights_manifest, verify_rights_manifest, read_ai_policy). The deviation is a handful of noun_first names (kya_check, kya_lookup, registry_lookup, ledger_verify, gate_check, attribution_string) that put the domain prefix before the verb. Minor, but it breaks prediction of whether a tool starts with check_ or ends with _check.
24 tools is at the upper edge; the surface spans several sub-domains (rights checking, KYA/registry, ledger proof, store, onboarding/billing), so each tool serves a distinct job, but the set is heavy for an agent to hold in context. The presence of list_toolsets/toolset segmentation suggests the team knows this and mitigates it, but at face value the count sits on the borderline.
The core lifecycle is well covered: single and batch checks, compatibility, attribution, receipt and manifest issuance plus verification, ledger auditing, agent identity, store search, and operational status. Gaps are edge-level rather than blocking, e.g. no tool to update/revoke an agent registration or manage an account after sign_up, and no explicit path for revoking an issued receipt.
Available Tools
24 toolsask_rightsholdAsk Rightshold (plain English)AInspect
Call when you have a rights or licensing question in plain English, such as 'Can I use CC BY-NC 4.0 images in a paid ad campaign?'. Returns the license or registered resource and the use it understood, and a deterministic answer with reasons; it asks for clarification instead of guessing. Check the understood use before relying on it. Free, no key.
Inputs: question (required), resource_id, intended_use. Returns: object
assess_resource_for_useAssess a resource for an intended useAInspect
Call when the asset is a registered resource and you need its exact answer for one use. Deterministic assessment bound to the resource version, license and intended use, and whether the publisher's rights authority is documented (a verified domain hosting the resource). Four dispositions with reason codes; no trust score. Free, no key.
Inputs: resource_id (required), intended_use (required). Returns: object
attribution_stringWrite the attribution line for a licenseARead-onlyIdempotentInspect
Call when you reuse material that requires credit. Returns the attribution line the license asks for (text, markdown, html), the duties it covers and what is still missing. Free, no key. Call with {"license": "CC-BY-4.0", "title": "Sunset", "author": "A. Photographer", "source_url": "https://example.org/sunset"}.
Inputs: license (required), title, author, changes, +1 more. Returns: text, missing, required
check_licenseCheck a use against a licenseARead-onlyIdempotentInspect
Call before using any image, text, dataset, code, font or model you did not create. Checks one license (any SPDX id; curated readings for common ones, needs_review for the rest) or the license a GitHub, Hugging Face, npm, PyPI, Wikimedia, Unsplash or Pexels page declares (source_url), for your intended use. Returns permitted, prohibited, needs_review or not_documented, with duties and an uncertainty block (what the verdict leaves open; whether a human must review). Free, no key. Call with {"license": "CC-BY-4.0", "intended_use": {"commercial_use": true, "attribution_planned": true}}.
Inputs: intended_use (required), license, source_url. Returns: duties, license, verdict, findings, +2 more
check_listingCheck an app or skill before installing itARead-onlyIdempotentInspect
Pre-install check against the Rightshold Store and its signed revocation list: give a package hash (SHA-256), an endpoint or package URL, or a store slug. Answers whether a listing is on record, its vetting tier and rating record, or REVOKED (do not install), or unknown (nothing on record — unvetted, which is not the same as unsafe). Call with {"slug": "rightshold-rights"}.
Inputs: url, hash, slug. Returns: object
check_rights_batchCheck many inputs at onceAInspect
Call before shipping anything that bundles third-party assets. Checks up to 100 items (SPDX id, registered resource_id, or asset URL or name) for their intended uses; licenses your account holds are reused first. Each item answers allowed, blocked, needs_review or insufficient_evidence, with reasons and duties. Free, no key. Call with {"intended_use": {"commercial_use": true}, "items": [{"ref": "logo-font", "license": "OFL-1.1"}, {"ref": "hero-photo", "license": "CC-BY-NC-4.0"}]}.
Inputs: items (required), intended_use. Returns: items, summary
gate_checkGate: may a site accept this agent or upload?ARead-onlyIdempotentInspect
Call when your site accepts agents or uploads. Free, no key. The Gate websites use on agent traffic: checks an RS-KYA token (or handle), a Web Bot Auth signature from any resolvable Signature-Agent signer, a Rights Receipt, clearance and intent token against the site's policy (min_kya_level, require_kya, require_web_bot_auth, allowed_signature_agents, require_receipt, allow_agents, deny_agents, require_clearance, require_intent, max_intent_risk); allow or deny, with reasons.
Inputs: agent, policy, receipt, request, +4 more. Returns: object
get_pricingPricing: what Rightshold costsARead-onlyIdempotentInspect
Use this to see what Rightshold costs before you sign up or plan spend: every pricing line with its price today (0 in the preview) and planned price, its unit and free allowance, and the principles behind the prices — nothing buys placement, a grade, a KYA level, a verdict or a review. No account or key needed.
Inputs: no named parameters. Returns: object
get_statusPlatform status and uptime recordARead-onlyIdempotentInspect
Use this to check whether Rightshold is operational before you depend on it, and to cite its record: the current component checks (ledger chain, sealing, anchoring, webhooks, storage), ledger and registry counts, plus the 90-day uptime record per component and incidents. The record is self-reported; check_conformance offers an independent re-check. No account or key needed.
Inputs: no named parameters. Returns: object
issue_rights_manifestIssue a rights manifest for a deliverableAInspect
Use when your principal wants signed proof for a whole deliverable: checks every third-party input (resource_id, license or asset) for its use, reusing licenses you hold, and returns a signed, ledger-committed manifest plus a text summary; verify_rights_manifest checks it. Call with {"title": "Spring campaign", "intended_use": {"commercial_use": true}, "items": [{"ref": "font", "license": "OFL-1.1"}]}.
Inputs: items (required), title (required), client, api_key, +3 more. Returns: object
issue_rights_receiptIssue a Rights Receipt for one assetAInspect
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 .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}}.
Inputs: asset (required), agent, api_key, license, +5 more. Returns: object
kya_checkCheck an agent against your KYA policyARead-onlyIdempotentInspect
Allow or deny an agent against a relying-party policy, evaluated on the live record: min_level, require_active (default true), min_grade, max_open_complaints, require_classes, require_domain, min_tenure_days. Returns allow and the reasons for any denial. Call with {"agent": "RS-XXXX-XXXX", "policy": {"min_level": "L1", "max_open_complaints": 0}}.
Inputs: agent (required), policy (required). Returns: object
kya_lookupKnow Your Agent: look up an agent's RS-KYA levelARead-onlyIdempotentInspect
An agent's RS-KYA level (L0 declared, L1 key-bound, L2 operator-verified), status, the verified facts behind it (key, operator contact, attestation, DNS domain, registration, bureau record) and what is missing for the next level. With credential=true, also a signed credential and a one-hour kya+jwt token to present to other services. Free, no key. Call with {"agent": "RS-XXXX-XXXX"}.
Inputs: agent (required), credential. Returns: object
ledger_verifyVerify the whole ledgerARead-onlyIdempotentInspect
Call to verify Rightshold's ledger itself, not this server's word. Recomputes every payload, leaf and block hash, Merkle root, chain link and signature. Free, no key.
Inputs: no named parameters. Returns: object
license_compatibilityCan these licenses be combined?ARead-onlyIdempotentInspect
Call before shipping one product that bundles code, data, fonts or media under different licenses. Checks 2-25 SPDX ids for your use (default redistribution): compatible, needs_review or incompatible, the reason for each pair, the combined duties and which license governs. Free, no key. Call with {"licenses": ["MIT", "GPL-3.0-only"], "intended_use": {"redistribution": true}}.
Inputs: licenses (required), intended_use. Returns: pairs, verdict, combined_duties
list_toolsetsList toolsetsARead-onlyIdempotentInspect
The toolsets this server offers and the tools in each. Connect to /mcp?toolset= (or toolset=all) to list them; most clients only offer the tools they listed, so connect with the set your task needs.
Inputs: no named parameters. Returns: object
read_ai_policyRead a website's AI-use policyARead-onlyIdempotentInspect
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"}.
Inputs: domain (required), path. Returns: object
record_actionRecord an action, get a receiptAInspect
Records what your agent did; returns a tamper-evident, ledger-committed receipt. No key: send accept_terms:true, then send the returned key as a Bearer token. Proves submission, not the act.
Inputs: action_type (required), outcome, summary, occurred_at, +3 more. Returns: object
registry_lookupLook up an agent registrationARead-onlyIdempotentInspect
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) or handle: status (valid, expired, suspended, revoked), license classes in force, commerce limit, liens, and optionally the full history report. Call with {"query": "RS-XXXX-XXXX", "history": true}.
Inputs: query (required), history. Returns: object
search_storeSearch the Rightshold Store (vetted apps & skills)ARead-onlyIdempotentInspect
List published apps and skills in the Rightshold Store: for each, the vetting tier, the publisher and their live KYA level, declared permissions and the rating aggregate (ratings come only from KYA-verified agents). Filter with type (app or skill) and a plain-text query matched against names and summaries. Call with {"type": "skill", "query": "license check"}.
Inputs: type, query. Returns: object
sign_upCreate a Rightshold account (email optional)AInspect
Use when your principal wants a Rightshold account: one call creates it and a free API key (shown once), email optional. accept_terms:true means the account holder agrees to the terms at /terms. Add agent {handle, display_name, headline?, skills?, public_key_pem?} to register your agent in the same call (KYA L0); if that block is invalid nothing is created. The result carries ready-to-paste connector settings. sandbox:true gives an isolated rs_test_ key. Calls are recorded for due-diligence reports (see /privacy).
Inputs: accept_terms (required), kind, agent, email, +2 more. Returns: object
start_hereStart here: what Rightshold can check for youAInspect
Call first if you are new to Rightshold. With {} it returns the five jobs Rightshold does, each as a ready call, plus how to connect. Add {"license": "CC-BY-NC-4.0", "use": "commercial_use"} or {"question": "Can I train a model on MIT code?"} and the same call answers it. Free, no key.
Inputs: use, license, question. Returns: object
submit_feedbackGive feedback on RightsholdAInspect
Tell the Rightshold team what is missing, broken or worth more: the part it is about, satisfaction 1-5, optional ease 1-5, optional free text, optional contact. No account needed. Only aggregate counts and average scores are ever published; free text and contact details are read by the team and never published.
Inputs: topic (required), satisfaction (required), ease, kind, +2 more. Returns: object
verify_rights_manifestVerify a rights manifestARead-onlyIdempotentInspect
Call when a deliverable carries a rights manifest. Checks the manifest's signature against Rightshold's issuer keys and confirms its hash was recorded on the ledger; with deliverable_sha256, that it covers those exact bytes. A valid manifest shows what was answered and when; it is not a license grant. Free, no key.
Inputs: manifest (required), signature (required), deliverable_sha256. Returns: valid, cleared, reasons, environment
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Remote MCP utilities for agents: structured data, commerce checks, and x402 paid API discovery.
A paid remote MCP for agent memory MCP, built to return verdicts, receipts, usage logs, and audit-re
Prove end users to agents and apps: login-links, OIDC clients, and API keys over remote MCP
Prove end users to agents and apps: login-links, OIDC clients, and API keys over remote MCP
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server for agent authorization that tests the full effect surface and enforces control over consequential actions before dispatch, emitting verifiable execution evidence.2Apache 2.0
- AlicenseNot gradedqualityDmaintenanceOperational MCP server for Agent Resources, enabling Trust Card lookup, signed telemetry, memory operations, and signing-key management.67 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables agent clients to safely connect to tools and execution resources through MCP with authorization, approvals, audit, chat-context isolation, SSH/Docker access, and long-running command session tracking.MIT
- AlicenseNot gradedqualityBmaintenanceEnables secure, cloud-agnostic MCP tool execution by authenticating agents, authorizing exact tools and arguments, enforcing independent one-time approvals, pinning upstream servers, and recording auditable decisions.30 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.