
How to add Met Museum MCP Server to Windsurf
Search and explore The Metropolitan Museum of Art collection, including artwork details and images, via natural language. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 30★ · stdio · no auth
Windsurf config for Met Museum MCP Server
npx -y metmuseum-mcp{
"mcpServers": {
"met-museum-mcp-server": {
"command": "npx",
"args": [
"-y",
"metmuseum-mcp"
]
}
}
}Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Met Museum MCP Server config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Met Museum MCP Server's tools become available to Cascade.
Before you start
- Node.js v18 or later
What Met Museum MCP Server can do in Windsurf
list-departmentsLists all the valid departments at The Met, each with a Department ID and display name. Takes no inputs.
search-museum-objectsSearches for objects in The Met by a query term. Optional filters: hasImages (only objects with images), title (match against the title field only), departmentId (restrict to a department), and paginated results via page and pageSize (max 100). Returns the total count and a list of matching object IDs.
get-museum-objectRetrieves a specific object by objectId with all open-access data (title, artist, bio, department, credit line, medium, dimensions, primary image URL, tags). If returnImage is true (default) and an image is available under Open Access, the image is included as a base64-encoded JPEG content block.
open-met-explorerLaunches the interactive Met Explorer MCP App (ui://met/explorer.html) to search, filter, and inspect objects from within MCP clients that support Apps. All inputs optional: q (initial search term), hasImages (default true), title (search titles only), departmentId (pre-select a department filter).
Security
No API key or authentication is required; the server calls the public Met Collection API anonymously. When run with the Streamable HTTP transport (--http), the server binds to 127.0.0.1 by default and validates the Host header against an allowlist (ALLOWED_HOSTS, default localhost,127.0.0.1); review HOST/PORT/ALLOWED_HOSTS before exposing it beyond localhost.
Met Museum MCP Server + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Met Museum MCP Server config there under the "mcpServers" key and restart the client.
Is Met Museum MCP Server safe to use with Windsurf?
No API key or authentication is required; the server calls the public Met Collection API anonymously. When run with the Streamable HTTP transport (--http), the server binds to 127.0.0.1 by default and validates the Host header against an allowlist (ALLOWED_HOSTS, default localhost,127.0.0.1); review HOST/PORT/ALLOWED_HOSTS before exposing it beyond localhost.
Do I need an API key or account?
No. The server uses the public Met Collection API anonymously, so no API key or authentication is required.
Is this an official Metropolitan Museum of Art project?
No. It is a third-party implementation of the public Met Collection API and is not officially associated with The Metropolitan Museum of Art.
Can I use it with ChatGPT or other HTTP clients?
Yes. Run the server with the --http flag (npx -y metmuseum-mcp --http) to expose a Streamable HTTP MCP endpoint at http://localhost:3001/mcp, then connect it as a connector (for ChatGPT, typically via a tunnel such as ngrok).