Working with agents Assets & provenance

Public assets, rights, and provenance

Retrieve ordered, representation-pinned asset groups with credits, exact file facts, provider-native high-resolution locators, per-work status, and portable provenance.

Safe handoff

From research result to public file

Search can narrow by a source-reported reuse scope. Asset retrieval then runs a fresh open-scope lookup; it does not retain a narrower prior search scope. It returns only allowlisted published database manifests associated with the active publication and its pinned representation. One call can request as many as 20 unique works while preserving the order of the shortlist. It also includes structured, allowlisted provider-native original-file or IIIF locators when the archived source record identifies them.

  1. 1
    Set the scope

    Use public_domain_or_cc0 when that is a real project requirement.

  2. 2
    Guard the representation

    Send each work ID with expected_representation_id from search; a changed publication is reported instead of substituted.

  3. 3
    Request sizes

    Ask for 400, 843, 4096, or all available display derivatives.

  4. 4
    Review every group

    Carry forward its status, rights, source links, native-source availability and dimensions, credit line, and portable provenance.

get_artwork_assets arguments
{
  "requests": [
    {
      "artwork_id": "<work-id-1>",
      "expected_representation_id": "<representation-id-1>"
    },
    {
      "artwork_id": "<work-id-2>",
      "expected_representation_id": "<representation-id-2>"
    }
  ],
  "sizes": [
    "843",
    "4096"
  ],
  "verify_remote": true
}

Manifest

Enough detail to verify the handoff

Identity

  • work public ID
  • publication public ID
  • representation public ID
  • image-asset public ID

File

  • direct public HTTPS URL, when safely available
  • width and height
  • MIME type and byte size
  • SHA-256 and derivative recipe

Handoff

  • suggested filename
  • plain-text credit line
  • catalog and image-source links, when supplied
  • IIIF and terms links, when supplied

Native source

  • provider and provider asset identity
  • native width and height where known
  • original-file or IIIF service URL
  • revision and probe availability state

Rights

  • source-reported license code, when supplied
  • license and terms URLs, when supplied
  • source-reported attribution, when supplied
  • source identity, when available

Not every work necessarily has every size. Every requested size resolves to exactly one complete public derivative or an explicit reason. Explore Art MCP never silently chooses between ambiguous records or substitutes a private file. Asset URL and source-rights fields can be unavailable; do not infer missing values from another work or an earlier result.

Grouped batch behavior

One bad size does not hide the rest of the handoff

Work statusMeaning
completeEvery requested size resolved to one complete published public derivative.
partialAt least one requested size is ready and at least one has an explicit unavailable reason.
unavailableNo requested size is safely returnable for this work.

Reasons distinguish a missing record, an incomplete public record, multiple otherwise eligible records, a representation mismatch, and failed remote verification. The envelope separately reports asset count and complete, partial, and unavailable work counts.

With verify_remote: true, a bounded HTTPS HEAD request checks status, content type, and content length without downloading the image. The returned SHA-256 remains the byte-verification authority after a client downloads the file.

One request permits at most 20 requested checks: 20 works for one size, 10 works for two sizes, or 6 works for three sizes or all. Split larger verified batches.

Portable provenance

Keep the decision attached to the work

Every artwork-bearing result carries an explore-art/provenance/v1 bundle with a canonical bundle digest. It is designed to travel with a design board, asset manifest, or downstream record.

MCP request

  • request ID, transport, and tool
  • exact validated arguments
  • canonical arguments SHA-256
  • normalized request and hard filters

Execution

  • execution fingerprint
  • engine, preference, and selection stages
  • algorithm and ranking-policy versions
  • embedding model, release, and dimensions

Representation

  • active publication and work IDs
  • pinned representation ID
  • exact dimensions and aspect ratio
  • measurement basis and binding status

Rights and assets

  • rights source and review time
  • source-reported license and terms
  • public asset selection states
  • optional remote verification facts

Provenance records what Explore Art MCP evaluated. It is evidence—not a legal opinion or a guarantee that a proposed use is permitted.

Public-data boundary

Public derivatives and external source locators

Explore Art MCP never returns:

  • private source originals or original image bytes;
  • private object-storage keys;
  • embedding masters or vectors;
  • prompts or model provider archives;
  • private ingestion provenance or provider payloads.

Internal derivative links must pass the complete public manifest checks. Native source locators are separately typed, allowlisted HTTPS links back to the provider; they do not imply that Explore Art has mirrored or reverified the original bytes. Inspect each locator's availability, revision, dimensions, and rights fields before use.

Rights scopes

Research evidence, not a legal promise

open

Published works with source-reported open-access records.

public_domain_or_cc0

The narrower scope for source-reported public-domain or CC0 records.

Typed outcomes

Know the difference between zero and failure

Code or stateMeaning
ok: true · result_count: 0The exact gate matched nothing. This is a successful zero.
invalid_argumentsA schema, identifier, filter, value, range, or combination is invalid.
not_foundThe requested public identifier does not exist.
not_publicThe item exists but is withdrawn, private, or outside the publication boundary.
rate_limitedA quota or expensive-call admission limit was reached; inspect retry_after.
search_unavailableSemantic, vector, or crop retrieval cannot safely run. No lexical fallback is used.
internalA safely normalized unexpected failure.