{"_id":"@cyanheads/met-museum-mcp-server","_rev":"19-ee287f3377a3fcd71aec701cba0ea5b1","name":"@cyanheads/met-museum-mcp-server","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.1":{"name":"@cyanheads/met-museum-mcp-server","version":"0.1.1","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/met-museum-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.1.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"175aada218f36878525400704390dda2fb6006fb","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.1.1.tgz","fileCount":38,"integrity":"sha512-p8ASzdgm0qp6B3odkcMHNTR1PDZbgT5dRK8xx0QUCaS3U4fcPblnfnmeOGT6QD6QU70mWjel3yY3l0pMORysog==","signatures":[{"sig":"MEUCICKSPsw1kwnSKRO+X5n4OcAXOJQM9sxO1qfVYdvKXp4hAiEA1xaU8TOpobhUrlux3Xsab7BKhbFjhoFeUUob1+arqI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153057},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"175aada218f36878525400704390dda2fb6006fb","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-p8ASzdgm0qp6B3odkcMHNTR1PDZbgT5dRK8xx0QUCaS3U4fcPblnfnmeOGT6QD6QU70mWjel3yY3l0pMORysog==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP server for The Metropolitan Museum of Art collection — 500K+ artworks with metadata, provenance, and open-access high-res images.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.1.1_1780309130396_0.5588242268827806","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cyanheads/met-museum-mcp-server","version":"0.1.2","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/met-museum-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.1.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"723f7c836621572b78c29373936184e80a76e6c9","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.1.2.tgz","fileCount":39,"integrity":"sha512-MF+jC2IZwLt1ZGlV3/7K8RY/ZqplQ0Nxl+qUj8a9N6Vwn77qJfpqyK1OwA4qJ9HgJ3kI8khjv9olmxKs6sY5zg==","signatures":[{"sig":"MEYCIQDAc3Gua5T5rbyyxx8ZR/7njEsQZLy5paTYRTnlzaS+fAIhAP0XOc24I5V9FgBRhugq2muv+qUxSEFMaStNdI8nv3AG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154341},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"723f7c836621572b78c29373936184e80a76e6c9","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-MF+jC2IZwLt1ZGlV3/7K8RY/ZqplQ0Nxl+qUj8a9N6Vwn77qJfpqyK1OwA4qJ9HgJ3kI8khjv9olmxKs6sY5zg==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP server for The Metropolitan Museum of Art collection — 500K+ artworks with metadata, provenance, and open-access high-res images.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.1.2_1780409215408_0.6566449932310621","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cyanheads/met-museum-mcp-server","version":"0.1.3","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/met-museum-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.1.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"0e08e406ae01e09c6268b148b56509def347999d","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.1.3.tgz","fileCount":40,"integrity":"sha512-ryjKJo1zRAXyRA/6llNyHfovVszyoYuNDV9WSd1FOihWyFSNXc8Oe0wMwF6gbGUgfaIKRJp7O2Xd1PgWGhIQ3w==","signatures":[{"sig":"MEUCIQDlAOX7NkIioZyiHfP8RwYyTyj3IUIIySnjGQkzrupUfQIgF4R3FVyq7WhLoQXxZcw5cseU96FkkZXkbeHZRnnBKus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157704},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"0e08e406ae01e09c6268b148b56509def347999d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ryjKJo1zRAXyRA/6llNyHfovVszyoYuNDV9WSd1FOihWyFSNXc8Oe0wMwF6gbGUgfaIKRJp7O2Xd1PgWGhIQ3w==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP server for The Metropolitan Museum of Art collection — 500K+ artworks with metadata, provenance, and open-access high-res images.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.1.3_1780565860293_0.5452155644720265","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cyanheads/met-museum-mcp-server","version":"0.2.0","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/met-museum-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.2.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"9a344a731e39fb47a346db564f6dba9329455755","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.2.0.tgz","fileCount":41,"integrity":"sha512-GlPLMtrwWy/lKEeXbvYmEW3zNhkFNIHlG+AbVFCjiGInzmOTfHRk75A+a5SNLcRiqtuiAXcRS7CZ23X1u8ZOvw==","signatures":[{"sig":"MEQCIBUcHNWFeXbTFxh6l9N6nJZilgjzLkaBjK2Kk0i4YR2JAiAbxh6VM4S/CPDNOTcykyLy5W3sSWcVx/GMc7+ucy/fjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160459},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9a344a731e39fb47a346db564f6dba9329455755","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-GlPLMtrwWy/lKEeXbvYmEW3zNhkFNIHlG+AbVFCjiGInzmOTfHRk75A+a5SNLcRiqtuiAXcRS7CZ23X1u8ZOvw==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP server for The Metropolitan Museum of Art collection — 500K+ artworks with metadata, provenance, and open-access high-res images.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.9.2","@biomejs/biome":"^2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.2.0_1780959811139_0.5688340635429299","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cyanheads/met-museum-mcp-server","version":"0.2.1","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/met-museum-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.2.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"96f470bf58a045bf175e8c564e5b008d77e0cd42","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.2.1.tgz","fileCount":42,"integrity":"sha512-GFWF6NjRUBrYDDWkRjRDtpVIRBjGBbg5OJUgOlNasBGp010RLDQ8TWaJ1M/8WhHZaoWLHt6eNebpTJVsNMYb7A==","signatures":[{"sig":"MEYCIQDphOQrRoiF8i5lqLp6cXJKoXx5avfIjLztsX+5XlFedQIhAKSVuPYL3vukTujVga7qZ4tuyn3xquxkrZtIO/Y6FjXj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163633},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"96f470bf58a045bf175e8c564e5b008d77e0cd42","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-GFWF6NjRUBrYDDWkRjRDtpVIRBjGBbg5OJUgOlNasBGp010RLDQ8TWaJ1M/8WhHZaoWLHt6eNebpTJVsNMYb7A==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP server for The Metropolitan Museum of Art collection — 500K+ artworks with metadata, provenance, and open-access high-res images.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^5.9.3","@types/node":"^25.9.3","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.2.1_1781251257226_0.02272658118563564","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cyanheads/met-museum-mcp-server","version":"0.2.2","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/met-museum-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.2.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"805f6151f74dd53f2e0ece7b37c42233022858d6","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.2.2.tgz","fileCount":43,"integrity":"sha512-rg4ZObHYd12lQnzMhcut4fbbb6eIqozPK3y3rkEPIrHM9DNKlka3tGlHKWMr2Je6jgufICvusajkCnM/234NeA==","signatures":[{"sig":"MEQCIENMuRNTCqV24naLf+lGHfo2lcXWsQSnkQfcaVG95w9MAiA1BrqW9d7Y4Rs9Pxk1d0rEBSoka9ZeXTMlRyOOUryRKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166083},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"805f6151f74dd53f2e0ece7b37c42233022858d6","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-rg4ZObHYd12lQnzMhcut4fbbb6eIqozPK3y3rkEPIrHM9DNKlka3tGlHKWMr2Je6jgufICvusajkCnM/234NeA==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"MCP server for The Metropolitan Museum of Art collection — 500K+ artworks with metadata, provenance, and open-access high-res images.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^5.9.3","@types/node":"^26.0.0","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.2.2_1781957281380_0.18269564691347173","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cyanheads/met-museum-mcp-server","version":"0.2.3","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.2.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"a85be6efe3222a36f7bce07910a9cf5a6943941f","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.2.3.tgz","fileCount":44,"integrity":"sha512-Q0UVbR0bqM6uR205voncP9hgSjmQSl9g8wcqJwpXvJApmN6kqsQJRfgDk6nxHVWcJwDk9xLj8bUL5/yfkuIk1Q==","signatures":[{"sig":"MEYCIQDYbPxAmR5wfJe5sMVEeL0f1Mzn8VTEgN7T4TEmhRBsHAIhAJresTl58tDsHo8MllhddDKmjqjB+6GGNHhWznoc3sAx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a85be6efe3222a36f7bce07910a9cf5a6943941f","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-Q0UVbR0bqM6uR205voncP9hgSjmQSl9g8wcqJwpXvJApmN6kqsQJRfgDk6nxHVWcJwDk9xLj8bUL5/yfkuIk1Q==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.2.3_1784248461005_0.5371041497826252","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cyanheads/met-museum-mcp-server","version":"0.2.4","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.2.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"afb63e1a346e0f4ccb5e1ba0b8f1493ab187a42e","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.2.4.tgz","fileCount":45,"integrity":"sha512-o2gMA1jhHyhYqW6bvfDAf4RsaTa7FCwLbu9vZ9jFQqfemro/CKiSaQ66POBnRmD7zUNbA0l+UEF/my+k2/slcw==","signatures":[{"sig":"MEQCIC5xp2yNXLMH80Faasla+U82HVaXzJagmjhmBsEo6fDqAiBWLotV+MRXBuNc5NYoXvz6GA3jOGkUGgADUJ6Bk7JQrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182290},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"afb63e1a346e0f4ccb5e1ba0b8f1493ab187a42e","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-o2gMA1jhHyhYqW6bvfDAf4RsaTa7FCwLbu9vZ9jFQqfemro/CKiSaQ66POBnRmD7zUNbA0l+UEF/my+k2/slcw==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.2.4_1784251874730_0.14605221795169587","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@cyanheads/met-museum-mcp-server","version":"0.2.5","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.2.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"ac3aa2304d38c232a9755f18d4bf31c4f2b5d8f1","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.2.5.tgz","fileCount":46,"integrity":"sha512-2ZcTD09/G3K+s1uFWSKxX2Lw+jAW8wpEk6ZiusF4UHA03LaUvbm2+23cIM3rNZo7DzruhKmdUf86jGc1ZWQX6A==","signatures":[{"sig":"MEUCIQCSsI8aD29pNBTxfOMJDyQLdNvzhG/870BfybdARKzO5wIgKgcfiG20I1tLH5okFppkKHRKjcF7TrVcSGOKHLxsyYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182413},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"ac3aa2304d38c232a9755f18d4bf31c4f2b5d8f1","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-2ZcTD09/G3K+s1uFWSKxX2Lw+jAW8wpEk6ZiusF4UHA03LaUvbm2+23cIM3rNZo7DzruhKmdUf86jGc1ZWQX6A==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.2.5_1784264531229_0.39417750334064117","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cyanheads/met-museum-mcp-server","version":"0.2.6","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.2.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"56d9ff5b25b588cf7378cd4176eaa7ad23e01943","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.2.6.tgz","fileCount":47,"integrity":"sha512-hwZIpy+VukXFkEuJo1rj4VeAwxBsvQ25HXgDrZJsPfaLpolNSxt9LI2DaNLi1BGL9La8t1Ufc/1QMOdknVJoFw==","signatures":[{"sig":"MEYCIQDGmf7AMj+bGWMot7DpD0rPLlyRp5e2vmViBMygQLVEuAIhALtkNjHKJ+IXiyBuwJdU52GOU7pbW+33/+kPQCkWizNG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186192},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"56d9ff5b25b588cf7378cd4176eaa7ad23e01943","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-hwZIpy+VukXFkEuJo1rj4VeAwxBsvQ25HXgDrZJsPfaLpolNSxt9LI2DaNLi1BGL9La8t1Ufc/1QMOdknVJoFw==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.9","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.2.6_1787435500433_0.017550740089907757","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@cyanheads/met-museum-mcp-server","version":"0.3.0","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.3.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"5220f60bfc5ced92860f9040d382e451b950408d","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.3.0.tgz","fileCount":48,"integrity":"sha512-a+A8+igzBwyQb6T/7mwAoxxm0RlcZva4/OhXOojgCXCFdZDqMZzSCPWrwqmNZraUiEwsvQMLGPZxIQmqLisNhA==","signatures":[{"sig":"MEUCIG4xzosQeRRDBLFX1Azs/qsURzTkHXw3XhdegwNTSFSnAiEA/kz2LH8Rm8ZtwJYBqIc6xwq1aLMG2rRF2fZO5DtYnZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"5220f60bfc5ced92860f9040d382e451b950408d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-a+A8+igzBwyQb6T/7mwAoxxm0RlcZva4/OhXOojgCXCFdZDqMZzSCPWrwqmNZraUiEwsvQMLGPZxIQmqLisNhA==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.8","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.12","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.3.0_1788994583312_0.277697024183321","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@cyanheads/met-museum-mcp-server","version":"0.4.0","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.4.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"913162681c5f94701b3ae57aae75ed0f08a80924","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.4.0.tgz","fileCount":53,"integrity":"sha512-LD/qVxbgJFTW8IvA+MVBDibW1RnglIEud1Iqa7bOQd/IFNAyt8HMaCLdMri9aIK/LO/uvAXZzBfepeCTW0essw==","signatures":[{"sig":"MEQCIF8Lcpa0fcftJo+uns6ZIG5CGSIaLUWTlbbXW7OLfsH1AiArKf3qy7wrfaWQgA/L13kTe7M3tH2rQg7OGfdUoyt+Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211308},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"913162681c5f94701b3ae57aae75ed0f08a80924","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-LD/qVxbgJFTW8IvA+MVBDibW1RnglIEud1Iqa7bOQd/IFNAyt8HMaCLdMri9aIK/LO/uvAXZzBfepeCTW0essw==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.8","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.12","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.4.0_1788998493764_0.004447771615475604","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@cyanheads/met-museum-mcp-server","version":"0.5.0","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.5.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"b0be967b876d028648e9bb3b328b727928dc0342","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.5.0.tgz","fileCount":54,"integrity":"sha512-sUwQcHwrTT9vnNUyyJk/7QeuaSm74hfrAR7Wy6v53x32Rc7Lxotawj+zx8VxzLBiqb+hxjzKWMl9jOK/QayNSw==","signatures":[{"sig":"MEQCIFuHSFF0Zq8/+NAodpE8oB0jkJN5Q0NvpMAbXTFxQpDZAiAgv9k/F6ozzz0/y3fIcAF3Oj5gkqgX87Vf3HCxRCkrEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233277},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"b0be967b876d028648e9bb3b328b727928dc0342","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-sUwQcHwrTT9vnNUyyJk/7QeuaSm74hfrAR7Wy6v53x32Rc7Lxotawj+zx8VxzLBiqb+hxjzKWMl9jOK/QayNSw==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.8","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.12","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.5.0_1789002602870_0.2981051413252749","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@cyanheads/met-museum-mcp-server","version":"0.5.1","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.5.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"1b98f5e9a20c822530bf7a24a3a55d4823e88285","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.5.1.tgz","fileCount":55,"integrity":"sha512-TG1EgVtJI3GbhrcqXOaSehehc5hvBVULhtPUHGKg/cyFE600A0wBaj30OeOyx9WIoR654Uk2LlgNKRknX53rVw==","signatures":[{"sig":"MEQCICpj2msITMlNjctLoHvR8sv+Ss3NtCavxTkE2rVhWfZGAiBmqLeBOVQxDnS/wOZi1Z3e2WKiW0C2CEQsIMX/enJOLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245733},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"1b98f5e9a20c822530bf7a24a3a55d4823e88285","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-TG1EgVtJI3GbhrcqXOaSehehc5hvBVULhtPUHGKg/cyFE600A0wBaj30OeOyx9WIoR654Uk2LlgNKRknX53rVw==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.8","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.12","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.5.1_1789005187899_0.24602918458637513","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@cyanheads/met-museum-mcp-server","version":"0.5.2","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.5.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"3dbc54bc1462d82cd94d0cc60c9ae074e354505a","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.5.2.tgz","fileCount":56,"integrity":"sha512-8n5k+AuqWw8DIWh38S2h3dB/lu+8pm69m1Th95yvUKZr2GRlQHQ8J0PG/OIoEzCawCheOjVKypJQCyENrsqY2w==","signatures":[{"sig":"MEYCIQDoOYHKLY+Noj2zO0QKO18DOLqbrk/1rOq5B408AomCJQIhAM+dfMHwzcZF8qAWCafvLHAewdZ5/5gYUfMcP1Ed9dAI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252356},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3dbc54bc1462d82cd94d0cc60c9ae074e354505a","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts --project tsconfig.build.json","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts --project tsconfig.build.json","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-8n5k+AuqWw8DIWh38S2h3dB/lu+8pm69m1Th95yvUKZr2GRlQHQ8J0PG/OIoEzCawCheOjVKypJQCyENrsqY2w==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.2","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.5.1","@biomejs/biome":"^2.5.13","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.5.2_1789342399845_0.5892948316088016","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@cyanheads/met-museum-mcp-server","version":"0.5.3","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.5.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"bed8ceb1d22f00a37ab98d510d07c9deb90536c9","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.5.3.tgz","fileCount":57,"integrity":"sha512-XJvtt/HFXxb6e31XpsH3j8RlpQ6rKH4xSvJvLZYSg6/DDjdzC0Fg6Yuo6EZUowUdeTvzrZb+AIYf8rpS8QHbfg==","signatures":[{"sig":"MEYCIQCE2l1ki9F45/tDT953MG5b30cK4wYBdITwDRSBCWhprgIhAKY3yAiRa2uSDDuvJXQZzLStA79S+MN1QHag88mcxHCA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH7JmSfbIlbi+k7r49elYGGSx6pbg7Gbb2admgMYaG57AiBv03fKonznJqsNafuwT3YJLCa0I9wF+QqUKyCDy3e/rQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":259089},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"bed8ceb1d22f00a37ab98d510d07c9deb90536c9","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-XJvtt/HFXxb6e31XpsH3j8RlpQ6rKH4xSvJvLZYSg6/DDjdzC0Fg6Yuo6EZUowUdeTvzrZb+AIYf8rpS8QHbfg==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.1","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.5.3_1789839505505_0.7789619754685619","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@cyanheads/met-museum-mcp-server","version":"0.6.0","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.6.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"a4254a88bbfc48b7c6fb0b19315b0b29d1bb1e2d","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.6.0.tgz","fileCount":58,"integrity":"sha512-pDPqdj3eLqamVRV8PCEDCTAYTlMpKfxcICZ9/LLKRSBqNiK5PzUIlPPyw0wJDHyauWC+BwFm4TIr5KHQsQQrLA==","signatures":[{"sig":"MEUCIHTgKZOuRJepMlSYiFI/Am0xqvqv9S5HNy+JQmzzQMkMAiEA3PbWzuHI//L3dMSedn1JplPxczDmhujnGbrbz+s9SwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEmB+xJOV8r1ytAIIfhXQtnHxaFNOiA3XZU3ch704c9KAiA6LjnnMqdro2HS154WieWXUEaSXhDRs0jM5Y4yUAUo6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258011},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a4254a88bbfc48b7c6fb0b19315b0b29d1bb1e2d","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-pDPqdj3eLqamVRV8PCEDCTAYTlMpKfxcICZ9/LLKRSBqNiK5PzUIlPPyw0wJDHyauWC+BwFm4TIr5KHQsQQrLA==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.2","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.6.0_1790312397690_0.4857709898564124","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@cyanheads/met-museum-mcp-server","version":"0.7.0","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/met-museum-mcp-server@0.7.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"bin":{"met-museum-mcp-server":"dist/index.js"},"dist":{"shasum":"feb6161aaca23ffc400f030cf456b6498b4cc34c","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.7.0.tgz","fileCount":67,"integrity":"sha512-trLL23fAvmjJOQhODzXYkLIjEOZj3oYacAde07m7Ix22ainCuOBf8R0LehEC6b7hu5qZAj5nbIqUDHwkImsnjw==","signatures":[{"sig":"MEUCIDEwAvVq69H0GCZfsRPndxp9lBBQHoUyDEglcev6/AG1AiEAmtTPqBCuV22Xeg6PnR9eyYbOeXIVlPnRox8S6odjX2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCU4L9uwU5Y79Eovnvkz1aHTBBXg+odIbzdtvqtwMY7vwIhANfoVd3xB4QuVsWnfs9gJM1yHaNTm+MCnmlUdsJHJTky","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329444},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"feb6161aaca23ffc400f030cf456b6498b4cc34c","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-trLL23fAvmjJOQhODzXYkLIjEOZj3oYacAde07m7Ix22ainCuOBf8R0LehEC6b7hu5qZAj5nbIqUDHwkImsnjw==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, browse it by department or update date, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"ignore":"^7.0.10","vitest":"^5.0.2","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.3","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/met-museum-mcp-server_0.7.0_1790784940622_0.17698417241078035","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"_id":"@cyanheads/met-museum-mcp-server@0.8.0","bin":{"met-museum-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"dist":{"shasum":"af3a5607a6d1b529bfb3e1c52a57f78b2dadc94a","tarball":"https://registry.npmjs.org/@cyanheads/met-museum-mcp-server/-/met-museum-mcp-server-0.8.0.tgz","fileCount":68,"integrity":"sha512-Vo70aN43VWaKxOqWJgK0cKRMP1Kusi+T3hTzLdLkAaTwuwC6fi4YT8zDaUzCo5m6C0/h4++bzUrRc9acK2q+oQ==","signatures":[{"sig":"MEUCIQCVPKnrHcr6IiZ5CmOWrhOG9gQ0W8S6cw4bAsSn0Deg0wIgLlxbO5EFBrPsOgi/5Aonu3cYt5EGChWkxUpTUghIOQE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCvjMj5ZbT/tKIvw8/4a4DScM18IKI4S5AMDl3n/vhodQIgTHWZojiDELdaKi/zZOe8DhCduvvHLQumFnWWyHmq/+8="}],"unpackedSize":393626},"main":"dist/index.js","name":"@cyanheads/met-museum-mcp-server","type":"module","types":"dist/index.d.ts","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"af3a5607a6d1b529bfb3e1c52a57f78b2dadc94a","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"license":"Apache-2.0","mcpName":"io.github.cyanheads/met-museum-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/met-museum-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/met-museum-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check","check-docs-sync":"bun run scripts/check-docs-sync.ts"},"version":"0.8.0","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"_integrity":"sha512-Vo70aN43VWaKxOqWJgK0cKRMP1Kusi+T3hTzLdLkAaTwuwC6fi4YT8zDaUzCo5m6C0/h4++bzUrRc9acK2q+oQ==","repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search the Metropolitan Museum of Art collection, browse it by department or update date, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","directories":{},"maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"ignore":"^7.0.11","vitest":"^5.0.3","depcheck":"^1.4.7","tsc-alias":"^1.9.7","typescript":"^7.0.2","@types/node":"^26.6.3","@biomejs/biome":"^2.5.15","@socketsecurity/bun-security-scanner":"^1.1.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/met-museum-mcp-server_0.8.0_1791120494096_0.4409334823074085"}}},"time":{"created":"2026-06-01T10:18:50.204Z","modified":"2026-10-04T13:28:14.392Z","0.1.1":"2026-06-01T10:18:50.543Z","0.1.2":"2026-06-02T14:06:55.552Z","0.1.3":"2026-06-04T09:37:40.421Z","0.2.0":"2026-06-08T23:03:31.283Z","0.2.1":"2026-06-12T08:00:57.395Z","0.2.2":"2026-06-20T12:08:01.561Z","0.2.3":"2026-07-17T00:34:21.175Z","0.2.4":"2026-07-17T01:31:14.893Z","0.2.5":"2026-07-17T05:02:11.368Z","0.2.6":"2026-08-22T21:51:40.592Z","0.3.0":"2026-09-09T22:56:23.461Z","0.4.0":"2026-09-10T00:01:33.917Z","0.5.0":"2026-09-10T01:10:03.042Z","0.5.1":"2026-09-10T01:53:08.033Z","0.5.2":"2026-09-13T23:33:19.979Z","0.5.3":"2026-09-19T17:38:25.624Z","0.6.0":"2026-09-25T04:59:57.775Z","0.7.0":"2026-09-30T16:15:40.814Z","0.8.0":"2026-10-04T13:28:14.211Z"},"bugs":{"url":"https://github.com/cyanheads/met-museum-mcp-server/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/met-museum-mcp-server#readme","keywords":["met","metropolitan-museum","art","museum","collection","artwork","mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","ai-agent"],"repository":{"url":"git+https://github.com/cyanheads/met-museum-mcp-server.git","type":"git"},"description":"Search the Metropolitan Museum of Art collection, browse it by department or update date, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/met-museum-mcp-server</h1>\n  <p><b>Search the Metropolitan Museum of Art collection, browse it by department or update date, fetch full artwork records and open-access images via MCP. STDIO or Streamable HTTP.</b>\n  <div>4 Tools</div>\n  </p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.8.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/met-museum-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.2.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/met-museum-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/met-museum-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.2%2B-blueviolet.svg?style=flat-square)](https://bun.sh/)\n\n</div>\n\n<div align=\"center\">\n\n[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/met-museum-mcp-server/releases/latest/download/met-museum-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=met-museum-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvbWV0LW11c2V1bS1tY3Atc2VydmVyIl19) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22met-museum-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fmet-museum-mcp-server%22%5D%7D)\n\n[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)\n\n</div>\n\n<div align=\"center\">\n\n**Public Hosted Server:** [https://met-museum.caseyjhand.com/mcp](https://met-museum.caseyjhand.com/mcp)\n\n</div>\n\n---\n\n## Overview\n\nThe Metropolitan Museum of Art's public Collection API. Search the collection by keyword and filters, or browse it by department and update date, then fetch full object records — metadata, provenance, and CC0 open-access images — from any MCP client. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.\n\n### Tools\n\n| Tool | Description |\n|:---|:---|\n| `met_list_departments` | Return all 19 curatorial departments with their numeric IDs and display names |\n| `met_search_collections` | Search the collection by keyword, optionally matched in titles or tags only, with filters for department, date range, medium, geography, image availability, on-view status, and highlight designation |\n| `met_list_objects` | List every object ID in a department, every object created or revised since a date, or both, without a keyword |\n| `met_get_object` | Fetch full records for one or more object IDs — metadata, provenance, artist info, CC0 image URLs, tags, and Wikidata links — optionally with up to 3 CC0 images as image content |\n\n## Capability reference\n\n### `met_list_departments` <sub>tool</sub>\n\n- No input; returns all 19 curatorial departments, each a numeric `departmentId` with its `displayName` (e.g., \"Egyptian Art\")\n- `departmentId` values are the valid input for the `departmentId` filter on `met_search_collections` and `met_list_objects`\n- Typed errors: `upstream_blocked`, `upstream_unavailable` (the Met answered 500/502/503/504 through every retry), and `retry_deadline_exceeded` (the call's time budget ran out)\n\n---\n\n### `met_search_collections` <sub>tool</sub>\n\n- Keyword `q` (required), matched across all text fields unless `matchField` narrows it to `\"title\"` or `\"tags\"`. `\"*\"` matches every object, for a search by filters alone; an accession number from a label ranks its object first. Plus filters: `departmentId`, `medium` (a case-sensitive classification as the Met spells it — `\"Paintings\"`, not `\"Oil on canvas\"`), `dateBegin`/`dateEnd` (integer years, negative = BCE, set together), one `geoLocation`, `hasImages`, `isOnView`, and `isHighlight` (`true` only)\n- `departmentId` 7 (The Cloisters) and 17 (Medieval Art) share one search result set at the Met: each page keeps only the requested department's IDs, while `total` and paging count both, so a page can hold fewer than `limit` IDs; a `notice` says so, and `met_list_objects` gives exact department membership\n- Up to 500 IDs per page (default 20), paged by `offset` / `nextOffset` through the first 10,000 matches only; `total` still reports the full count, with a `notice` when it exceeds 10,000\n- Zero matches is a result, not an error: `total: 0` with a `notice` saying whether the keyword matches nothing or the filters removed every match, and which filters to correct or drop. Every result echoes the applied query as `effectiveQuery`\n- Typed errors: `invalid_date_range`, `invalid_filter` (a blank `q`, `medium`, or `geoLocation`), `invalid_department`, `upstream_blocked`, `upstream_unavailable`, `retry_deadline_exceeded`\n\n---\n\n### `met_list_objects` <sub>tool</sub>\n\n- Filters `departmentId` (from `met_list_departments`) and `updatedSince` (`YYYY-MM-DD` — records created or revised on or after that day), alone or together; with neither, the whole collection (over 500,000 IDs). Up to 500 IDs per page (default 20), in ascending order, paged by `offset` / `nextOffset` with no depth limit\n- Typed errors: `invalid_department`, `invalid_date` (an impossible date such as `2026-02-30`), `upstream_blocked`, `upstream_unavailable`, `retry_deadline_exceeded`; an empty list is a result, not an error, with a `notice` naming the filters, and every result echoes the applied filters as `effectiveQuery`\n- Each list is cached for up to an hour, so a record revised within the last hour may not appear yet\n\n---\n\n### `met_get_object` <sub>tool</sub>\n\n- 1–20 IDs per call, from `met_search_collections` or `met_list_objects`; a repeated ID is fetched and returned once\n- Partial success: per-ID errors land in `failed[]`, and the call fails only when every ID does — `all_not_found` when every ID was a 404, `upstream_blocked` when the Met's firewall refused a request, `retry_deadline_exceeded` when every fetch ran out of the call's time budget, `upstream_unavailable` when a fetch met a Met API outage, and `all_failed` otherwise; records past a 60,000-byte `structuredContent` budget are listed in `deferred[]` with their sizes, to re-request\n- `isPublicDomain` / `hasCC0Image` gate image URLs — non-public-domain objects return empty `primaryImage`, `primaryImageSmall`, and `additionalImages`; sparse fields are empty or null, never fabricated\n- `includeImages: true` attaches the CC0 web-display image (about 600 px on the long edge) of the first 3 returned records that have one, as image content after a caption naming the object, and `images[]` gives each returned record's outcome (`attached`, `no_cc0_image`, `over_cap`, `unavailable`). The bytes ride `content[]` only, so a client that passes the model only `structuredContent` won't show them\n- The Artist line carries the full attribution and role — `artistPrefix` (\"Style of\"), the name, `artistSuffix`, and `artistRole` (\"Patron\") — so a follower's work or a patron never reads as the named artist's own; `rightsAndReproduction` names the rights holder on the copyrighted works that carry one, beside `accessionYear`\n- `metadataDate` is the record's last revision, the timestamp `met_list_objects` `updatedSince` compares; `departmentId` resolves the record's department name (five differ from `met_list_departments`) to the ID `met_list_objects` and `met_search_collections` take, or `null` when the name is not recognized\n- The search index can list IDs the object endpoint no longer serves, so a 404's guidance is to drop the ID rather than search for it again\n\n## Features\n\nBuilt on [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): stdio and Streamable HTTP transports, pluggable auth (`none` / `jwt` / `oauth`), swappable storage (`in-memory`, `filesystem`, `Supabase`, `Cloudflare KV/R2/D1`), structured logging with optional OpenTelemetry tracing.\n\nMet Museum-specific:\n\n- 500K+ artworks spanning 5,000 years from the Met's public collection API\n- CC0 open-access data from [The Metropolitan Museum of Art](https://www.metmuseum.org/) — free to use without permission or attribution\n- Parallel batch fetching with configurable concurrency for `met_get_object`\n- Linked data on every object — Getty ULAN and AAT URLs, Wikidata entity URLs for artists, tags, and works\n- A 403 from the Met's firewall surfaces on every tool as `upstream_blocked`, non-retryable: the block covers the server's address for minutes, so the recovery is to wait and send fewer requests\n- A 500, 502, 503, or 504 that outlasts the retries surfaces on every tool as `upstream_unavailable`; once every fetch in flight has failed without the Met answering any ID, `met_get_object` stops requesting the rest of the batch, so a 5xx outage costs at most `MET_BATCH_CONCURRENCY` × 4 requests (20 at the default) however many IDs were asked for\n- No error carries the Met's HTML or JSON error page — an HTTP failure reaches the caller as its code, message, and status, or, inside a `met_get_object` batch, as that ID's `failed[]` message\n\nAgent-friendly output:\n\n- Provenance on every record — `isPublicDomain` and `hasCC0Image` flags distinguish CC0 objects from works with inaccessible images, so agents can reason about what they can actually display\n- Partial failure reporting — `met_get_object` returns `objects` and `failed` arrays so callers receive successful records alongside structured per-ID error context\n- Truncation signaling — `met_search_collections` and `met_list_objects` return `total`, `returned`, `truncated`, `remaining`, `nextOffset`, and the resolved `offset`; the text marks each page `(truncated)`, `(complete)`, or `(offset beyond result set)`, and search adds `(window end)` for a page that stops at its 10,000-match window short of `total`\n- Byte-budget disclosure — `met_get_object` reports `deferred[]` records with their sizes when a batch exceeds its serialized-response budget, so callers can size a follow-up call precisely\n\n## Getting started\n\n### Public Hosted Instance\n\nA public instance is available at `https://met-museum.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:\n\n```json\n{\n  \"mcpServers\": {\n    \"met-museum-mcp-server\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://met-museum.caseyjhand.com/mcp\"\n    }\n  }\n}\n```\n\n### Self-Hosted / Local\n\nAdd the following to your MCP client configuration file.\n\n```json\n{\n  \"mcpServers\": {\n    \"met-museum-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"bunx\",\n      \"args\": [\"@cyanheads/met-museum-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with npx (no Bun required):\n\n```json\n{\n  \"mcpServers\": {\n    \"met-museum-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cyanheads/met-museum-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"met-museum-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-e\", \"MCP_TRANSPORT_TYPE=stdio\",\n        \"ghcr.io/cyanheads/met-museum-mcp-server:latest\"\n      ]\n    }\n  }\n}\n```\n\nFor Streamable HTTP, set the transport and start the server:\n\n```sh\nMCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http\n# Server listens at http://localhost:3010/mcp\n```\n\n### Prerequisites\n\n- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).\n- No API key required — the Met Collection API is public and unauthenticated.\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/cyanheads/met-museum-mcp-server.git\n```\n\n2. **Navigate into the directory:**\n\n```sh\ncd met-museum-mcp-server\n```\n\n3. **Install dependencies:**\n\n```sh\nbun install\n```\n\n4. **Configure environment:**\n\n```sh\ncp .env.example .env\n# edit .env as needed (all vars are optional)\n```\n\n## Configuration\n\nAll configuration is validated at startup via Zod schemas in `src/config/server-config.ts`.\n\n| Variable | Description | Default |\n|:---|:---|:---|\n| `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http` | `stdio` |\n| `MCP_HTTP_PORT` | HTTP server port | `3010` |\n| `MCP_SESSION_MODE` | HTTP session mode: `auto`, `stateful`, or `stateless`. This server declares `stateless` in `createApp()`, so it applies whenever the variable is unset; an explicit value overrides it. (`auto`, the framework schema default, resolves to `stateful`.) | `stateless` |\n| `MCP_AUTH_MODE` | Authentication: `none`, `jwt`, or `oauth` | `none` |\n| `MCP_LOG_LEVEL` | Log level (`debug`, `info`, `warning`, `error`) | `info` |\n| `LOGS_DIR` | Directory for log files (Node.js only) | `<project-root>/logs` |\n| `LOG_TOOL_FAILURE_PAYLOADS` | Log each failed tool call's arguments and result, redacted by key name and capped at `LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTES` (default `16384`). A secret inside a free-form value is not redacted. | `false` |\n| `OTEL_ENABLED` | Enable OpenTelemetry instrumentation | `false` |\n| `MET_BASE_URL` | Met Collection API root; each endpoint appends its own version (`/v1.1/search`, `/v1/objects`, `/v1/objects/{id}`, `/v1/departments`). A value ending in `/v1` or `/v1.1` is read as its root. Override for local stubs. | `https://collectionapi.metmuseum.org/public/collection` |\n| `MET_REQUEST_TIMEOUT_MS` | Per-request HTTP timeout in milliseconds | `10000` |\n| `MET_CALL_DEADLINE_MS` | Wall-clock budget in milliseconds for one tool call, shared by every Met API request it makes, retries and backoff included. A call that runs out fails with `Timeout` (`-32004`), `data.reason: 'retry_deadline_exceeded'`; in `met_get_object` the affected IDs land in `failed[]`, and a batch that fetched nothing because every ID ran out fails with that reason. | `30000` |\n| `MET_BATCH_CONCURRENCY` | Max parallel fetches in `met_get_object` | `5` |\n\nSee [`.env.example`](./.env.example) for the full list of optional overrides.\n\n## Running the server\n\n### Local development\n\n- **Build and run:**\n\n  ```sh\n  # One-time build\n  bun run rebuild\n\n  # Run the built server\n  bun run start:stdio\n  # or\n  bun run start:http\n  ```\n\n- **Run checks and tests:**\n\n  ```sh\n  bun run devcheck   # Lint, format, typecheck, security\n  bun run test       # Vitest test suite\n  bun run lint:mcp   # Validate MCP definitions against spec\n  ```\n\n### Docker\n\n```sh\ndocker build -t met-museum-mcp-server .\ndocker run --rm -p 3010:3010 met-museum-mcp-server\n```\n\nThe Dockerfile defaults to HTTP transport, stateless session mode, and logs to `/var/log/met-museum-mcp-server`. OpenTelemetry peer dependencies are installed by default — build with `--build-arg OTEL_ENABLED=false` to omit them.\n\n## Project structure\n\n| Directory | Purpose |\n|:---|:---|\n| `src/index.ts` | `createApp()` entry point — registers tools and inits the Met service. |\n| `src/config` | Server-specific environment variable parsing and validation with Zod. |\n| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`) — `met_list_departments`, `met_search_collections`, `met_list_objects`, `met_get_object`. |\n| `src/services/met` | Met Collection API client — HTTP, call deadline, response normalization, cached object-ID lists. |\n| `tests/` | Unit and integration tests mirroring `src/`. |\n\n## Development guide\n\nSee [`CLAUDE.md`](./CLAUDE.md) for development guidelines and architectural rules. The short version:\n\n- Handlers throw, framework catches — no `try/catch` in tool logic\n- Use `ctx.log` for request-scoped logging, `ctx.state` for tenant-scoped storage\n- Register new tools via the arrays in `createApp()` in `src/index.ts`\n- Wrap external API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields\n\n## Contributing\n\nIssues are welcome. Run checks and tests before submitting:\n\n```sh\nbun run devcheck\nbun run test\n```\n\n## Data attribution\n\nData from [The Metropolitan Museum of Art Collection API](https://metmuseum.github.io/) (CC0).\n\n## License\n\nApache-2.0 — see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}