mcpField
M
Met Museum MCP Server

Met Museum MCP Server

本地服务
github.com/mikechao游戏娱乐3526 周前更新

关于 Met Museum MCP Server

Met Museum MCP Server 是一个 MCP 服务,让 AI 模型可以检索大都会艺术博物馆(The Met)的馆藏并查看作品详情,包括可用的图片。适合希望通过自然语言浏览馆藏的用户和开发者。该项目为第三方实现,与大都会艺术博物馆没有官方关联。

主要功能

  1. 01按关键词搜索馆藏作品
  2. 02按部门列出馆藏分类
  3. 03获取作品的开放获取数据
  4. 04返回作品图片(Base64 编码 JPEG)
  5. 05提供 MCP App 交互式浏览界面

适用场景

  1. 01检索某位艺术家的相关作品
  2. 02按部门浏览馆藏展品
  3. 03查询特定作品的详细信息和图片

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端提供 list-departments、search-museum-objects、get-museum-object 和 open-met-explorer 等工具,其中 open-met-explorer 会启动交互式 MCP App。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"metmuseum": {
"command": "npx",
"args": [
"-y",
"metmuseum-mcp"
]
}
}
}
启动命令npx -y metmuseum-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmetmuseum-mcp

工具

4

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

大都会艺术博物馆标志

Met Museum MCP 服务

一个模型上下文协议(MCP)服务,可通过自然语言交互访问大都会艺术博物馆的馆藏。此服务允许 AI 模型搜索 The Met 的艺术品馆藏,并通过工具结果获取艺术品详情(包括图像)。

Met Museum MCP 服务

MseeP.ai 安全评估徽章

已在 MseeP 上验证

目录

托管部署

可在 Fronteir AI 上使用托管部署。

功能

此服务为 AI 模型提供以下工具,以便与 The Met 的艺术品馆藏进行交互:

1. 列出部门(list-departments)

列出 The Met 的所有有效部门

  • 输入:
    • 无
  • 输出:
    Department ID: 1, Display Name: American Decorative Arts
    Department ID: 3, Display Name: Ancient Near Eastern Art
    ...
    
2. 搜索博物馆藏品(search-museum-objects)

根据输入搜索 The Met 的各类藏品。

  • 输入:

    • q(字符串):搜索词,例如 sunflowers
    • hasImages(布尔值,可选,默认值:false):仅搜索带有图像的藏品
    • title(布尔值,可选,默认值:false):返回与查询匹配的藏品,具体来说,是在藏品的标题字段中进行搜索。
    • departmentId(数字,可选):返回属于指定部门的藏品。
    • page(数字,可选,默认值:1):结果页码,从 1 开始。
    • pageSize(数字,可选,默认值:24):每页的藏品 ID 数量(最多 100 个)。
  • 输出:

    Total objects found: 54
    Page: 1/3
    Object IDs: 436532, 789578, 436840, 438722,...
    
3. 获取博物馆藏品(get-museum-object)

获取 The Met 的特定藏品,其中包含该藏品的所有开放访问数据,包括其图像(如果该图像符合 Open Access 开放访问条件)。

如果有图像且 returnImage 为 true,则会在工具结果中以图像内容块的形式返回(经 base64 编码的 JPEG)。

当用户询问某件特定艺术品的更多详情,且你已经有其 objectId 时,请使用此工具。

  • 输入:
    • objectId(数字):要获取的藏品 ID
    • returnImage(布尔值,可选,默认值:true):是否在工具结果中包含藏品的图像(如果有)
  • 输出:
    Title: Self-Portrait with a Straw Hat (obverse: The Potato Peeler)
    Artist: Vincent van Gogh
    Artist Bio: Dutch, Zundert 1853–1890 Auvers-sur-Oise
    Department: European Paintings
    Credit Line: Bequest of Miss Adelaide Milton de Groot (1876-1967), 1967
    Medium: Oil on canvas
    Dimensions: 16 x 12 1/2 in. (40.6 x 31.8 cm)
    Primary Image URL: https://images.metmuseum.org/CRDImages/ep/original/DT1502_cropped2.jpg
    Tags: Men, Self-portraits
    
    如果 returnImage 为 true
    **base64 encoding of jpeg image**
    
4. 打开 Met Explorer 应用(open-met-explorer)

启动交互式 MCP 应用(ui://met/explorer.html),可在支持 Apps 的 MCP 客户端中搜索、筛选和查看对象。

推荐流程:

  • 使用 open-met-explorer 启动应用并浏览实时搜索结果(传入 q 可立即开始搜索)。

  • 根据当前结果创建精选列表后,仅对用户想深入了解的项目使用 get-museum-object。

  • 输入(均为可选):

    • q(字符串):初始搜索词。
    • hasImages(布尔值,默认值:true):优先显示带图片的对象。
    • title(布尔值,默认值:false):仅搜索标题。
    • departmentId(数字):预先选择部门筛选条件。
  • 输出:

    Opens the Met Explorer app in the client UI.
    

MCP Apps

观看演示
▶️ 点击观看演示视频

此 MCP 服务现已支持 MCP Apps。Open Met Explorer App 工具和 Get Museum Object 工具均提供 UI 组件。

先决条件

快速开始

直接使用 npx 运行服务,无需安装:

npx -y metmuseum-mcp

这会通过 stdio 传输启动服务,这是大多数 MCP 桌面客户端所需的传输方式。

有关特定客户端的设置,请参阅:

配置

以下环境变量适用于所有传输方式:

变量默认值说明
MET_API_TIMEOUT_MS10000向 Met Collection API 发送请求的超时时间(毫秒)。
MET_API_DEBUGfalse在 stderr 中启用模式验证失败的调试日志(接受的真值:1、true、yes、on)。

传输方式

此服务支持两种传输方式:

  • stdio 传输(默认): MCP 桌面客户端(Claude Desktop、LibreChat MCP 等)使用。
  • Streamable HTTP 传输: 使用 --http 在 /mcp 暴露 MCP 端点。
Streamable HTTP 传输

使用 npx 运行(推荐最终用户使用):

npx -y metmuseum-mcp --http

或从本地克隆版本运行:

pnpm run build
node dist/index.js --http

服务将监听:

http://localhost:3001/mcp

你可以使用环境变量控制 HTTP 服务的行为:

变量默认值说明
PORT3001Streamable HTTP 服务使用的 HTTP 端口。
HOST127.0.0.1HTTP 服务绑定的网络接口。
ALLOWED_HOSTSlocalhost,127.0.0.1用于验证 host 标头的逗号分隔主机允许列表(示例:localhost,127.0.0.1,my-domain.com)。

示例:

HOST=127.0.0.1 PORT=8080 ALLOWED_HOSTS=localhost,127.0.0.1 npx -y metmuseum-mcp --http

与 ChatGPT 配合使用

以下步骤可让你在 ChatGPT 网页界面中使用 Met Museum MCP。

1. 在 ChatGPT 中启用开发者模式

设置 → 应用 → 高级设置 → 开发者模式

其他说明请参阅此处

2. 使用 Streamable HTTP 传输运行 Met Museum MCP 服务
npx -y metmuseum-mcp --http

默认情况下,服务将监听 http://127.0.0.1:3001/mcp

3. 创建本地隧道,将 MCP 服务开放给 ChatGPT

注册并配置 ngrok,免费方案即可使用。

ngrok http http://127.0.0.1:3001 --host-header=rewrite

记下转发 URL。

...
Forwarding                    https://john-joe-asdf.ngrok-free.dev -> http://localhost:3001
...
4. 将 Met Museum MCP 添加为 ChatGPT 的连接器

打开 ChatGPT 应用设置

点击应用

点击创建应用

填写表单时,将第 3 步中的 URL 用作 MCP 服务 URL,并在末尾添加 /mcp。

https://john-joe-asdf.ngrok-free.dev/mcp

对于身份验证,选择“无身份验证”

勾选“我已了解并希望继续”复选框

然后点击创建。

5. 使用 Met Museum MCP 服务

在提示词输入框中,你可以使用 @第3步中的服务器名称;或者 在 ChatGPT 界面中,点击“+”按钮,滚动到“...更多”,选择新创建的 Met 应用,然后输入你的查询。

在 Claude Desktop 中使用

通过 MCP Bundle(MCPB)
  1. 从 Releases 下载 mcpb 文件
  2. 使用 Claude Desktop 打开它 或者 前往文件 -> 设置 -> 扩展程序,并将 .mcpb 文件拖到窗口中进行安装
通过 npx

将以下内容添加到你的 claude_desktop_config.json:

{
  "mcpServers": {
    "met-museum": {
      "command": "npx",
      "args": [
        "-y",
        "metmuseum-mcp"
      ]
    }
  }
}

在 LibreChat 中使用

在你的 librechat.yaml 中添加以下内容

mcpServers:
  metmuseum:
    command: npx
    args:
      - -y
      - metmuseum-mcp

示例查询

连接此服务后,你可以向 AI 模型提出以下问题:

Can you help me explore the works of Vincent Van Gogh?
Can you help me explore the Met?
Can you show me a few paintings from the Asian Art department?
Can you find the painting titled "Corridor in the Asylum"?
Can you find any art that has "cat" in the title or features "cats"?

开发

此项目使用 pnpm 进行本地开发和 CI。

corepack enable
pnpm install
pnpm run build
pnpm run check

对于非交互式 Shell/CI 运行器,请使用 CI=true pnpm install --frozen-lockfile。

贡献

欢迎贡献!欢迎提交 Pull Request。

许可证

此 MCP 服务采用 MIT 许可证。这意味着你可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。

免责声明

此库与纽约大都会艺术博物馆没有官方关联。它是 大都会艺术博物馆馆藏 API 的第三方实现,并提供 MCP 服务。

评论

支持 Markdown

第一次接触 MCP?

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

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