Skip to contents

[Experimental]

Collection of data query helpers that return analysis-ready datasets for AI agents via MCP. These helpers are experimental and may change as MCP-driven workflows evolve.

Retrieves a benchmark time series across all artworks uploaded and analyzed for an artist on the Artalytics platform.

Retrieves stylistic signals over time for all artworks by an artist, including tags, mapped categories, and primary style labels.

Usage

bm_artist_works(artist, cn = NULL)

style_artist_works(artist, cn = NULL)

Arguments

artist

Character. Artist UUID (format: "746bxxxx-xxxx-xxxx-xxxxxxxxxxxx"). Validated with artcore::validate_uuid() where applicable.

cn

Database connection. If NULL, creates a connection via artcore::dbc() and closes it on exit. Pass an existing connection to batch multiple queries efficiently.

Value

bm_artist_works() returns a data.table with one row per artwork and benchmark metrics from app.artwork_index and app.artwork_benchmark, ordered by start_date.

style_artist_works() returns a data.table with one row per artwork-tag record from joined app.artwork_index, app.global_styles, app.artist_style_map, and app.artwork_styles tables.

Functions

  • bm_artist_works(): Metric scores for an artist's full body of work.

  • style_artist_works(): Stylistic evolution signals across an artist's body of work.

Examples

if (FALSE) { # \dontrun{
artist <- "746b8207-72f5-4ab6-8d19-a91d03daec3d"

# Pull benchmark time-series data for one artist
bm <- bm_artist_works(artist)
head(bm)

# Pull stylistic evolution data for one artist
styles <- style_artist_works(artist)
head(styles)
} # }

if (FALSE) { # \dontrun{
artist <- "746b8207-72f5-4ab6-8d19-a91d03daec3d"

# Default connection handling
bm <- bm_artist_works(artist)
bm[, .(art_uuid, start_date, time_effort, skill_artistry, complex_detail)]

# Reuse an existing connection for batched queries
cn <- artcore::dbc()
on.exit(artcore::dbd(cn))
bm2 <- bm_artist_works(artist, cn = cn)
bm2[order(start_date)][1:5]
} # }

if (FALSE) { # \dontrun{
artist <- "746b8207-72f5-4ab6-8d19-a91d03daec3d"

# Default connection handling
styles <- style_artist_works(artist)
styles[, .(art_uuid, start_date, tag, category, primary_style)][1:10]

# Reuse an existing connection for batched queries
cn <- artcore::dbc()
on.exit(artcore::dbd(cn))
styles2 <- style_artist_works(artist, cn = cn)
styles2[order(start_date)][1:10]
} # }