Art
liveArtSearch 470,000+ artworks from the Metropolitan Museum of Art
Tools
search_artworksrequired: querySearch 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 gener
queryreqstringSearch term (artist, title, medium, etc.)Try it
get_artworkrequired: object_idGet full details for a specific artwork. Provide the object ID from search results. Returns title, artist, date, medium, department, and high-resolution image URL.
object_idreqnumberMet Museum object IDTry it
get_departmentsReturn the full list of Metropolitan Museum of Art curatorial departments (e.g., 'Egyptian Art', 'Modern and Contemporary Art'), each with its numeric department ID.
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/art/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/art/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_artworks","arguments":{"query": "hello"}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_artworks", {"query":"example"});// Or ask in plain English:
const answer = await px.ask("search 470,000+ artworks from the metropolitan museum of art");