io.github.CSOAI-ORG/meok-w3c-tdm-rights-mcp
MEOK W3C TDM Rights MCP — EU CDSM Directive Article 4(3) Text + Data Mining opt-out. Issues + scans
Versions
1.0.4latestTools 7
issue_tdm_reservation Issue a signed TDM reservation per CDSM Article 4(3). Args: work_id: Identifier of the work (URL, hash, DOI, etc.). rightsholder_did: W3C DID of the rightsholder. mechanism: "http_header" / "html_meta" / "robots_txt" / "c2pa_assertion". policy_url: Optional URL to the full TDM licence terms. scope: "all_ai_training" / "generative_ai_only" / "research_exempt_allowed". valid_until: Optional ISO date the reservation expires. Returns: {reservation, signature, expressions_to_publish}
scan_url_for_reservation Scan a URL for TDM reservation signals across all 3 web mechanisms. Args: url: URL to scan. fetch_robots: Also fetch the domain's robots.txt. Returns: {reserved, signals_found, html_meta, http_headers, robots_txt}
verify_c2pa_do_not_train Check a C2PA manifest for a do-not-train assertion. Args: asset_meta: Dict containing the C2PA manifest assertions. Returns: {reserved, assertion_found, policy_url}
check_robots_txt Quick check: is this specific bot disallowed in this domain's robots.txt? Args: domain: Domain to check (e.g. example.com). agent_name: AI agent user-agent string. Returns: {allowed, robots_txt_url, matched_rules}
generate_compliant_scraper_config Return a scraper config blob your AI-training pipeline can adopt. Returns: {config, integration_hint}
sign_training_scan Bundle scan results into a signed training-shield attestation. Args: scan_results: List of scan_url_for_reservation() outputs. training_run_id: Your training run identifier. Returns: {attestation_id, signature, verify_url, urls_scanned, urls_reserved}
list_known_ai_agents Return the catalogue of known AI/ML scraper user-agent strings.
Permissions 3
network medium filesystem low env_vars low