
Phillips MCP server
online · 100% uptimePhillips MCP — realized auction prices from phillips.com.
not scanned yet
0 stars
Reviews
Write oneNobody has reviewed Phillips yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Phillips tools
Tool list not cached yet. `describe` through the gateway fetches it live.
How Phillips compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 73/100
- higher than 38% of 48,243 servers
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 83 ms
- faster than 87% of 30,027 servers
Release history: 5 versions in the registry since 2026-09-08, latest 2026-11-04, typically one every 16 days.
Install Phillips in Claude Code, Cursor or VS Code
claude mcp add --transport http phillips https://gateway.pipeworx.io/phillips/mcp
What the publisher says
From the Phillips repository's README, as published. We do not edit it. Read it on GitHub
@pipeworx/phillips
Realized auction prices from Phillips — look up an artist or maker and get their recent past lots with the price actually paid (hammer plus buyer's premium), the estimate range it sold against, currency, lot and sale number, saleroom, department and sale date; pull full detail for any single lot.
Part of Pipeworx — an MCP gateway connecting AI agents to 1558+ live data sources.
Tools
— realized prices for one maker. Resolves the name against Phillips' own artist index, then reads that maker's artist page. category is a free-text filter matched against department, saleroom, sale number and lot title (e.g. "jewels", "watches", "editions", "photographs", "design", "London"). Pass artist_id from a previous result to skip name resolution entirely.
- phillipsresultssearch(artist?, artistid?, category?, includeupcoming?, limit?)
lotid a phillipsresults_search result carries. Adds the hammer price (before premium) and the full sale name.
- phillipslotdetails(lot_id, slug?) — full detail for one lot, keyed by the
Tool names are house-prefixed on purpose. Bonhams shipped first with bare resultssearch/lotdetails; with three art houses live those two names would collide across packs and askpipeworx routing would have nothing to disambiguate on. New house packs should keep the {house} prefix.
Auth
Keyless. Public pages, no login required.
Data sources
Phillips' keyword search is closed to crawlers — robots.txt (checked 2026-09-05) disallows /Search, /search AND /SEARCH, so all three case variants of the obvious path are out, along with /bin/, /phillips/otis and /*/filter/. This pack therefore does not search at all; it goes by maker, through three paths robots.txt leaves open:
URLs. This is the artist-name → makerId index names are resolved against. Fetched at most once per isolate. The names in it are percent-encoded AND HTML-escaped (Jennifer%20&%20Kevin%20McCoy); take both layers off before you use one, or the URL you build goes out double-encoded and 404s.
- https://www.phillips.com/sitemap.xml — 13,031 /artist/{makerId}/{name}
Realized prices are server-rendered here, and the same rows also ship as JSON in the React.createElement(PhillipsReact.ArtistLanding, {...}) hydration props: the maker prop is a JSON string holding pastLots {currentPage, totalPages, totalCount, resultsPerPage, data[]}. Each row carries hammerPlusBP (the realized price), lowEstimate, highEstimate, currencySign, saleNumber, lotNumber, objectNumber (the lot id) and auctionStartDateTimeOffset. hammerPlusBP is 0 for a lot that did not sell, which is an absent price, not a price of zero.
- https://www.phillips.com/artist/{makerId}/{slug} — the artist landing page.
- https://www.phillips.com/detail/{slug}/{objectNumber} — the lot page.
The {slug} segment of both /artist/ and /detail/ URLs is decorative — any non-empty value resolves the same record, only the numeric id is read.
Coverage ceiling, and why it is there
The artist page serves one page of past lots — 24 rows. Page 2 onward is fetched by the browser from a different host (api.phillips.com), and there is no query parameter that pages the HTML page itself (?page=2, ?p=2 and ?pastLotsPage=2 were each tried and all return page 1). So phillipsresultssearch returns the 24 most recent past lots and reports totalpastlots alongside them, so a caller can see how much archive it is not seeing — Banksy returns 24 of 272, Patek Philippe 24 of 3,728.
Reading the lot page
The lot page is a different stack from the rest of the site (Remix; the state blob is a flattened key-then-value array, not an addressable object), so this pack reads it from three places and prefers the rendered HTML:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Phillips: common questions
- Is Phillips MCP server safe?
- Mostly: it is graded B (73/100). Read the Phillips safety report
- How do I install Phillips?
- It runs remotely at gateway.pipeworx.io. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Phillips need an API key?
- Yes. The registry entry asks for
PIPEWORX_API_KEY. - Is Phillips maintained?
- The last commit was 40 days ago (2026-09-26). The latest release is v0.2.1.
- Is Phillips up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does Phillips compare with other MCP servers?
- safety score 73/100 (higher than 38% of 48,243 servers); uptime 100% (of our recent checks; the typical remote server answers 100%); response time 83 ms (faster than 87% of 30,027 servers). Full comparison.