mcpField
P
Phillips

Phillips

远程服务
pipeworx.io商业与营销05 周前更新

关于 Phillips

为艺术品市场研究者提供 Phillips 拍卖成交信息的 MCP 服务。它按艺术家查询近期已成交拍品,并提供成交价、估价及拍品详情;结果覆盖页面显示的最近 24 件拍品。

主要功能

  1. 01按艺术家查询近期成交
  2. 02按类别筛选拍品
  3. 03返回成交价与估价范围
  4. 04获取单件拍品详情

适用场景

  1. 01查看艺术家的近期拍卖价格
  2. 02按部门或拍品关键词筛选结果
  3. 03核对拍品成交价和拍卖信息

MCP 相关

将 Phillips 拍卖结果搜索和拍品详情作为 MCP 工具提供,也可作为本地 stdio MCP 服务运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/phillips/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

@pipeworx/phillips

Phillips 的成交价——查询艺术家或制作者,获取其近期已成交拍品的实际支付价格(落槌价加买家佣金)、成交时的估价范围、货币、拍品和拍卖编号、拍卖厅、部门及拍卖日期;还可获取任意单件拍品的完整详情。

属于 Pipeworx——一个将 AI Agent 连接到 1683+ 个实时数据源的 MCP 网关。

工具

  • phillips_results_search(artist?, artist_id?, category?, include_upcoming?, limit?) — 查询一位制作者的成交价。通过 Phillips 自有的艺术家索引解析姓名,然后读取该制作者的艺术家页面。category 是自由文本筛选条件,会与部门、拍卖厅、拍卖编号和拍品标题进行匹配(例如 "jewels"、"watches"、"editions"、"photographs"、"design"、"London")。传入先前结果中的 artist_id 可完全跳过姓名解析。
  • phillips_lot_details(lot_id, slug?) — 获取单件拍品的完整详情,使用 phillips_results_search 结果中携带的 lot_id 作为键。会补充落槌价 (不含佣金)和完整拍卖名称。

工具名称有意添加拍卖行前缀。Bonhams 最先上线,使用了不带前缀的 results_search/lot_details;现在有三家艺术品拍卖行上线,这两个名称会在不同工具包之间冲突,而且 ask_pipeworx 路由也无法据此消除歧义。新的拍卖行工具包应继续使用 {house}_ 前缀。

身份验证

无需密钥。页面公开,无需登录。

数据来源

Phillips 的关键词搜索不允许爬虫访问——robots.txt(于 2026-09-05 检查)禁止访问 /Search、/search 和 /SEARCH,因此显而易见路径的这三种大小写形式都无法使用,/bin/、/phillips/otis 和 /*/filter/ 也一样。因此,此工具包完全不进行搜索,而是通过制作者查询,并使用 robots.txt 允许访问的三条路径:

  • https://www.phillips.com/sitemap.xml — 包含 13,031 个 /artist/{makerId}/{name} URL。这是用于解析姓名的艺术家姓名 → makerId 索引。 每个 isolate 最多获取一次。其中的姓名经过百分号编码且经过 HTML 转义(Jennifer%20&%20Kevin%20McCoy);使用前要去掉这两层编码,否则生成的 URL 会被重复编码并返回 404。
  • https://www.phillips.com/artist/{makerId}/{slug} — 艺术家落地页。 成交价由服务器在此处渲染,同样的数据行也以 JSON 形式包含在 React.createElement(PhillipsReact.ArtistLanding, {...}) 水合属性中:maker 属性是一个 JSON 字符串,其中包含 pastLots {currentPage, totalPages, totalCount, resultsPerPage, data[]}。 每行包含 hammerPlusBP(成交价)、lowEstimate、 highEstimate、currencySign、saleNumber、lotNumber、objectNumber (拍品 ID)和 auctionStartDateTimeOffset。未成交拍品的 hammerPlusBP 为 0,这表示没有价格,而非价格为零。
  • https://www.phillips.com/detail/{slug}/{objectNumber} — 拍品页面。

/artist/ 和 /detail/ URL 中的 {slug} 段只是装饰性内容——任何非空值都会解析到同一条记录,系统只读取数字 ID。

覆盖上限及原因

艺术家页面只提供一页已结束拍卖的拍品——24 行。第 2 页及后续页面由浏览器从另一个主机(api.phillips.com)获取,而且 HTML 页面本身没有可用于翻页的查询参数(已分别尝试 ?page=2、?p=2 和 ?pastLotsPage=2,但都返回第 1 页)。因此, phillips_results_search 会返回最近的 24 件已结束拍卖的拍品,并同时报告 total_past_lots,以便调用方了解未能看到的档案数量——Banksy 返回 272 件中的 24 件,Patek Philippe 返回 3,728 件中的 24 件。

阅读拍品页面

拍品页面采用了与网站其余部分不同的技术栈(Remix;状态数据块是按键值排列的扁平数组,而非可寻址对象),因此此工具包会从三个位置读取数据,并优先采用渲染后的 HTML:

  • JSON-LD Product — 标题、制造商、图片、货币、已售/未售。请注意,offers.price 是低估价,并非实际成交价;不要将其视为成交价。
  • 渲染后的 HTML — Sold For {cur}{amount} 和 Estimate {cur}{low}–{high}。估价必须从这里获取:状态数据块中唯一的 lowEstimate/highEstimate 键值对属于页面的货币换算表,因此读取它会得到一个看似合理、但货币错误的数字(某件实际估价为 £60,000–80,000 的拍品会显示为 HK$622,000–830,000)。
  • 状态数据块,仅用于获取其他位置都没有的两个字段 — hammerPrice 和 auctionStartDateTime。由于扁平数组中键与值不一定相邻,如果落槌价高于实际成交价,就会舍弃而不返回。
拍卖编号编码了部门和拍卖地点

拍卖编号格式为 {2-letter saleroom}{2-digit department}{2-digit sequence}{2-digit year} — UK010526 表示伦敦、部门 01、第 05 场拍卖、2026 年。以下部门对应关系根据 /auctions/past 中列出的全部 892 场往届拍卖(截至 2026-09-05)推导并核对:01 现代与当代艺术,03 版画与纸本作品,04 摄影,05 设计,06 珠宝,07 版画、摄影与设计,08 腕表。00 和 09 不是部门 — 它们是跨部门举办的拍卖形式(特别拍卖/合作拍卖和在线拍卖),因此会标记为拍卖形式,而不会猜测其部门。已见拍卖地点代码:NY 纽约,UK 伦敦,HK 香港,CH/GE 日内瓦。

相关工具包

@pipeworx/bonhams 和 @pipeworx/sothebys 涵盖另外两家拍卖行的相同问题。Christie's 不在范围内(已关闭,使用内部 API)。

快速开始

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "phillips": {
      "url": "https://gateway.pipeworx.io/phillips/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/phillips/mcp 上的 tools/list 会返回上表中的工具,以及共享的 Pipeworx 元工具 — ask_pipeworx、discover_tools、search_within、remember/recall 以及网关范围内的其余工具。因此,你看到的工具数量会多于表格中的数量:单个工具包端点目前会在该工具包自有工具之外列出大约 30 个共享工具。连接的 initialize 响应会说明其确切范围,这是了解特定日期工具范围的权威依据。

这是刻意设计的,并非意外的多路复用。元工具可以让限定范围的连接通过 ask_pipeworx 跨整个目录路由,从而回答本工具包无法涵盖的问题,而无需再添加第二个 MCP 服务。目前无法在不包含这些元工具的情况下挂载工具包端点;如果额外的架构定义消耗的上下文超过路由功能带来的价值,请改为只连接一次完整网关,而不是连接多个工具包端点。

也可以连接到完整的 Pipeworx 网关,直接获取每个工具包列出的所有工具,而不只是当前工具包的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

两个 URL 都连接到同一个网关和相同的 1683+ 个数据源。唯一的区别是哪些工具包的工具会被直接列出;无论连接哪一个,ask_pipeworx 都可以访问所有工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/phillips_results_search \
  -H 'Content-Type: application/json' \
  -d '{"artist":"Banksy","limit":5}'

首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/phillips_results_search。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。

独立运行(无需网关账户)

此软件包也可作为本地 stdio MCP 服务运行,无需 Pipeworx 账户,也无需经过网关往返:

{
  "mcpServers": {
    "phillips": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-phillips"]
    }
  }
}

也可以直接运行,确认它能正常启动:

npx -y @pipeworx/mcp-phillips

它通过 stdin/stdout 使用 MCP 通信,并针对仅限此软件包的工具响应 initialize/tools/list/tools/call——不包含上方网关连接所添加的任何共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。

使用 ask_pipeworx

你也可以用通俗的英语提问,而不是直接调用工具——这既适用于上方的软件包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Phillips data" })

网关会选择合适的工具并自动填写参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。