How code-qtzl/artic-catalog works
Artic-Catalog is a web application for browsing the Art Institute of Chicago’s artwork collection, viewing artwork details, and asking an AI assistant about art. The main path is visitor → collection search or featured/random artwork → selected artwork detail; chat is a separate interaction carried through the app’s chat endpoint to Claude. The README also describes MCP-based artwork search and lookup, represented as a separate integration. Several component and chat-service implementations were not sampled, so their internal wiring is shown only where supported by the available source or README.
Main entry points: App.tsx App navigation · Hero.tsx Collection search · Chat.tsx Chat interface · api.ts Artwork API client
Components 15
Web experience
- App navigation
src/App.tsx - Collection search
src/components/Hero.tsx - Artwork detail
src/components/ArtworkDetail.tsx - Chat interface
src/components/Chat.tsx - Theme provider
src/components/ThemeProvider.tsx
Artwork collection
- Artwork API client
src/config/api.ts - Featured artworks
src/components/FeaturedArtworks.tsx - Art Institute API
AI assistant
- Chat service
src/config/chat.ts - Chat endpoint server
src/server/index.ts - Chat handler
src/server/api/chat.ts - Anthropic Claude
MCP integration
- MCP tool server
src/server/mcp-server.ts - MCP client
Other components
- Visitor
Connections 14
- Visitor → App navigation: uses
- App navigation → Collection search: shows home
- App navigation → Artwork detail: selects artwork
- App navigation → Chat interface: opens chat
- App navigation → Theme provider: provides theme
- Collection search → Artwork API client: searches, fetches featured, random
- Collection search → Featured artworks: passes artworks
- Artwork API client → Art Institute API: requests artwork data
- Chat interface → Chat service: sends message
- Chat service → Chat endpoint server: posts chat request
- Chat endpoint server → Chat handler: dispatches request
- Chat handler → Anthropic Claude: requests completion
- MCP client → MCP tool server: invokes tools
- MCP tool server → Art Institute API: searches and retrieves