metmuseum
Met Museum MCP integration to discover the art collection at The Metropolitan Museum of Art in New York
claude mcp add --transport stdio mikechao-metmuseum-mcp npx -y metmuseum-mcp \ --env MET_API_DEBUG="Enable debug logging for schema validation failures (truthy values: 1, true, yes, on)" \ --env MET_API_TIMEOUT_MS="Timeout in milliseconds for outbound requests to the Met Collection API"
How to use
The Met Museum MCP Server provides tools to explore The Met collection through natural language style prompts. It exposes a set of MCP tools including list-departments to enumerate all museum departments, search-museum-objects to query artworks by terms and filters, get-museum-object to fetch detailed data about a specific object (with optional image), and open-met-explorer to launch an interactive browsing app within MCP clients. You can run the server via the npx command and then use these tools within your agent or chat client to discover artworks, refine results, and retrieve object details and imagery. The server supports both stdio transport for desktop clients and a Streamable HTTP transport for web-enabled clients when started with appropriate flags.
How to install
Prerequisites:
- Node.js v18 or later
- npm (comes with Node.js) or pnpm if you prefer
Installation steps:
- Ensure Node.js is installed (visit https://nodejs.org/ and install the LTS release).
- Run the MCP server directly without installing globally:
npx -y metmuseum-mcp
This starts the server using stdio transport by default. If you want to enable the HTTP transport, start with the http flag or use the appropriate configuration as described in the README (see Streamable HTTP Transport section):
npx -y metmuseum-mcp --http
3) Optionally, install locally from source if you are developing or testing changes:
```bash
git clone https://github.com/mikechao/metmuseum-mcp.git
cd metmuseum-mcp
pnpm install
pnpm run build
node dist/index.js --http
Prerequisites recap:
- Node.js v18+
- Access to npm or pnpm as desired
- Network access to fetch the MCP package from npm when using npx
Additional notes
Environment variables:
- MET_API_TIMEOUT_MS: Adjust the timeout for outbound Met API requests. Default is 10000 ms.
- MET_API_DEBUG: Enable verbose debug logs for API/schema validation failures (values like 1, true, yes, on are truthy).
Transport tips:
- The default stdio transport is suitable for most MCP desktop clients (Claude Desktop, LibreChat MCP, etc.).
- To expose an HTTP endpoint for Streamable HTTP transport, run with the --http option (or equivalent as shown in the Transport section of the README). The HTTP server defaults to http://localhost:3001/mcp but can be configured via PORT and HOST env vars.
Common issues:
- If you see transport negotiation errors, ensure you are using a compatible MCP client that supports stdio or the HTTP transport as applicable.
- If image data is missing for get-museum-object, verify the object has Open Access media; some objects may not include an image.
- When using Open Met Explorer App, you can pass initial search terms via q to seed results.
Related MCP Servers
obsidian -tools
Add Obsidian integrations like semantic search and custom Templater prompts to Claude or any MCP client.
mcp
Model Context Protocol (MCP) server for the Webflow Data API.
create -app
A CLI tool for quickly scaffolding Model Context Protocol (MCP) server applications with TypeScript support and modern development tooling
Agentic -Skill
Agentic-MCP, Progressive MCP client with three-layer lazy loading. Validates AgentSkills.io pattern for efficient token usage. Use MCP without pre-install & wasting full-loading
mcp-turso
MCP server for interacting with Turso-hosted LibSQL databases
mcpman
The package manager for MCP servers — install, manage & monitor across Claude Desktop, Cursor, VS Code, Windsurf