MET Museum collection via MCP β 500K+ artworks, metadata, provenance, open-access images.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.
Public Hosted Server: https://met-museum.caseyjhand.com/mcp
Three tools for browsing and fetching Metropolitan Museum of Art collection data:
| Tool | Description |
|---|---|
met_list_departments | Return all 19 curatorial departments with their numeric IDs and display names |
met_search_collections | Search the collection by keyword with filters for department, date range, medium, geography, on-view status, public-domain status, and highlight designation |
met_get_object | Fetch full records for one or more object IDs β metadata, provenance, artist info, CC0 image URLs, tags, and Wikidata links |
met_list_departmentsReturn the 19 curatorial departments at The Metropolitan Museum of Art with their numeric IDs and display names.
departmentId values are the valid inputs for the met_search_collections department filtermet_search_collectionsSearch the Met collection by keyword and optional filters.
met_list_departments)"Paintings", "Sculptures", "Ceramics") β maps to the classification field, not material descriptionsisPublicDomain=true restricts to CC0 open-access objects (guaranteed usable image URLs)hasImages=true includes any object with images (includes copyrighted works without reusable URLs)isHighlight=true restricts to collection highlights designated by the MetisOnView=true restricts to objects currently on display in a Met gallerylimit with offset (default 0) β a broad, unfiltered query carries the same timeout risk on every page as on the firstremaining count, nextOffset for the next page (null once exhausted), and up to limit object IDs (default 20, max 500)met_get_object (up to 20 per call)met_get_objectFetch full records for one or more Met Museum object IDs.
Built on @cyanheads/mcp-ts-core:
none, jwt, oauthin-memory, filesystem, Supabase, Cloudflare KV/R2/D1Metropolitan Museum of Art collection:
met_get_objectAgent-friendly output:
isPublicDomain and hasCC0Image flags distinguish CC0 objects from works with inaccessible images, so agents can reason about what they can actually displaymet_get_object returns objects and failed arrays so callers receive successful records alongside structured per-ID error contextmet_search_collections returns total, returned, truncated, remaining, and nextOffset fields so agents know when to refine filters, increase limit, or page further with offsetA public instance is available at https://met-museum.caseyjhand.com/mcp β no installation required. Point any MCP client at it via Streamable HTTP:
Add the following to your MCP client configuration file.
Or with npx (no Bun required):
Or with Docker:
For Streamable HTTP, set the transport and start the server:
All configuration is validated at startup via Zod schemas in src/config/server-config.ts.
| Variable | Description | Default |
|---|---|---|
MCP_TRANSPORT_TYPE | Transport: stdio or http | stdio |
MCP_HTTP_PORT | HTTP server port | 3010 |
MCP_SESSION_MODE | HTTP session mode: auto, stateful, or stateless. This server explicitly sets stateless; the framework schema default is auto. | stateless |
MCP_AUTH_MODE | Authentication: none, jwt, or oauth | none |
MCP_LOG_LEVEL | Log level (debug, info, warning, error) | info |
LOGS_DIR | Directory for log files (Node.js only) | <project-root>/logs |
OTEL_ENABLED | Enable OpenTelemetry instrumentation | false |
MET_BASE_URL | Met Collection API base URL (override for local stubs) | https://collectionapi.metmuseum.org/public/collection/v1 |
MET_REQUEST_TIMEOUT_MS | Per-request HTTP timeout in milliseconds | 10000 |
MET_BATCH_CONCURRENCY | Max parallel fetches in met_get_object | 5 |
See .env.example for the full list of optional overrides.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/met-museum-mcp-server)<a href="https://allmcps.com/mcp/met-museum-mcp-server"><img src="https://allmcps.com/api/badge/met-museum-mcp-server?style=directory" alt="Met Museum MCP Server on AllMCPs" /></a>