Skip to main content
Glama
kintopp

rijksmuseum-mcp+

by kintopp

Get Artwork Bibliography

get_artwork_bibliography
Read-onlyIdempotent

Get scholarly citations for one Rijksmuseum artwork by object number, including linked publications, pages, and ISBN. Default returns first 5; set full=true for all.

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. Changed2 schema fields changedv0.90.2
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. 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"
      +]
  3. 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 mark this as a safe idempotent read, and the description goes well beyond them: it discloses the default truncation (first 5 plus a total count), the escape hatch (full=true), the magnitude of a full result (100+), and a context-window warning. The [pub NNN] handle convention is behavior an agent could never infer from the schema.

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?

Six tightly packed sentences, front-loaded with purpose, then output shape, then chaining, then exclusions. No filler and no repetition of the title.

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?

For a two-parameter read tool with an output schema, everything an agent needs is present: scope, default vs full behavior, chaining handle, and both negative cases. Return-value documentation is correctly left to the output schema.

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 coverage is 100%, so the baseline is 3, but the description adds operational meaning the schema does not: what a default call actually returns (5 entries plus a count), when to escalate with full=true, and the cost of doing so. That is more than a restatement of the field docs.

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?

States a specific verb and resource — scholarly citations for ONE artwork, keyed by objectNumber — and immediately distinguishes it from get_artwork_details (general metadata) and the library catalogue. An agent can tell this apart from every sibling without opening the schema.

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?

Explicitly positions the tool in a workflow ('Follows a search_artwork / get_artwork_details result') and names two exclusions with the correct alternative in each case. It also routes the agent onward via the [pub NNN] handle to find_artworks_citing_publication.

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