search_artworks
Pack: art · Endpoint: https://gateway.pipeworx.io/art/mcp
Search the Met’s collection by subject, artist or keyword (e.g., “sunflowers”, “monet”, “ancient egypt”). Artworks whose TITLE matches come first, then ones whose ARTIST or culture matches, then general full-text matches; each result says which via matched_on. Returns title, artist, date, medium and image URL.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Search query (e.g., “sunflowers”, “ancient egypt”, “monet”) |
limit | number | no | How many artworks to return, 1-20 (default 5). |
Example call
Arguments
{
"query": "sunflowers"
}
curl
curl -X POST https://gateway.pipeworx.io/art/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_artworks","arguments":{"query":"sunflowers"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search_artworks', {
"query": "sunflowers"
});
More examples
{
"query": "monet",
"limit": 5
}
Response shape
Always returns: query, total, showing, artworks
| Field | Type | Description |
|---|---|---|
query | string | The search query used |
total | number | Total matching artworks in collection |
showing | number | Number of artworks returned (up to 5) |
artworks | array |
Full JSON Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query used"
},
"total": {
"type": "number",
"description": "Total matching artworks in collection"
},
"showing": {
"type": "number",
"description": "Number of artworks returned (up to 5)"
},
"artworks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"object_id": {
"type": "number",
"description": "Met Museum object ID"
},
"title": {
"type": "string",
"description": "Artwork title"
},
"artist": {
"type": "string",
"description": "Artist display name or 'Unknown'"
},
"artist_nationality": {
"type": "string",
"description": "Artist's nationality"
},
"date": {
"type": "string",
"description": "Object date or period"
},
"medium": {
"type": "string",
"description": "Materials and technique"
},
"dimensions": {
"type": "string",
"description": "Physical dimensions"
},
"department": {
"type": "string",
"description": "Museum department"
},
"classification": {
"type": "string",
"description": "Object classification"
},
"image_url": {
"type": "string",
"description": "Small image URL"
},
"full_image_url": {
"type": "string",
"description": "Full resolution image URL"
},
"is_public_domain": {
"type": "boolean",
"description": "Whether artwork is in public domain"
},
"credit_line": {
"type": "string",
"description": "Credit and acquisition information"
},
"met_url": {
"type": "string",
"description": "Met Museum URL for artwork"
}
},
"required": [
"object_id",
"title",
"artist",
"artist_nationality",
"date",
"medium",
"dimensions",
"department",
"classification",
"image_url",
"full_image_url",
"is_public_domain",
"credit_line",
"met_url"
]
}
}
},
"required": [
"query",
"total",
"showing",
"artworks"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"art": {
"url": "https://gateway.pipeworx.io/art/mcp"
}
}
}
See Getting Started for client-specific install steps.