Skip to main content
Glama
kintopp

rijksmuseum-mcp+

by kintopp

Get Artwork Bibliography

get_artwork_bibliography
Read-onlyIdempotent

Retrieve scholarly citations for a specific artwork by object number, including publication, pages, and ISBN. Get first five entries with total count, or set full=true for all references.

Instructions

Scholarly references (citations) for ONE artwork by objectNumber. Includes linked publication, pages, ISBN where known. Entries with a linked publication carry a [pub NNN] handle — pass it to find_artworks_citing_publication. Follows a search_artwork / get_artwork_details result. By default returns the first 5 plus a total count; set full=true for all entries (major works can have 100+ — mind the context window). Not for general metadata — use get_artwork_details. Not for library-catalogue search.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fullNoIf true, return ALL entries (may be 100+). Default: first 5 + total count.
objectNumberYesThe object number of the artwork (e.g. 'SK-C-5').

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
totalYesTotal citations for the artwork (full count, even when only the first few entries are returned).
entriesYesScholarly references for the artwork. Empty when none were harvested.
warningsNo
objectNumberYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changedv0.90.1
    • removedOutput schema / properties / entries / items / properties / isbn / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / isbn / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / entries / items / properties / libraryUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / libraryUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / entries / items / properties / pages / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / pages / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / entries / items / properties / publicationId
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Bare publication id from the URI above — pass it to find_artworks_citing_publication. Rendered as [pub NNN] in the text channel."
      +}
    • removedOutput schema / properties / entries / items / properties / publicationUri / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / publicationUri / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / entries / items / properties / worldcatUri / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / entries / items / properties / worldcatUri / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / entries / items / required
      Previous value: -[
      -  "sequence",
      -  "citation",
      -  "publicationUri",
      -  "pages",
      -  "isbn",
      -  "worldcatUri",
      -  "libraryUrl"
      -]New value: +[
      +  "sequence",
      +  "citation",
      +  "publicationUri",
      +  "publicationId",
      +  "pages",
      +  "isbn",
      +  "worldcatUri",
      +  "libraryUrl"
      +]
  2. First observedv0.90.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description's job is to add context. It does: default returns first 5 plus total count, full=true can return 100+ entries, ISBN/publication details appear 'where known', and entries may carry a [pub NNN] handle. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences with no filler: purpose, content details, workflow, exclusions, and pagination behavior are all packed efficiently. The most decision-relevant information is front-loaded, and the context-window warning earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering the safety profile, the description is complete for correct invocation. It explains what the entries contain, how pagination works, how to follow up on linked publications, and when not to use the tool. No critical gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the trade-off of full=true in terms of context window and 100+ entries, and by reinforcing that objectNumber is the key selector. This is modest but useful enrichment beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: scholarly references/citations for ONE artwork by objectNumber. It also distinguishes itself from siblings by stating 'Not for general metadata — use get_artwork_details' and explaining the [pub NNN] handle flow to find_artworks_citing_publication.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states when the tool is appropriate: after a search_artwork or get_artwork_details result. It also gives explicit exclusions: not for general metadata and not for library-catalogue search, naming the alternative get_artwork_details. The default-versus-full behavior is also explained.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.