Opedd — Licensed Content for AI
이 MCP로 할 수 있는 일
Discovers, licenses, retrieves, and verifies rights-cleared content for human publication, AI training, and AI retrieval, with audit and compliance artifacts.
도구
입력 스키마
{'type': 'object', 'required': ['license_id'], 'properties': {'content_id': {'type': 'string', 'description': 'Optional UUID of a specific article to scope the attestation. Default: license-wide.'}, 'license_id': {'type': 'string', 'description': 'UUID of the enterprise_license OR legacy individual license to attest. Buyer must own it.'}, 'window_end': {'type': 'string', 'description': 'ISO 8601 upper bound. Default: now. Window may not exceed 365 days (hard cap).'}, 'window_start': {'type': 'string', 'description': 'ISO 8601 lower bound of the attestation window. Default: now - 90 days.'}}}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Number of results to return (default: 10, max: 50)'}, 'article_id': {'type': 'string', 'description': 'Filter results to a specific article (UUID)'}, 'publisher_id': {'type': 'string', 'description': 'Filter results to a specific publisher (UUID)'}}}
입력 스키마
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Publisher URL to inspect (any well-formed URL works; hostname-match short-circuits the probe path).'}}}
입력 스키마
{'type': 'object', 'properties': {'to': {'type': 'string', 'description': 'ISO 8601 timestamp upper bound (inclusive)'}, 'from': {'type': 'string', 'description': 'ISO 8601 timestamp lower bound (inclusive)'}, 'limit': {'type': 'number', 'description': 'Max events per response (default: 50, max: 200)'}, 'cursor': {'type': 'string', 'description': 'Opaque cursor for pagination'}, 'event_type': {'enum': ['content_access', 'bulk_content_access', 'compliance_report_generated'], 'type': 'string', 'description': 'Optional event-class filter'}}}
입력 스키마
{'type': 'object', 'properties': {}}
입력 스키마
{'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'description': 'ISO 8601 timestamp upper bound (inclusive). Window cap 90 days.'}, 'from': {'type': 'string', 'description': 'ISO 8601 timestamp lower bound (inclusive)'}, 'cursor': {'type': 'string', 'description': 'Opaque cursor for pagination'}}}
입력 스키마
{'type': 'object', 'required': ['article_id'], 'properties': {'article_id': {'type': 'string', 'description': 'The Opedd article UUID to retrieve content for'}, 'buyer_token': {'type': 'string', 'description': 'Buyer API token (opedd_buyer_live_* or opedd_buyer_test_*). Falls back to OPEDD_BUYER_TOKEN env var.'}}}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max articles per response (default: 50, max: 200)'}, 'since': {'type': 'string', 'description': 'ISO 8601 timestamp — return only articles with published_at > since'}, 'cursor': {'type': 'string', 'description': "Opaque cursor from the prior response's data.pagination.next_cursor"}}}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Orders per page (default 20, max 100)'}, 'cursor': {'type': 'string', 'description': "Opaque cursor from the prior response's pagination.next_cursor"}, 'order_id': {'type': 'string', 'description': 'Read one order (UUID) including Schedule documents'}}}
입력 스키마
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'With include_body=true: fetch exactly one of your articles by id (full body, no truncation).'}, 'type': {'enum': ['human', 'ai'], 'type': 'string', 'description': 'Filter by license type availability (ignored when include_body is true)'}, 'limit': {'type': 'number', 'description': 'Number of results (default: 20, max: 100; max 20 when include_body is true)'}, 'cursor': {'type': 'string', 'description': 'Opaque next_cursor from a previous include_body=true call.'}, 'offset': {'type': 'number', 'description': 'Pagination offset (default: 0; ignored when include_body is true — use cursor)'}, 'include_body': {'type': 'boolean', 'description': "Return each article's stored body (what buyers receive). Default false."}}}
입력 스키마
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The canonical URL of the article or content to look up'}}}
입력 스키마
{'type': 'object', 'required': ['licence', 'billing_mode', 'publisher_ids', 'terms_accepted'], 'properties': {'licence': {'enum': ['enterprise', 'archive', 'training', 'display'], 'type': 'string', 'description': 'enterprise = AI answers, archive = Full catalogue (everything published up to the order date, kept permanently, no AI training), training = AI training, display = client display'}, 'quantity': {'type': 'number', 'description': 'display only: number of end clients (1-500)'}, 'billing_mode': {'enum': ['monthly', 'metered', 'one_time'], 'type': 'string', 'description': 'enterprise: monthly | metered; archive: one_time; training: one_time; display: monthly'}, 'publisher_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Publisher UUIDs (1-500; at most 18 for metered)'}, 'terms_accepted': {'type': 'boolean', 'description': 'REQUIRED. Set true only after the buyer has accepted the Opedd Master Services Agreement at opedd.com/terms. The current version label is recorded with the order; orders without genuine acceptance are rejected.'}, 'include_archive': {'type': 'boolean', 'description': "Optional, monthly AI answers only (licence 'enterprise' + billing_mode 'monthly'). true adds each publisher's Full catalogue to the same order: everything published before the order date, kept permanently, not for AI training. Publishers that do not sell their Full catalogue are returned in `unavailable`."}}}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Page size cap.'}, 'offset': {'type': 'number', 'description': 'Pagination offset.'}, 'category': {'type': 'string', 'description': "Case-insensitive substring filter on publisher category (e.g. 'finance', 'AI')."}, 'verified': {'type': 'string', 'description': "'true' to show only verified publishers (default), 'false' for unverified."}, 'min_articles': {'type': 'number', 'description': 'Filter to publishers with at least this many licensable articles.'}}}
입력 스키마
{'type': 'object', 'required': ['license_type', 'terms_accepted'], 'properties': {'article_id': {'type': 'string', 'description': 'Opedd article UUID (use this OR article_url)'}, 'buyer_name': {'type': 'string', 'description': 'Full name of the buyer (for the license record and certificate)'}, 'article_url': {'type': 'string', 'description': 'URL of the article to license (use this OR article_id)'}, 'buyer_email': {'type': 'string', 'description': 'Email address for the license. Falls back to OPEDD_BUYER_EMAIL env var.'}, 'intended_use': {'enum': ['personal', 'editorial', 'commercial', 'ai_training', 'corporate'], 'type': 'string', 'description': 'Intended use of the licensed content'}, 'license_type': {'enum': ['human'], 'type': 'string', 'description': 'human = Human republication (editorial republication of one article)'}, 'terms_accepted': {'type': 'boolean', 'description': 'REQUIRED. Set true only after the buyer (your principal) has accepted the Opedd licence terms at opedd.com/terms. The acceptance timestamp is recorded with the licence; purchases without genuine acceptance are rejected.'}, 'payment_method_id': {'type': 'string', 'description': 'Stripe payment method ID (pm_...). Falls back to OPEDD_PAYMENT_METHOD_ID env var.'}, 'buyer_organization': {'type': 'string', 'description': 'Organization or company name (for enterprise/editorial licenses)'}}}
입력 스키마
{'type': 'object', 'required': ['articles'], 'properties': {'articles': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url', 'html_body'], 'properties': {'url': {'type': 'string', 'description': "The article's canonical web address (required)."}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 20 tags.'}, 'title': {'type': 'string', 'description': 'Article title (required, ≤500 chars).'}, 'author': {'type': 'string', 'description': 'Author name (≤200 chars).'}, 'is_paid': {'type': 'boolean', 'description': 'Whether the article is behind a paywall.'}, 'audience': {'enum': ['everyone', 'only_free', 'only_paid'], 'type': 'string', 'description': 'Intended audience.'}, 'category': {'type': 'string', 'description': 'Content category.'}, 'language': {'type': 'string', 'description': 'Language code, e.g. "en".'}, 'html_body': {'type': 'string', 'description': 'Full article content, HTML or plain text (required, ≤200,000 chars).'}, 'image_urls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 10 body-image URLs.'}, 'description': {'type': 'string', 'description': 'Short summary (≤500 chars).'}, 'published_at': {'type': 'string', 'description': 'ISO-8601 datetime (e.g. 2026-01-15T09:30:00Z). Defaults to now if omitted.'}, 'canonical_url': {'type': 'string', 'description': 'Canonical URL if different from url.'}, 'thumbnail_url': {'type': 'string', 'description': 'https cover-image URL for the catalog.'}}}, 'maxItems': 100, 'minItems': 1, 'description': '1–100 articles to push in this call.'}}}
입력 스키마
{'type': 'object', 'required': ['publisher_id'], 'properties': {'jsonld': {'type': 'boolean', 'description': 'If true, request JSON-LD shape (Accept: application/ld+json) with embedded HMAC-SHA256 signed receipt. Default false returns raw RSL Standard JSON shape.'}, 'publisher_id': {'type': 'string', 'description': 'UUID of the publisher whose RSL manifest to fetch. Publisher must be verified.'}}}
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Max results (default 20, max 50).'}, 'query': {'type': 'string', 'description': 'Search words (max 200 characters).'}, 'publisher': {'type': 'string', 'description': 'Optional publisher slug to search within.'}}}
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'The question, in plain words (3–1000 characters).'}, 'buyer_token': {'type': 'string', 'description': "Buyer API key with the 'search' scope. Falls back to OPEDD_BUYER_TOKEN."}}}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max articles per response (default: 200, max: 1000)'}, 'since': {'type': 'string', 'description': 'ISO 8601 timestamp — return only articles with published_at > since'}, 'cursor': {'type': 'string', 'description': "Opaque cursor from the prior result's meta.next_cursor"}}}
입력 스키마
{'type': 'object', 'required': ['license_key'], 'properties': {'license_key': {'type': 'string', 'description': 'The license key to verify (format: OP-XXXX-XXXX)'}}}
최근 도구 변경
유사한 MCP 서버
Content Sweep
Supports copyright investigations, evidence capture, monitoring, rights delegation, and preparation of authorized takedown action…
Content Provenance
Anchors and verifies content-creation provenance records with blockchain records and evidence-oriented metadata.
FilmRightsProof
Searches and traces public copyright records and source-supported rights relationships for film, television, and related creative…
c2paintake-mcp
Verifies C2PA content provenance during intake and records reviewer-ready evidence.
c2padisclosure-mcp
Supports C2PA disclosure-policy checks and produces audit evidence for content provenance.
catalog-provenance
Supports discovery and verification of AgentiScript concepts and approved assets, including authenticity and licensing informatio…
Andreax
Offers pay-per-call AI services for inference, agent and workflow design, OCR and transcription, code generation and review, clas…
Social Fetch
Retrieves public content and metadata from social networks, music services, Facebook Marketplace, events, profiles, posts, commen…