Skip to main content
Glama

met-museum-mcp-server

Get Met Objects

met_get_object
Read-onlyIdempotent

Fetch full records for one or more Met Museum object IDs. Fetches up to 20 distinct IDs per call; a list of up to 500 (a full search or list page) is accepted, and the distinct IDs past the first 20 come back unrequested in remainingIDs for a follow-up call. Returns partial success — a single 404 does not fail the whole batch; per-ID failures are reported separately. Object IDs come from met_search_collections (keyword search) or met_list_objects (browse by department or update date). Non-public-domain objects return empty image URLs. The constituents array is null for anonymous or unattributed works; tags and measurements are null when the Met records none. Records are returned whole and never truncated, so a batch of unusually large records may return fewer than requested — any that did not fit are listed in deferred[] with their sizes, to be re-requested in a follow-up call. Set includeImages to also receive the CC0 images of up to 3 returned records as image content a vision-capable model can look at.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
objectIDsYesOne or more Met object IDs to fetch, up to 500 — a full met_search_collections or met_list_objects page. A repeated ID is fetched and returned once, at its first position. The first 20 distinct IDs are fetched; the rest come back unrequested in remainingIDs. Partial failures are reported per ID rather than failing the whole batch.
includeImagesNoAlso attach the web-display image (primaryImageSmall, about 600 px on the long edge) of the first 3 returned records that have hasCC0Image true, in request order, as image blocks in content[], each after a caption naming its objectID. images[] reports what happened for every returned record. The image bytes ride content[] only, so a client that hands the model only structuredContent will not show the images. Default false: no image is fetched.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
failedNoObject IDs that failed to fetch with per-ID error context.
imagesNoImage outcome for each record in objects[], in request order; deferred, failed, and remainingIDs get no entry. Present only when includeImages is true.
noticeNoPresent when the call held more than 20 distinct object IDs, or when the batch byte budget deferred a record; both apply as one string, the remainingIDs sentence first. Past the cap it says how many IDs were requested and that the rest are in remainingIDs; for deferred records, how to retrieve them, with the budget applied.
objectsNoSuccessfully fetched objects.
deferredNoRecords that were fetched but did not fit the call’s cumulative budget on serialized structuredContent bytes, in request order. Re-call met_get_object with these IDs to retrieve them. Absent when every fetched record fit.
remainingIDsNoThe distinct object IDs past the first 20, in request order. These were not requested, unlike deferred[] (fetched, withheld by the byte budget) and the failed[] entries an upstream block, throttle, or outage left unrequested. Re-call met_get_object with them. Absent when the call held 20 or fewer distinct IDs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • changedInput schema / properties / objectIDs / description
      Previous value: -"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search_collections or met_list_objects. A repeated ID is fetched and returned once, at its first position. Partial failures are reported per ID rather than failing the whole batch."New value: +"One or more Met object IDs to fetch, up to 500 — a full met_search_collections or met_list_objects page. A repeated ID is fetched and returned once, at its first position. The first 20 distinct IDs are fetched; the rest come back unrequested in remainingIDs. Partial failures are reported per ID rather than failing the whole batch."
    • changedInput schema / properties / objectIDs / maxItems
      Previous value: -20New value: +500
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `all_not_found`: Every requested objectID returned a 404 — all IDs are stale or invalid. `all_failed`: No object was fetched, no failure was a firewall block or a 500/502/503/504 outage, and the failures were neither all 404s nor all time-budget expiries — network errors, other HTTP errors, or 404s beside expiries. `upstream_blocked`: No object was fetched and the Met API's firewall refused requests with HTTP 403 — it blocks this server's address, not one object. `upstream_unavailable`: No object was fetched and a fetch exhausted its retries on HTTP 500, 502, 503, or 504 — an outage on the Met API's side, not a problem with the IDs. `retry_deadline_exceeded`: No object was fetched and every fetch ran out of the call's time budget, retries and backoff included — an ID whose fetch would have started after the budget was spent counts too. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `all_not_found`: Every requested objectID returned a 404 — all IDs are stale or invalid. `all_failed`: No object was fetched, no failure was a firewall block, an HTTP 429 rate limit, or a 500/502/503/504 outage, and the failures were neither all 404s nor all time-budget expiries — network errors, other HTTP errors, or 404s beside expiries. `upstream_blocked`: No object was fetched and the Met API's firewall refused requests with HTTP 403 — it blocks this server's address, not one object. `upstream_rate_limited`: No object was fetched and the Met API answered HTTP 429 until a fetch's retries ran out, or asked for a wait longer than the retries or the call's time budget allow — it throttles this server's address, not one object. `upstream_unavailable`: No object was fetched and a fetch exhausted its retries on HTTP 500, 502, 503, or 504 — an outage on the Met API's side, not a problem with the IDs. `retry_deadline_exceeded`: No object was fetched and every fetch ran out of the call's time budget, retries and backoff included — an ID whose fetch would have started after the budget was spent counts too. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "all_not_found",
      -  "all_failed",
      -  "upstream_blocked",
      -  "upstream_unavailable",
      -  "retry_deadline_exceeded"
      -]New value: +[
      +  "all_not_found",
      +  "all_failed",
      +  "upstream_blocked",
      +  "upstream_rate_limited",
      +  "upstream_unavailable",
      +  "retry_deadline_exceeded"
      +]
    • changedOutput schema / properties / images / description
      Previous value: -"Image outcome for each record in objects[], in request order; deferred and failed IDs get no entry. Present only when includeImages is true."New value: +"Image outcome for each record in objects[], in request order; deferred, failed, and remainingIDs get no entry. Present only when includeImages is true."
    • changedOutput schema / properties / notice / description
      Previous value: -"How to retrieve the deferred records, with the budget applied. Present only when the batch byte budget deferred a record."New value: +"Present when the call held more than 20 distinct object IDs, or when the batch byte budget deferred a record; both apply as one string, the remainingIDs sentence first. Past the cap it says how many IDs were requested and that the rest are in remainingIDs; for deferred records, how to retrieve them, with the budget applied."
    • addedOutput schema / properties / objects / items / properties / portfolio
      Added value: +{
      +  "description": "Print series or portfolio the object belongs to, with its plate or number (e.g., \"Birds of America, plate LXXI\"). Often empty.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / objects / items / properties / reign
      Added value: +{
      +  "description": "Reign the object dates to, for applicable cultures (e.g., \"Joint reign of Hatshepsut and Thutmose III\"). Often empty.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / objects / items / required
      Previous value: -[
      -  "objectID",
      -  "title",
      -  "isPublicDomain",
      -  "hasCC0Image",
      -  "primaryImage",
      -  "primaryImageSmall",
      -  "additionalImages",
      -  "objectURL",
      -  "department",
      -  "departmentId",
      -  "objectName",
      -  "classification",
      -  "isHighlight",
      -  "isTimelineWork",
      -  "artistPrefix",
      -  "artistDisplayName",
      -  "artistSuffix",
      -  "artistRole",
      -  "artistDisplayBio",
      -  "artistNationality",
      -  "artistBeginDate",
      -  "artistEndDate",
      -  "constituents",
      -  "objectDate",
      -  "objectBeginDate",
      -  "objectEndDate",
      -  "medium",
      -  "dimensions",
      -  "culture",
      -  "period",
      -  "dynasty",
      -  "accessionNumber",
      -  "accessionYear",
      -  "creditLine",
      -  "rightsAndReproduction",
      -  "country",
      -  "region",
      -  "geography",
      -  "measurements",
      -  "tags",
      -  "objectWikidata_URL",
      -  "GalleryNumber",
      -  "metadataDate"
      -]New value: +[
      +  "objectID",
      +  "title",
      +  "isPublicDomain",
      +  "hasCC0Image",
      +  "primaryImage",
      +  "primaryImageSmall",
      +  "additionalImages",
      +  "objectURL",
      +  "department",
      +  "departmentId",
      +  "objectName",
      +  "classification",
      +  "isHighlight",
      +  "isTimelineWork",
      +  "artistPrefix",
      +  "artistDisplayName",
      +  "artistSuffix",
      +  "artistRole",
      +  "artistDisplayBio",
      +  "artistNationality",
      +  "artistBeginDate",
      +  "artistEndDate",
      +  "constituents",
      +  "objectDate",
      +  "objectBeginDate",
      +  "objectEndDate",
      +  "medium",
      +  "dimensions",
      +  "culture",
      +  "period",
      +  "dynasty",
      +  "reign",
      +  "portfolio",
      +  "accessionNumber",
      +  "accessionYear",
      +  "creditLine",
      +  "rightsAndReproduction",
      +  "country",
      +  "region",
      +  "geography",
      +  "measurements",
      +  "tags",
      +  "objectWikidata_URL",
      +  "GalleryNumber",
      +  "metadataDate"
      +]
    • addedOutput schema / properties / remainingIDs
      Added value: +{
      +  "description": "The distinct object IDs past the first 20, in request order. These were not requested, unlike deferred[] (fetched, withheld by the byte budget) and the failed[] entries an upstream block, throttle, or outage left unrequested. Re-call met_get_object with them. Absent when the call held 20 or fewer distinct IDs.",
      +  "items": {
      +    "description": "A distinct object ID past the per-call cap.",
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  "type": "array"
      +}
  2. Changed17 schema fields changed
    • addedInput schema / properties / includeImages
      Added value: +{
      +  "default": false,
      +  "description": "Also attach the web-display image (primaryImageSmall, about 600 px on the long edge) of the first 3 returned records that have hasCC0Image true, in request order, as image blocks in content[], each after a caption naming its objectID. images[] reports what happened for every returned record. The image bytes ride content[] only, so a client that hands the model only structuredContent will not show the images. Default false: no image is fetched.",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `all_not_found`: Every requested objectID returned a 404 — all IDs are stale or invalid. `all_failed`: Every requested objectID failed due to network errors or API downtime. `upstream_blocked`: No object was fetched and the Met API's firewall refused requests with HTTP 403 — it blocks this server's address, not one object. `retry_deadline_exceeded`: No object was fetched and every fetch ran out of the call's time budget, retries and backoff included — an ID whose fetch would have started after the budget was spent counts too. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `all_not_found`: Every requested objectID returned a 404 — all IDs are stale or invalid. `all_failed`: No object was fetched, no failure was a firewall block or a 500/502/503/504 outage, and the failures were neither all 404s nor all time-budget expiries — network errors, other HTTP errors, or 404s beside expiries. `upstream_blocked`: No object was fetched and the Met API's firewall refused requests with HTTP 403 — it blocks this server's address, not one object. `upstream_unavailable`: No object was fetched and a fetch exhausted its retries on HTTP 500, 502, 503, or 504 — an outage on the Met API's side, not a problem with the IDs. `retry_deadline_exceeded`: No object was fetched and every fetch ran out of the call's time budget, retries and backoff included — an ID whose fetch would have started after the budget was spent counts too. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "all_not_found",
      -  "all_failed",
      -  "upstream_blocked",
      -  "retry_deadline_exceeded"
      -]New value: +[
      +  "all_not_found",
      +  "all_failed",
      +  "upstream_blocked",
      +  "upstream_unavailable",
      +  "retry_deadline_exceeded"
      +]
    • addedOutput schema / properties / images
      Added value: +{
      +  "description": "Image outcome for each record in objects[], in request order; deferred and failed IDs get no entry. Present only when includeImages is true.",
      +  "items": {
      +    "additionalProperties": false,
      +    "description": "A returned record's image outcome.",
      +    "properties": {
      +      "objectID": {
      +        "description": "Object ID of a returned record.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "status": {
      +        "description": "attached: the image rides content[], after a caption naming the objectID. no_cc0_image: the record has no CC0 image, so nothing was fetched. over_cap: 3 earlier CC0 records took the image slots — request this ID among the first 3 CC0 records of another call to see its image. unavailable: the image host returned no image in time, or the URL was not on the Met image host.",
      +        "enum": [
      +          "attached",
      +          "no_cc0_image",
      +          "over_cap",
      +          "unavailable"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "objectID",
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / objects / items / properties / accessionYear
      Added value: +{
      +  "description": "Year the Met acquired the object, as sent (e.g., \"1960\") — occasionally a full date (e.g., \"2005-02-15\"). Can differ from the year in creditLine. Empty when the Met records none.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / objects / items / properties / artistBeginDate / description
      Previous value: -"Artist birth year, or a firm's founding year, as a string (e.g., \"1853\"). Occasionally a full date (e.g., \"1928-01-10\"). Empty for anonymous works."New value: +"Birth year of the person artistDisplayName names, or a firm's founding year, as a string (e.g., \"1853\") — that person's even when artistPrefix qualifies the attribution. Occasionally a full date (e.g., \"1928-01-10\"). Empty for anonymous works."
    • changedOutput schema / properties / objects / items / properties / artistDisplayName / description
      Previous value: -"Primary artist name as displayed (e.g., \"Vincent van Gogh\"). Empty for anonymous or unknown works."New value: +"Name of the person or firm the attribution names (e.g., \"Vincent van Gogh\"), without the qualifier in artistPrefix or the text in artistSuffix — read those and artistRole with it. Empty for anonymous or unknown works."
    • changedOutput schema / properties / objects / items / properties / artistEndDate / description
      Previous value: -"Artist death year, or a firm's closing year, as a string (e.g., \"1890\"). Occasionally a full date (e.g., \"1928-01-10\"). Empty for a living artist, a firm still active, or an anonymous work."New value: +"Death year of the person artistDisplayName names, or a firm's closing year, as a string (e.g., \"1890\") — that person's even when artistPrefix qualifies the attribution. Occasionally a full date (e.g., \"1928-01-10\"). Empty for a living artist, a firm still active, or an anonymous work."
    • addedOutput schema / properties / objects / items / properties / artistPrefix
      Added value: +{
      +  "description": "Qualifier the Met places before artistDisplayName (e.g., \"Style of\", \"Workshop of\", \"Attributed to\", \"Published by\"). Read the two together: \"Style of\" with \"Rembrandt\" is a work in Rembrandt's style, not one by him. Empty when the attribution is unqualified.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / objects / items / properties / artistRole
      Added value: +{
      +  "description": "The named person's role for this object (e.g., \"Artist\", \"Maker\", \"Publisher\", \"Patron\") — a patron or publisher is not the maker. Empty when the record names no one.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / objects / items / properties / artistSuffix
      Added value: +{
      +  "description": "Text the Met places after artistDisplayName (e.g., \"(r. 1876–1909)\", \", Paris\", \"(?)\"). Empty when the Met records none.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / objects / items / properties / department / description
      Previous value: -"Curatorial department (e.g., \"European Paintings\", \"Egyptian Art\")."New value: +"Curatorial department as the record names it (e.g., \"European Paintings\", \"Egyptian Art\"). Five departments carry a different name on their records than in met_list_departments — \"The American Wing\", \"The Michael C. Rockefeller Wing\", \"Costume Institute\", \"Robert Lehman Collection\", \"Modern and Contemporary Art\" — so match departments by departmentId, not by name."
    • addedOutput schema / properties / objects / items / properties / departmentId
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The department's numeric ID, resolved from department, for the departmentId filter of met_list_objects and met_search_collections. Null when the record's department name was not recognized — never a guess."
      +}
    • addedOutput schema / properties / objects / items / properties / metadataDate
      Added value: +{
      +  "description": "When the Met last created or revised this record: an ISO 8601 UTC timestamp, as sent (e.g., \"2026-10-01T04:59:29.693Z\"; fractional seconds run from none to three digits). Its UTC date is what met_list_objects updatedSince compares, that day included. Empty when the Met sends none.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / objects / items / properties / primaryImageSmall / description
      Previous value: -"Web-display image URL (~800px; CC0 objects only; empty string for non-public-domain works)."New value: +"Web-display image URL (about 600 px on the long edge; CC0 objects only; empty string for non-public-domain works)."
    • addedOutput schema / properties / objects / items / properties / rightsAndReproduction
      Added value: +{
      +  "description": "Rights holder and reproduction notice (e.g., \"© 2026 Pollock-Krasner Foundation / Artists Rights Society (ARS), New York\"). Most copyrighted records carry none, so an empty value does not make a work free to reuse — isPublicDomain decides that.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / objects / items / required
      Previous value: -[
      -  "objectID",
      -  "title",
      -  "isPublicDomain",
      -  "hasCC0Image",
      -  "primaryImage",
      -  "primaryImageSmall",
      -  "additionalImages",
      -  "objectURL",
      -  "department",
      -  "objectName",
      -  "classification",
      -  "isHighlight",
      -  "isTimelineWork",
      -  "artistDisplayName",
      -  "artistDisplayBio",
      -  "artistNationality",
      -  "artistBeginDate",
      -  "artistEndDate",
      -  "constituents",
      -  "objectDate",
      -  "objectBeginDate",
      -  "objectEndDate",
      -  "medium",
      -  "dimensions",
      -  "culture",
      -  "period",
      -  "dynasty",
      -  "accessionNumber",
      -  "creditLine",
      -  "country",
      -  "region",
      -  "geography",
      -  "measurements",
      -  "tags",
      -  "objectWikidata_URL",
      -  "GalleryNumber"
      -]New value: +[
      +  "objectID",
      +  "title",
      +  "isPublicDomain",
      +  "hasCC0Image",
      +  "primaryImage",
      +  "primaryImageSmall",
      +  "additionalImages",
      +  "objectURL",
      +  "department",
      +  "departmentId",
      +  "objectName",
      +  "classification",
      +  "isHighlight",
      +  "isTimelineWork",
      +  "artistPrefix",
      +  "artistDisplayName",
      +  "artistSuffix",
      +  "artistRole",
      +  "artistDisplayBio",
      +  "artistNationality",
      +  "artistBeginDate",
      +  "artistEndDate",
      +  "constituents",
      +  "objectDate",
      +  "objectBeginDate",
      +  "objectEndDate",
      +  "medium",
      +  "dimensions",
      +  "culture",
      +  "period",
      +  "dynasty",
      +  "accessionNumber",
      +  "accessionYear",
      +  "creditLine",
      +  "rightsAndReproduction",
      +  "country",
      +  "region",
      +  "geography",
      +  "measurements",
      +  "tags",
      +  "objectWikidata_URL",
      +  "GalleryNumber",
      +  "metadataDate"
      +]
  3. Changed6 schema fields changed
    • changedInput schema / properties / objectIDs / description
      Previous value: -"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search_collections. A repeated ID is fetched and returned once, at its first position. Partial failures are reported per ID rather than failing the whole batch."New value: +"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search_collections or met_list_objects. A repeated ID is fetched and returned once, at its first position. Partial failures are reported per ID rather than failing the whole batch."
    • changedInput schema / properties / objectIDs / items / description
      Previous value: -"A Met object ID from met_search_collections."New value: +"A Met object ID from met_search_collections or met_list_objects."
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `all_not_found`: Every requested objectID returned a 404 — all IDs are stale or invalid. `all_failed`: Every requested objectID failed due to network errors or API downtime. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `all_not_found`: Every requested objectID returned a 404 — all IDs are stale or invalid. `all_failed`: Every requested objectID failed due to network errors or API downtime. `upstream_blocked`: No object was fetched and the Met API's firewall refused requests with HTTP 403 — it blocks this server's address, not one object. `retry_deadline_exceeded`: No object was fetched and every fetch ran out of the call's time budget, retries and backoff included — an ID whose fetch would have started after the budget was spent counts too. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "all_not_found",
      -  "all_failed"
      -]New value: +[
      +  "all_not_found",
      +  "all_failed",
      +  "upstream_blocked",
      +  "retry_deadline_exceeded"
      +]
    • changedOutput schema / properties / objects / items / properties / artistBeginDate / description
      Previous value: -"Artist birth year as a string (e.g., \"1853\"). Empty for anonymous works."New value: +"Artist birth year, or a firm's founding year, as a string (e.g., \"1853\"). Occasionally a full date (e.g., \"1928-01-10\"). Empty for anonymous works."
    • changedOutput schema / properties / objects / items / properties / artistEndDate / description
      Previous value: -"Artist death year as a string. Empty for living or anonymous."New value: +"Artist death year, or a firm's closing year, as a string (e.g., \"1890\"). Occasionally a full date (e.g., \"1928-01-10\"). Empty for a living artist, a firm still active, or an anonymous work."
  4. Changed6 schema fields changed
    • changedInput schema / properties / objectIDs / description
      Previous value: -"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search_collections. Partial failures are reported per ID rather than failing the whole batch."New value: +"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search_collections. A repeated ID is fetched and returned once, at its first position. Partial failures are reported per ID rather than failing the whole batch."
    • addedOutput schema / properties / deferred
      Added value: +{
      +  "description": "Records that were fetched but did not fit the call’s cumulative budget on serialized structuredContent bytes, in request order. Re-call met_get_object with these IDs to retrieve them. Absent when every fetched record fit.",
      +  "items": {
      +    "additionalProperties": false,
      +    "description": "A record fetched successfully but withheld to keep the response bounded.",
      +    "properties": {
      +      "bytes": {
      +        "description": "Serialized structuredContent size of the withheld record — the same scale the budget is measured on — so a follow-up batch can be sized before it is requested.",
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "objectID": {
      +        "description": "Object ID whose record was fetched but withheld from this response.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "objectID",
      +      "bytes"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / notice
      Added value: +{
      +  "description": "How to retrieve the deferred records, with the budget applied. Present only when the batch byte budget deferred a record.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / objects / items / properties / geography
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Findspot detail beyond the top-level country and region, which are not repeated here. Every field is an empty string when the Met records nothing; population concentrates in the archaeological departments.",
      +  "properties": {
      +    "city": {
      +      "description": "City of origin or findspot (e.g., \"Damascus\", \"Constantinople (?)\", \"Springfield\"). The most widely populated field of this block outside the archaeological departments; empty when the Met records no city.",
      +      "type": "string"
      +    },
      +    "county": {
      +      "description": "County of origin. Empty on nearly every record.",
      +      "type": "string"
      +    },
      +    "excavation": {
      +      "description": "Excavation that recovered the object (e.g., \"MMA excavations, 1928-29\"). Excavated objects only.",
      +      "type": "string"
      +    },
      +    "geographyType": {
      +      "description": "How the object relates to the place (e.g., \"From\", \"Original\", \"Probably originally from\"). Empty when the Met records no findspot.",
      +      "type": "string"
      +    },
      +    "locale": {
      +      "description": "Named place within the site (e.g., \"Late Period cemetery, Tomb of Harkhebit\"). Excavated objects only.",
      +      "type": "string"
      +    },
      +    "locus": {
      +      "description": "Specific findspot within the locale (e.g., \"burial chamber\"). Excavated objects only.",
      +      "type": "string"
      +    },
      +    "river": {
      +      "description": "Associated river. Empty on nearly every record.",
      +      "type": "string"
      +    },
      +    "state": {
      +      "description": "State or province of origin (e.g., \"Massachusetts\"). Sparse, and concentrated in departments that catalogue a manufacturing place. Empty when the Met records none.",
      +      "type": "string"
      +    },
      +    "subregion": {
      +      "description": "Sub-region or site within the region (e.g., \"Saqqara\", \"Deir el-Bahri\"). Commonly populated for archaeological departments, empty elsewhere.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "geographyType",
      +    "city",
      +    "state",
      +    "county",
      +    "subregion",
      +    "locale",
      +    "locus",
      +    "excavation",
      +    "river"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / objects / items / properties / measurements
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "additionalProperties": false,
      +        "description": "One measured element of the object.",
      +        "properties": {
      +          "elementDescription": {
      +            "description": "Qualifier distinguishing this element from a sibling with the same name (e.g., \"Print\" vs \"Negativ\"). Empty when the Met records none.",
      +            "type": "string"
      +          },
      +          "elementMeasurements": {
      +            "additionalProperties": {
      +              "description": "Measured value — centimeters for spatial axes, kilograms for weight.",
      +              "type": "number"
      +            },
      +            "description": "Measured axes for this element. Which keys are present varies element to element, so read the keys rather than assuming a fixed set. Empty object when the Met records no values.",
      +            "propertyNames": {
      +              "description": "Measurement axis (e.g., \"Height\", \"Width\", \"Depth\", \"Length\").",
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "elementName": {
      +            "description": "Which part of the object was measured (e.g., \"Overall\", \"Other\", \"Length\").",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "elementName",
      +          "elementDescription",
      +          "elementMeasurements"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Structured element measurements — the numeric counterpart to the formatted dimensions string. Null when the Met records none."
      +}
    • changedOutput schema / properties / objects / items / required
      Previous value: -[
      -  "objectID",
      -  "title",
      -  "isPublicDomain",
      -  "hasCC0Image",
      -  "primaryImage",
      -  "primaryImageSmall",
      -  "additionalImages",
      -  "objectURL",
      -  "department",
      -  "objectName",
      -  "classification",
      -  "isHighlight",
      -  "isTimelineWork",
      -  "artistDisplayName",
      -  "artistDisplayBio",
      -  "artistNationality",
      -  "artistBeginDate",
      -  "artistEndDate",
      -  "constituents",
      -  "objectDate",
      -  "objectBeginDate",
      -  "objectEndDate",
      -  "medium",
      -  "dimensions",
      -  "culture",
      -  "period",
      -  "dynasty",
      -  "accessionNumber",
      -  "creditLine",
      -  "country",
      -  "region",
      -  "tags",
      -  "objectWikidata_URL",
      -  "GalleryNumber"
      -]New value: +[
      +  "objectID",
      +  "title",
      +  "isPublicDomain",
      +  "hasCC0Image",
      +  "primaryImage",
      +  "primaryImageSmall",
      +  "additionalImages",
      +  "objectURL",
      +  "department",
      +  "objectName",
      +  "classification",
      +  "isHighlight",
      +  "isTimelineWork",
      +  "artistDisplayName",
      +  "artistDisplayBio",
      +  "artistNationality",
      +  "artistBeginDate",
      +  "artistEndDate",
      +  "constituents",
      +  "objectDate",
      +  "objectBeginDate",
      +  "objectEndDate",
      +  "medium",
      +  "dimensions",
      +  "culture",
      +  "period",
      +  "dynasty",
      +  "accessionNumber",
      +  "creditLine",
      +  "country",
      +  "region",
      +  "geography",
      +  "measurements",
      +  "tags",
      +  "objectWikidata_URL",
      +  "GalleryNumber"
      +]
  5. Changed10 schema fields changed
    • addedOutput schema / properties / objects / items / properties / objectBeginDate / anyOf
      Added value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / objects / items / properties / objectBeginDate / description
      Previous value: -"Earliest date as an integer year (negative = BCE)."New value: +"Earliest date as an integer year (negative = BCE). Null when the Met has no machine-readable date for the work — read objectDate for what is known instead, and do not treat null as year zero or substitute a default."
    • removedOutput schema / properties / objects / items / properties / objectBeginDate / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / objects / items / properties / objectBeginDate / minimum
      Removed value: --9007199254740991
    • removedOutput schema / properties / objects / items / properties / objectBeginDate / type
      Removed value: -"integer"
    • addedOutput schema / properties / objects / items / properties / objectEndDate / anyOf
      Added value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / objects / items / properties / objectEndDate / description
      Previous value: -"Latest date as an integer year (negative = BCE)."New value: +"Latest date as an integer year (negative = BCE). Null under the same condition as objectBeginDate — the two are null together."
    • removedOutput schema / properties / objects / items / properties / objectEndDate / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / objects / items / properties / objectEndDate / minimum
      Removed value: --9007199254740991
    • removedOutput schema / properties / objects / items / properties / objectEndDate / type
      Removed value: -"integer"
  6. Changed6 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "objects",
      +      "failed"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / error
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when the call failed. Absent on success.",
      +  "properties": {
      +    "code": {
      +      "description": "JSON-RPC error code for this failure.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "data": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "reason": {
      +          "description": "Machine-readable failure mode. Declared by this tool: `all_not_found`: Every requested objectID returned a 404 — all IDs are stale or invalid. `all_failed`: Every requested objectID failed due to network errors or API downtime. Other values are possible when a failure originates below the handler.",
      +          "examples": [
      +            "all_not_found",
      +            "all_failed"
      +          ],
      +          "type": "string"
      +        },
      +        "recovery": {
      +          "additionalProperties": {},
      +          "description": "Actionable next step for the caller.",
      +          "properties": {
      +            "hint": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "hint"
      +          ],
      +          "type": "object"
      +        },
      +        "retryable": {
      +          "description": "Whether retrying may succeed.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "message": {
      +      "description": "Human-readable description of what went wrong.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "message"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "objects",
      -  "failed"
      -]
  7. Changed2 schema fields changed
    • changedInput schema / properties / objectIDs / description
      Previous value: -"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search_collections. Fetches run in parallel (concurrency-limited); partial failures are reported per ID rather than failing the whole batch."New value: +"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search_collections. Partial failures are reported per ID rather than failing the whole batch."
    • changedOutput schema / properties / objects / items / properties / objectBeginDate / description
      Previous value: -"Earliest date as an integer year (negative = BCE). Use for date range comparisons."New value: +"Earliest date as an integer year (negative = BCE)."
  8. Changed3 schema fields changed
    • changedInput schema / properties / objectIDs / description
      Previous value: -"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search. Fetches run in parallel (concurrency-limited); partial failures are reported per ID rather than failing the whole batch."New value: +"One or more Met object IDs to fetch. Maximum 20 per call. IDs come from met_search_collections. Fetches run in parallel (concurrency-limited); partial failures are reported per ID rather than failing the whole batch."
    • changedInput schema / properties / objectIDs / items / description
      Previous value: -"A Met object ID from met_search."New value: +"A Met object ID from met_search_collections."
    • changedOutput schema / properties / objects / items / properties / hasCC0Image / description
      Previous value: -"True when a CC0 open-access image URL is available (primaryImage is non-empty). Distinct from met_search's hasImages filter, which matches objects that have any image including copyrighted works."New value: +"True when a CC0 open-access image URL is available (primaryImage is non-empty). Distinct from met_search_collections's hasImages filter, which matches objects that have any image including copyrighted works."
  9. Changed3 schema fields changed
    • addedOutput schema / properties / objects / items / properties / hasCC0Image
      Added value: +{
      +  "description": "True when a CC0 open-access image URL is available (primaryImage is non-empty). Distinct from met_search's hasImages filter, which matches objects that have any image including copyrighted works.",
      +  "type": "boolean"
      +}
    • removedOutput schema / properties / objects / items / properties / hasImages
      Removed value: -{
      -  "description": "True when primaryImage is non-empty.",
      -  "type": "boolean"
      -}
    • changedOutput schema / properties / objects / items / required
      Previous value: -[
      -  "objectID",
      -  "title",
      -  "isPublicDomain",
      -  "hasImages",
      -  "primaryImage",
      -  "primaryImageSmall",
      -  "additionalImages",
      -  "objectURL",
      -  "department",
      -  "objectName",
      -  "classification",
      -  "isHighlight",
      -  "isTimelineWork",
      -  "artistDisplayName",
      -  "artistDisplayBio",
      -  "artistNationality",
      -  "artistBeginDate",
      -  "artistEndDate",
      -  "constituents",
      -  "objectDate",
      -  "objectBeginDate",
      -  "objectEndDate",
      -  "medium",
      -  "dimensions",
      -  "culture",
      -  "period",
      -  "dynasty",
      -  "accessionNumber",
      -  "creditLine",
      -  "country",
      -  "region",
      -  "tags",
      -  "objectWikidata_URL",
      -  "GalleryNumber"
      -]New value: +[
      +  "objectID",
      +  "title",
      +  "isPublicDomain",
      +  "hasCC0Image",
      +  "primaryImage",
      +  "primaryImageSmall",
      +  "additionalImages",
      +  "objectURL",
      +  "department",
      +  "objectName",
      +  "classification",
      +  "isHighlight",
      +  "isTimelineWork",
      +  "artistDisplayName",
      +  "artistDisplayBio",
      +  "artistNationality",
      +  "artistBeginDate",
      +  "artistEndDate",
      +  "constituents",
      +  "objectDate",
      +  "objectBeginDate",
      +  "objectEndDate",
      +  "medium",
      +  "dimensions",
      +  "culture",
      +  "period",
      +  "dynasty",
      +  "accessionNumber",
      +  "creditLine",
      +  "country",
      +  "region",
      +  "tags",
      +  "objectWikidata_URL",
      +  "GalleryNumber"
      +]
  10. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.