TopImpressionists Impressionist Art Search
com.topimpressionists/art-searchVersion 1.1.0Impressionist art: Monet, Renoir, Degas, Van Gogh. Search works and price oil reproductions.
Status
Responds420 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:19 UTC
- Latency
- 420 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://direct.topimpressionists.com/mcp/Responds420 msNo sign-in
Claude Code
claude mcp add --transport http art-search https://direct.topimpressionists.com/mcp/Claude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: art-search
Remote MCP server URL: https://direct.topimpressionists.com/mcp/Cursor
{
"mcpServers": {
"art-search": {
"url": "https://direct.topimpressionists.com/mcp/"
}
}
}VS Code
code --add-mcp '{"name":"art-search","type":"http","url":"https://direct.topimpressionists.com/mcp/"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
15 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
find_artwork_in_catalogONE call that says whether a work is in our catalog, for a visitor who cannot name it exactly: a half-remembered or translated title, an artist, a description of the picture — or several of them. It matches the title words against EVERY work of the artist (not only 10 search results) and runs the full-text search in the visitor's language and English; a description goes through the meaning index. Returns verdict ("found", "candidates", "possible_matches_by_meaning", "artist_works_listed" or "not_in_catalog"), next_step (what to do now — follow it), candidates (at most 5, best first: pk, artist_name, title, year, url, image_url), and, when an artist was recognised, artist (pk, url, artworks_count, all_artworks_page) and artist_works (the titles of his works, to spot the same work under another title). Use it FIRST, instead of a series of search_artworks with title variants. When you learn the work's real title (from the encyclopedia or the visitor), call it once more with alternative_titles; after that, do not search again. | No | Yes | Yes | No |
get_artwork_availabilityEvery way to buy ONE artwork right now, on every sales channel it sells: the physical objects first — a ready-made oil painting in stock ("Stock Discount Oil Painting", a real canvas that ships within 48 hours), an auction lot (current bid, minimum next bid, closing time), an original sold by its owner, a studio collectible — each with available_now, stock_quantity, price (fixed, shipping included) in your currency, size, buy_url and offer_text (one ready-to-paste line: give it to the customer as is, numbers and link untouched); then the made-to-order channels (hand-painted oil reproduction, art print: price by size through get_quotation) and the digital image licence. available_now is true only when the artwork ITSELF can be bought or bid on today; available_now_summary says it in one sentence. Call it whenever a customer asks whether something is available, in stock, ready to ship, discounted, on auction, or what it costs as a real object — and before any "yes, it is available". Identify the artwork by pk, or by title and/or artist_name (exact title first, then a surname-guarded search whose relevance comes back in "score"; a "warning" means check the returned title). Without pk or title, give channel to LIST the objects of that channel for sale now (cheapest first; optional artist_name, query words from the title, max_price in your currency, limit 1-10): "what do you have in stock under 200 euros?", "which auctions are open?". Prices follow the strict no-fallback currency rule of the quotation tools. | No | Yes | Yes | No |
get_custom_reproduction_quotationPrice quotation for a CUSTOM reproduction — one made from an image the customer supplies (their own photo, or an artwork that is not in the catalog) — as an art print or a hand-painted oil painting. No artwork identification is needed or accepted: the price depends only on the size, the reproduction type and the currency. Use this whenever the artwork cannot be found in the catalog (the search tools return nothing relevant, or get_quotation fails with artwork_not_found), or the customer wants their own picture reproduced. Optional frame_code ("WhiteWrap" = stretched on stretcher bars, "default" = a decorative frame chosen for you, or a catalog code) adds the frame price to quotation_price; optional senior_artist (oil painting only) adds the "Elite Senior Artist" upgrade — more detail and finesse, extra production time. Each side must be 25-250 cm (about 10-98 inches). Returns quotation_price (the base price: options chosen on the order form, like varnish or urgent delivery, cost extra — see "notes"), currency, frame_code (+ frame_description, frame_delivery), width_cm/height_cm, notes, and order_page_url — the page where the customer uploads their image and orders the reproduction. Give order_page_url to the user as the link to place this order. For a hand-painted portrait the price covers up to 3 faces; the per-extra-face surcharge is stated in notes. | No | Yes | Yes | No |
get_detail_articleFull data of ONE article identified by pk (use a search tool first to find the pk). Always returns: pk, title, meta_description, meta_keywords (first 5), description_html (the full article content as HTML), url (the article page), image_url, and "links" — up to 5 ready-to-give absolute URLs of the most useful related pages (articles_by_category_page, all_articles_page, rss_feed). article_not_found when no such article is published. The result is capped at 25000 characters: when description_html had to be shortened to fit, "truncated" is true. | No | Yes | Yes | No |
get_detail_artistFull data of ONE artist identified by pk (use a search tool first to find the pk). Always returns: pk, title, meta_description, meta_keywords (first 5), description_html (the artist biography as HTML), url (the artist page), image_url, and "links" — up to 5 ready-to-give absolute URLs of the most useful related pages (artwork_timeline_page, all_artworks_page, chronicle_page, subject_atlas_page, mood_room_page). artist_not_found when no such artist is published. The result is capped at 25000 characters: when description_html had to be shortened to fit, "truncated" is true. | No | Yes | Yes | No |
get_detail_artworkFull data of ONE artwork identified by pk (use a search tool first to find the pk). Always returns: pk, title, meta_description, meta_keywords (first 5), description_html (the artwork description as HTML), url (the artwork page), image_url, and "links" — up to 5 ready-to-give absolute URLs of the most useful related pages (download_page, buy_print_page, buy_oil_painting_page (only for channels on sale), student_guide_page, similar_artworks_page, preview_in_room_page). Also for every caller: "museum" - where the original is kept (pk, name, url of its page on this site, city, country), null when unknown. artwork_not_found when no such artwork is published. The result is capped at 25000 characters: when description_html had to be shortened to fit, "truncated" is true. | No | Yes | Yes | No |
get_detail_museumFull data of ONE museum identified by pk (use a search tool first to find the pk). Always returns: pk, title, meta_description, meta_keywords (first 5), description_html (the museum description as HTML), url (the museum page), image_url, and "links" — up to 5 ready-to-give absolute URLs of the most useful related pages (city_museums_page, museums_by_country_page, official_website, all_museums_page). museum_not_found when no such museum is published. The result is capped at 25000 characters: when description_html had to be shortened to fit, "truncated" is true. | No | Yes | Yes | No |
get_quotationPrice quotation for a reproduction of an artwork, as an art print or a hand-painted oil painting, at a given size and in a given currency. Leave type out to get BOTH in one call: the result then holds "quotations" (one full quotation per type the artwork sells, each with its own price, buy_url and offer_text) and "types_not_available". Every quotation carries offer_text, one ready-to-paste line (type, size, frame, price, order link): give it to the user as is, translating its words if needed but never changing its numbers or link. Optional frame_code adds the frame price to quotation_price ("WhiteWrap" = stretched on stretcher bars, "default" = a decorative frame chosen for the artwork, or a catalog code); optional senior_artist (oil painting only) adds the "Elite Senior Artist" upgrade — more detail and finesse, extra production time — to quotation_price. Identify the artwork by pk, or by title and/or artist_name (an exact title match wins; otherwise the first good-confidence search match is used, and its relevance is returned in "score"). A fuzzy match can be a different painting than the one asked for: when the result carries a "warning", verify the returned title before using the price, as the warning instructs. width/height need not match the artwork's own proportions: when its aspect ratio is known, the quoted size is snapped to that ratio while keeping the same surface area (width x height) you requested, so the reproduction is never stretched or distorted; the actual quoted size is returned as width_cm/height_cm (vs. your original requested_width_cm/requested_height_cm), with size_ratio_adjusted set to true when this happened. Give only width OR only height (e.g. "25 cm high", "smallest side 25 cm") to keep that side exactly: the other side is then derived from the artwork's aspect ratio and size_derived_from names the side you gave (fails with invalid_size when the ratio is unknown - then give both). Each side must be 25-250 cm (about 10-98 inches): a size | No | Yes | Yes | No |
search_articlesKeyword search of ONE model, the articles of the website, with a category filter no other keyword search has. Use it to LIST the articles on a subject; to get the passages that answer a question, use search_sections_semantically. Returns pk, title, url, image_url (absolute URL of the large article image, null when there is none), category_code, meta_description and relevance score. | No | Yes | Yes | No |
search_artistsKeyword search of ONE model, the artists, by name and biography, with three filters no other search tool has: birth city, birth country and a year the artist was alive (born <= year <= died, or born + 80 years when the death year is unknown). Use it when you are looking for a person; when the words may name a work, a museum or an article, use search_fts. Returns pk, artist_name, url, image_url (absolute URL of the large artist portrait, null when there is none), city, country, date_born, date_death and score. | No | Yes | Yes | No |
search_artworksKeyword search of ONE model, the artworks: words of the title, the artist name and the description. Use it when you are looking for a work (a painting, a drawing, a sculpture). When the words may name an artist, a museum or an article instead, use search_fts, which searches the four models in one call; when you have a sentence or a paragraph and no name, use search_objects_semantically. Optional artist: only the works of that artist, the query words matched against ALL of them (artist_artworks_count says how many) - without query, his most popular works. To find out whether a half-remembered work is in the catalog, use find_artwork_in_catalog (one call) rather than many searches with title variants. Returns only good-confidence matches with pk, artist_name, title, url, image_url (absolute URL of the large artwork image, null when the artwork has no image) and relevance score. | No | Yes | Yes | No |
search_ftsKeyword search of the FOUR models in one call: artworks, artists, museums and articles (maximum 10 results per model, merged by relevance; each result names its model). It is the first search to try when you have a name or keywords and do not know which kind of object they name ("Monet", "Orsay", "Water Lilies"). It has no filter: once you know the model, search_artworks / search_artists / search_museums / search_articles search that model alone, with its filters (city, country, year alive, category). It matches WORDS: for a sentence or a paragraph without a name, use search_objects_semantically (the objects a text is about) or search_sections_semantically (the passages that answer a question). Each result carries pk, model, title, artist_name, city, country, date_born, date_death, url, image_url (absolute URL of the large image, null when there is none), meta_description and score. | No | Yes | Yes | No |
search_museumsKeyword search of ONE model, the museums, by name, with two filters no other search tool has: city and country. Use it when you are looking for a museum or for the museums of a place; when the words may name something else than a museum, use search_fts. Returns only good-confidence matches with pk, name, url, image_url (absolute URL of the large museum image, null when there is none), city, country and relevance score. | No | Yes | Yes | No |
search_objects_semanticallySearch by MEANING that returns OBJECTS, not passages: the artworks, artists, museums or articles whose texts are closest in meaning to a text (a description, a paragraph, a section of an article), e.g. "a woman reading by a window in soft morning light". The query is a text, not a name. Each result: model, object_pk (use it with the matching get_detail_* tool), object_title, object_url, best_score (cosine of the object's single best passage; higher is closer), score_sum (its matching passages added up) and matched_vectors_count. rank_by "score_sum" (default) favours objects matching in many passages; "best_score" favours the one passage closest to the text - use it to find the exact work a text is about. Any language works (the texts are in English). Use it when you have a text and want the objects it is about; with a name or keywords, use search_fts; for the passages that answer a question, use search_sections_semantically. Error index_unavailable: fall back to the search_* full-text tools. | No | Yes | Yes | No |
search_sections_semanticallySearch by MEANING that returns TEXT PASSAGES, not objects: the sections of our texts that answer a question best, whatever words they use, each WHOLE (section_text is never cut), from the requested models - "article" (our articles: how reproductions are made, policies, art history), "museum", "artist", "artwork" (their descriptions / biographies); default all models indexed on this server. Each result: model, object_pk (use it with the matching get_detail_* tool), object_title, object_url, category_code (articles), section_heading, section_text, is_faq_question, score (cosine; higher is closer). Ask in a full sentence; any language works (the texts are in English). Sections are packed best first into about 9,000 characters: sections_omitted_for_size says how many more matched. Use it to answer a question from what our texts say; to find a work, artist or museum by name or keywords, use search_fts; to find the objects a text is about, use search_objects_semantically. Error index_unavailable: fall back to the search_* full-text tools. | No | Yes | Yes | No |
Details
- Registry status
- Active
- Published
- Nov 10, 2026
- Updated
- Nov 10, 2026
- Categories
- Uncategorized
- GDPR
- Not declared