Skip to content

Images

Images are meant to be searched, while art is meant to be explored.

Core trick

MCP server lets Claude write SQL with full-text search over 243,000 Met catalog records and display images inline.

Tags

Description

Images are meant to be searched, while art is meant to be explored. This project provides Claude an MCP to browse The Metropolitan Museum of Art's public domain collection.
edwarddgao/curator★ 00 forksPythonCreated Feb 13, 2026 · last push Feb 17, 2026

README excerpt

# Art Curator

An MCP server that gives Claude direct SQL access to 243,000+ captioned artworks from the Metropolitan Museum of Art. Claude acts as an art curator — searching, recommending, and displaying artwork images inline in conversation.

[![Video Title](https://img.youtube.com/vi/s_pfyLrQWBo/0.jpg)](https://www.youtube.com/watch?v=s_pfyLrQWBo)


## How it works

Users ask Claude about art in natural language. Claude writes SQL queries against a structured database with full-text search, curates the best matches, and presents them with commentary and inline images.

```
User: "Show me paintings of boats in storms"
Claude: *queries FTS for storm+ship, selects best matches, shows images with art historical context*
```

## Tools

| Tool | Description |
|---|---|
| `query_artworks` | Execute read-only SQL against the artworks database (243K rows, FTS5 index) |
| `show_artwork` | Display a single artwork image inline by ID |

## Database schema

```sql
artworks (
  id, met_object_id, title, artist_name, artist_bio, artist_nationality,
  artist_birth_year, artist_death_year, object_date, date_begin, date_end,
  medium, dimensions, department, classification, culture, period,
  caption,        -- AI-generated visual description
  description,    -- curatorial essay from Met website (~41% coverage)
  image_url, thumbnail_url, object_url,
  credit_line, accession_number, gallery_number, is_highlight
)

artworks_fts (FTS5 over: title, artist_name, medium, caption, description, c

Team