MCP.Market

Phillips MCP server

online · 100% uptime
by pipeworx-io·io.github.pipeworx-io/phillips·v0.2.1

Phillips MCP — realized auction prices from phillips.com.

B73/100grade B
What users say
No reviews yet
Be the first
Safety scan
B73/100

not scanned yet

Adoption
Growing

0 stars

Reviews

Write one

Nobody 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.

Not scanned yet. New listings are scanned within a day or two of arriving.

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
Add to Cursor

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.

More from pipeworx-io →