Skip to main content
Glama
mikechao

Met Museum MCP Server

themet logo

Met Museum MCP Server

A Model Context Protocol (MCP) server that provides access to the Metropolitan Museum of Art Collection through natural language interactions. This server allows AI models to search The Met's art collection and have art works available as a Resource.

Features

This server provides AI models the following tools to interact with the art collection of The Met

1. List Departments (list-departments)

Lists all the valid departments at The Met

  • Inputs:

    • None

  • Output:

    Department ID: 1, Display Name: American Decorative Arts Department ID: 3, Display Name: Ancient Near Eastern Art ...

2. Search Museum Objects (search-museum-objects)

Search for various objects in The Met based on the inputs.

  • Inputs:

    • q (string): The search term e.g. sunflowers

    • hasImages (boolean, optional, default: false): Only search for objects with images

    • title (boolean, optional, default: false): Returns objects that match the query, specifically searching against the title field for objects.

    • departmentId (number, optional): Returns objects that are a part of a specific department.

    • page (number, optional, default: 1): 1-based page number for results.

    • pageSize (number, optional, default: 24): Number of Object IDs per page (max 100).

  • Outputs:

    Total objects found: 54 Page: 1/3 Object IDs: 436532, 789578, 436840, 438722,...

3. Get Museum Objects (get-museum-object)

Get a specific object from The Met containing all open access data about that object, including its image (if the image is available under Open Access).

If there is an image it is added to the Resource of the server via the title of the object.

  • Inputs:

    • objectId (number): The id of the object to retrieve

    • returnImage (boolean, optional, default: true): Whether to return the image (if available) of the object and add it to the server resources

  • Outputs:

    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

    If returnImage is true

    **base64 encoding of jpeg image**

4. Open Met Explorer App (open-met-explorer)

Launches an interactive MCP App (ui://met/explorer.html) that can search, filter, and inspect objects from within MCP clients that support Apps.

  • Inputs (all optional):

    • q (string): Initial search term.

    • hasImages (boolean, default: true): Prefer objects with images.

    • title (boolean, default: false): Search titles only.

    • departmentId (number): Pre-select a department filter.

    • objectId (number): Open a specific object directly.

Related MCP server: browser-mcp

Transports

This server supports two transports:

  • Stdio transport (default): Used by MCP desktop clients (Claude Desktop, LibreChat MCP, etc.).

  • Streamable HTTP transport: Run with --http to expose an MCP endpoint at /mcp.

Streamable HTTP Transport

Run with npx (recommended for end users):

npx -y metmuseum-mcp --http

Or run from a local clone:

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

The server listens on:

http://localhost:3001/mcp

You can control HTTP transport behavior with environment variables:

Variable

Default

Description

PORT

3001

HTTP port used by the Streamable HTTP server.

HOST

0.0.0.0

Network interface the HTTP server binds to.

ALLOWED_HOSTS

(unset)

Optional comma-separated host allowlist for host header validation (example: localhost,127.0.0.1,my-domain.com).

Example:

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

Usage with Claude Desktop

Via Desktop Extension (DXT)

  1. Download the dxt file from the Releases

  2. Open it with Claude Desktop or Go to File -> Settings -> Extensions and drag the .DXT file to the window to install it

Via npx

Add this to your claude_desktop_config.json:

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

Usage with LibreChat

Add the following in your librechat.yaml

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

Example queries

Here some questions you can ask the AI model when this server in connected:

Can you show me a few painting 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"?

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development

This project uses pnpm for local development and CI.

corepack enable pnpm install pnpm run build pnpm run check

For non-interactive shells/CI runners, use CI=true pnpm install --frozen-lockfile.

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Disclaimer

This library is not officially associated with The Metropolitan Museum of Art in New York. It is a third-party implementation of the The Metropolitan Museum of Art Collection API with a MCP Server.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikechao/metmuseum-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server