{"_id":"@modelcontextprotocol/express","_rev":"22-d314871f7bc42cf7b81705ee8f637904","name":"@modelcontextprotocol/express","dist-tags":{"alpha":"2.0.0-alpha.4","latest":"2.0.1"},"versions":{"2.0.0-alpha.2":{"name":"@modelcontextprotocol/express","version":"2.0.0-alpha.2","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0-alpha.2","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paulcarletonjr@gmail.com"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"experimentalworks@gmail.com"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik","email":"olivier.chafik@gmail.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"8a48561f7f488ad5f976ac73fdf269fef06f560e","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0-alpha.2.tgz","fileCount":7,"integrity":"sha512-TlTUFnpUCH3dqegSnAZpCe+pn4fM43tow0KLRa3QTTWaC/jctsl51QQykqXHse5UhBpqGw+QF1rLfWOwEI9PPw==","signatures":[{"sig":"MEYCIQDSNRfxS1F1QksN0ACEBT7t4PsP1YdPRv+P+OaRHY3U/QIhALTkJq5/oHks/t0XKIdlJayXnSgDR02X/p1RF9rdp/iJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0-alpha.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30651},"type":"module","_from":"file:modelcontextprotocol-express-2.0.0-alpha.2.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/269a673d6b6c67c5ac11760b6f0e07d5/modelcontextprotocol-express-2.0.0-alpha.2.tgz","_integrity":"sha512-TlTUFnpUCH3dqegSnAZpCe+pn4fM43tow0KLRa3QTTWaC/jctsl51QQykqXHse5UhBpqGw+QF1rLfWOwEI9PPw==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.9.0","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.14.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0-alpha.2","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^5.2.1","@modelcontextprotocol/server":"^2.0.0-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0-alpha.2_1775061838651_0.8660798759732773","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-alpha.3":{"name":"@modelcontextprotocol/express","version":"2.0.0-alpha.3","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0-alpha.3","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"2e002040724496811d98b14452a075b846eca98b","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0-alpha.3.tgz","fileCount":7,"integrity":"sha512-nH/Ifcy1yyQ+UZYrSC+fixLOj2GieH/ospASXsR5H55r39J/seVw1gGaPeqUkIYTFeDZ7ErREOc7iv1BTBb2Xw==","signatures":[{"sig":"MEUCID3JaSAiRJsOm7CHEUnPbo6cFXscJS7RhMocCG71d5yrAiEAvp/at/+6J4GgyI0M5V/acW8O8b74lYRA6o1nk6lccV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0-alpha.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58550},"type":"module","_from":"file:modelcontextprotocol-express-2.0.0-alpha.3.tgz","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/4df8f523ab92dfb9c43ca372c8f8aef4/modelcontextprotocol-express-2.0.0-alpha.3.tgz","_integrity":"sha512-nH/Ifcy1yyQ+UZYrSC+fixLOj2GieH/ospASXsR5H55r39J/seVw1gGaPeqUkIYTFeDZ7ErREOc7iv1BTBb2Xw==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.17.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0-alpha.3","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.0.0-alpha.3"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0-alpha.3_1782416773872_0.15425345431845905","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-alpha.4":{"name":"@modelcontextprotocol/express","version":"2.0.0-alpha.4","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0-alpha.4","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"792399817197c0282a504fea180772517f57dd2d","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0-alpha.4.tgz","fileCount":7,"integrity":"sha512-JuImZbpqcK8s2hXsU99Ws+hSHl5tlGooBuLh2EyxSCJeqBiHqXkt/YLu/kZlkaN1mIZy4xLzyA35ZXoJxjedKw==","signatures":[{"sig":"MEYCIQCG6CareR7gMl4Xb6Nw4glSrpxBR7n+bSHOWxcEqR5rIQIhAM5hqIoM4iJi1O6Sbd7Zw3WlztSTP5zT8fZev0gHfZBN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0-alpha.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66086},"type":"module","_from":"file:modelcontextprotocol-express-2.0.0-alpha.4.tgz","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/98b77df548b1e9462886a89005113437/modelcontextprotocol-express-2.0.0-alpha.4.tgz","_integrity":"sha512-JuImZbpqcK8s2hXsU99Ws+hSHl5tlGooBuLh2EyxSCJeqBiHqXkt/YLu/kZlkaN1mIZy4xLzyA35ZXoJxjedKw==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.17.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0-alpha.4","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.0.0-alpha.4"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0-alpha.4_1782853216520_0.43116986176956784","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.1":{"name":"@modelcontextprotocol/express","version":"2.0.0-beta.1","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0-beta.1","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"4749fb163a7899ccec04e1d81139d0265b046b30","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0-beta.1.tgz","fileCount":7,"integrity":"sha512-ollDfegguMmJO4lv9UPJBvywsEiVDAgAJ5oWxqvcCyxRmu37axRszxi/MGRCRkLxveIXRDCsPXg9HY8/5C6pXA==","signatures":[{"sig":"MEYCIQCqhVlnZp7NXze6LPXbYtaUvdN/pPShDHR4H5UcOdQPxAIhAMeo4GHoSPrhIiMYI+OCRjbqQs6KVYRGM4DcswC79UOU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66083},"type":"module","_from":"file:modelcontextprotocol-express-2.0.0-beta.1.tgz","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/1294904f3dc9b0e68491bc598e160854/modelcontextprotocol-express-2.0.0-beta.1.tgz","_integrity":"sha512-ollDfegguMmJO4lv9UPJBvywsEiVDAgAJ5oWxqvcCyxRmu37axRszxi/MGRCRkLxveIXRDCsPXg9HY8/5C6pXA==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.17.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0-beta.1","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.0.0-beta.1"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0-beta.1_1782859696591_0.2142396440564931","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.2":{"name":"@modelcontextprotocol/express","version":"2.0.0-beta.2","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0-beta.2","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"5ebf9a19b42cc16781637a9832574252d1da15f8","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0-beta.2.tgz","fileCount":11,"integrity":"sha512-68JKVnCVhaiws14LpxWbFI2KW0iBMIb1DXJ/otNVwLZHWeVv/33PZ+lc8wl1wGRwRoMMPJVDvKo5oPWylCw85A==","signatures":[{"sig":"MEUCIQD6D99sk8lW6Nj9CnAiJqCFOtj31eQGDpiX64kr9fyPEgIgRLjHHw6QcxLWZJCkJ4AO0UdaYSrv4dpfBaKb1ZgjZRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117613},"main":"./dist/index.cjs","type":"module","_from":"file:modelcontextprotocol-express-2.0.0-beta.2.tgz","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/e71441c182f7090f50430f840587f090/modelcontextprotocol-express-2.0.0-beta.2.tgz","_integrity":"sha512-68JKVnCVhaiws14LpxWbFI2KW0iBMIb1DXJ/otNVwLZHWeVv/33PZ+lc8wl1wGRwRoMMPJVDvKo5oPWylCw85A==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0-beta.2","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.0.0-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0-beta.2_1782995259344_0.07646909399457358","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.3":{"name":"@modelcontextprotocol/express","version":"2.0.0-beta.3","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0-beta.3","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"323c9493af5186ea2ee4a35ec2a8d5871d9208f6","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0-beta.3.tgz","fileCount":11,"integrity":"sha512-CDJ38z1eqtKK2fXGJnH+icIGoAj2ZZRfFPnTDVE59btTzJ7wqfDa/Rh1PO+c/vFhMQuhe8/CQX36vNiGkR4dbw==","signatures":[{"sig":"MEUCIEMYgLkrcXno0IZd/AV6gmElOTmsXdK4hobVo11dI1X1AiEA5RKdhqZzKkYU9o//v8S9naU7h27sukoz+8b8tD+DDGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95754},"main":"./dist/index.cjs","type":"module","_from":"file:modelcontextprotocol-express-2.0.0-beta.3.tgz","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/2369fa695800b165fc8d040cc334bbdf/modelcontextprotocol-express-2.0.0-beta.3.tgz","_integrity":"sha512-CDJ38z1eqtKK2fXGJnH+icIGoAj2ZZRfFPnTDVE59btTzJ7wqfDa/Rh1PO+c/vFhMQuhe8/CQX36vNiGkR4dbw==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0-beta.3","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0-beta.3_1783604327627_0.23495699552198857","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.4":{"name":"@modelcontextprotocol/express","version":"2.0.0-beta.4","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0-beta.4","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"dfa48a174d1075258860f9890aa25c41b4a5f3fa","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0-beta.4.tgz","fileCount":11,"integrity":"sha512-7hI8bEomz6rMn8sKYRVIZgQJsrWIjIS9WiPyIp3X2pMyLSCC7hB5km0kg+9SygWygTIRnPfte0tXevRB3mXEHQ==","signatures":[{"sig":"MEUCIBvt0SmzXdfuSUdbEbvd7ed10qEGYABX7JsIMlgIaXnYAiEAxYvjPB6yEihYsvl9TJeL10hrqu/CJ+TWk6/tFWwuzK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95754},"main":"./dist/index.cjs","type":"module","_from":"file:modelcontextprotocol-express-2.0.0-beta.4.tgz","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/d42171750becf2d14b21325311fb1bd5/modelcontextprotocol-express-2.0.0-beta.4.tgz","_integrity":"sha512-7hI8bEomz6rMn8sKYRVIZgQJsrWIjIS9WiPyIp3X2pMyLSCC7hB5km0kg+9SygWygTIRnPfte0tXevRB3mXEHQ==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0-beta.4","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.0.0-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0-beta.4_1783964403546_0.1511829991685001","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-beta.5":{"name":"@modelcontextprotocol/express","version":"2.0.0-beta.5","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0-beta.5","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"ab73e14211d5e9db13f0c8651757f49e5a025edb","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0-beta.5.tgz","fileCount":11,"integrity":"sha512-SDHAAKCOkHrxuBRyh6fRQJpjWBt5vrRCmvV7OIyWdmIksQzmTYsw7oEX1p9Kje6PSDqKJHpmqLJzZNUnOhrfCQ==","signatures":[{"sig":"MEYCIQDMyBf6UIBE0XPk5Qpv9XQdYWpfy3fDJEjnk7lMEQsOGgIhAP5piS+hKhcTkmZuljd29Y8L7XAR6hOrKjfrMbYnF4MG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95754},"main":"./dist/index.cjs","type":"module","_from":"file:modelcontextprotocol-express-2.0.0-beta.5.tgz","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/a1db6b6502d1945103ff7e9ef9df2c2f/modelcontextprotocol-express-2.0.0-beta.5.tgz","_integrity":"sha512-SDHAAKCOkHrxuBRyh6fRQJpjWBt5vrRCmvV7OIyWdmIksQzmTYsw7oEX1p9Kje6PSDqKJHpmqLJzZNUnOhrfCQ==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0-beta.5","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0-beta.5_1784641165439_0.26078984096891067","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@modelcontextprotocol/express","version":"2.0.0","keywords":["modelcontextprotocol","mcp","express","middleware"],"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","_id":"@modelcontextprotocol/express@2.0.0","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ashwin-ant","email":"ashwin@anthropic.com"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"homepage":"https://modelcontextprotocol.io","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"0e29ada50d022fd345e8661a337cefeabdc6d0e0","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.0.tgz","fileCount":11,"integrity":"sha512-Snlr8j9FR9LcVvEJPF7qJ7d5zTL4Bes2dk7RcacN9eSZ7OLohwxqhEvWu1+UxELyScgLbLLOdeVEGdwKI1iwVQ==","signatures":[{"sig":"MEQCICi8Y3mCiJrI9+ZmRUrUXzOqhaFyVkRnQ+CixWAR/ZA4AiBwYJl998+lVW4/ZLwkx0Cfd1JVgN5wJoyfwiI9JZHPIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95733},"main":"./dist/index.cjs","type":"module","_from":"file:modelcontextprotocol-express-2.0.0.tgz","types":"./dist/index.d.mts","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"_resolved":"/tmp/ff209217f2f9b558a8a16ed8504ed829/modelcontextprotocol-express-2.0.0.tgz","_integrity":"sha512-Snlr8j9FR9LcVvEJPF7qJ7d5zTL4Bes2dk7RcacN9eSZ7OLohwxqhEvWu1+UxELyScgLbLLOdeVEGdwKI1iwVQ==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"_nodeVersion":"24.18.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.0.0","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/express_2.0.0_1785196517101_0.5470378142591656","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"_id":"@modelcontextprotocol/express@2.0.1","bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"dist":{"shasum":"1272016451362494c04e48006187773bdfdb9aaa","tarball":"https://registry.npmjs.org/@modelcontextprotocol/express/-/express-2.0.1.tgz","fileCount":11,"integrity":"sha512-ufZbY2kxdJH5sJqMMG+trJOKhob7qDzoh9elVu/TYaKIMBChm9GfF8aee/zj1yOb3yXHiP0qYDcuauVvNGyB6A==","signatures":[{"sig":"MEQCIEo8iGc+5owWEPthbB4yb4Z7hFXDq9Kc9nV0G5B3dIAmAiAzejsfuZzPOkHjDcuKWnCu4YC7EXbOo9DA+Qfby0dNng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCBPQ6ofj0frRUqp4WDWP6fUEoUNb/3SRfZg9uGoBxl0wIhANamjzjYhu4bnY8lHd8A+qVEM63jwAdk82dYpweeUqgA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@modelcontextprotocol%2fexpress@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":96055},"main":"./dist/index.cjs","name":"@modelcontextprotocol/express","type":"module","_from":"file:modelcontextprotocol-express-2.0.1.tgz","types":"./dist/index.d.mts","author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"license":"MIT","private":false,"scripts":{"lint":"eslint src/ && prettier --ignore-path ../../../.prettierignore --check .","test":"vitest run","build":"tsdown","check":"pnpm run typecheck && pnpm run lint","lint:fix":"eslint src/ --fix && prettier --ignore-path ../../../.prettierignore --write .","typecheck":"tsgo -p tsconfig.json --noEmit","test:watch":"vitest","build:watch":"tsdown --watch"},"version":"2.0.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4b7b5844-8cf9-4cc0-bcbe-1fcdfce61053"}},"homepage":"https://modelcontextprotocol.io","keywords":["modelcontextprotocol","mcp","express","middleware"],"_resolved":"/tmp/49185ab00b7c6e1372257cf445940f0a/modelcontextprotocol-express-2.0.1.tgz","_integrity":"sha512-ufZbY2kxdJH5sJqMMG+trJOKhob7qDzoh9elVu/TYaKIMBChm9GfF8aee/zj1yOb3yXHiP0qYDcuauVvNGyB6A==","repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","directories":{},"maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"_nodeVersion":"24.21.0","dependencies":{"cors":"^2.8.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","tsdown":"^0.18.0","vitest":"^4.0.15","prettier":"3.6.2","supertest":"^7.0.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/cors":"^2.8.17","@types/express":"^5.0.6","eslint-plugin-n":"^17.23.1","@types/supertest":"^6.0.2","typescript-eslint":"^8.48.1","eslint-config-prettier":"^10.1.8","@typescript/native-preview":"^7.0.0-dev.20251217.1","@modelcontextprotocol/server":"^2.1.0","@modelcontextprotocol/tsconfig":"^2.0.0","@types/express-serve-static-core":"^5.1.0","@modelcontextprotocol/eslint-config":"^2.0.0","@modelcontextprotocol/vitest-config":"^2.0.0"},"peerDependencies":{"express":"^4.18.0 || ^5.0.0","@modelcontextprotocol/server":"^2.1.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/express_2.0.1_1790178328241_0.3163443410535667"}}},"time":{"created":"2026-04-01T14:46:10.228Z","modified":"2026-09-23T15:45:28.744Z","2.0.0-alpha.1":"2026-04-01T14:46:10.542Z","2.0.0-alpha.2":"2026-04-01T16:43:58.802Z","2.0.0-alpha.3":"2026-06-25T19:46:13.998Z","2.0.0-alpha.4":"2026-06-30T21:00:16.654Z","2.0.0-beta.1":"2026-06-30T22:48:16.738Z","2.0.0-beta.2":"2026-07-02T12:27:39.555Z","2.0.0-beta.3":"2026-07-09T13:38:47.771Z","2.0.0-beta.4":"2026-07-13T17:40:03.680Z","2.0.0-beta.5":"2026-07-21T13:39:25.587Z","2.0.0":"2026-07-27T23:55:17.260Z","2.0.1":"2026-09-23T15:45:28.322Z"},"bugs":{"url":"https://github.com/modelcontextprotocol/typescript-sdk/issues"},"author":{"url":"https://anthropic.com","name":"Anthropic, PBC"},"license":"MIT","homepage":"https://modelcontextprotocol.io","keywords":["modelcontextprotocol","mcp","express","middleware"],"repository":{"url":"git+https://github.com/modelcontextprotocol/typescript-sdk.git","type":"git"},"description":"Express adapters for the Model Context Protocol TypeScript server SDK - Express middleware","maintainers":[{"name":"jspahrsummers","email":"justin@jspahrsummers.com"},{"name":"pcarleton","email":"paul@modelcontextprotocol.io"},{"name":"fweinberger","email":"fweinberger@anthropic.com"},{"name":"thedsp","email":"david@modelcontextprotocol.io"},{"name":"ochafik-ant","email":"ochafik@anthropic.com"}],"readme":"# `@modelcontextprotocol/express`\n\nExpress adapters for the MCP TypeScript server SDK.\n\nThis package is a thin Express integration layer for [`@modelcontextprotocol/server`](https://github.com/modelcontextprotocol/typescript-sdk/tree/main/packages/server).\n\nIt does **not** implement MCP itself. Instead, it helps you:\n\n- create an Express app with sensible defaults for MCP servers\n- add DNS rebinding protection via Host header validation (recommended for localhost servers)\n- protect routes with `requireBearerAuth` (validates `Authorization: Bearer …` via your `OAuthTokenVerifier`)\n- serve OAuth Protected Resource Metadata (RFC 9728) via `mcpAuthMetadataRouter`\n\n## Install\n\n```bash\nnpm install @modelcontextprotocol/server @modelcontextprotocol/express express\n\n# For MCP Streamable HTTP over Node.js (IncomingMessage/ServerResponse):\nnpm install @modelcontextprotocol/node\n```\n\n## Exports\n\n- `createMcpExpressApp(options?)`\n- `hostHeaderValidation(allowedHostnames)`\n- `localhostHostValidation()`\n- `requireBearerAuth(options)`\n- `mcpAuthMetadataRouter(options)`\n- `getOAuthProtectedResourceMetadataUrl(serverUrl)`\n- `OAuthTokenVerifier` (interface)\n\n## Usage\n\n### Create an Express app (localhost DNS rebinding protection by default)\n\n```ts\nimport { createMcpExpressApp } from '@modelcontextprotocol/express';\n\nconst app = createMcpExpressApp(); // default host is 127.0.0.1; protection enabled\n```\n\n### Streamable HTTP endpoint (Express)\n\n```ts\nimport { createMcpExpressApp } from '@modelcontextprotocol/express';\nimport { NodeStreamableHTTPServerTransport } from '@modelcontextprotocol/node';\nimport { McpServer } from '@modelcontextprotocol/server';\n\nconst app = createMcpExpressApp();\nconst server = new McpServer({ name: 'my-server', version: '1.0.0' });\n\napp.post('/mcp', async (req, res) => {\n    // Stateless example: create a transport per request.\n    // For stateful mode (sessions), keep a transport instance around and reuse it.\n    const transport = new NodeStreamableHTTPServerTransport({ sessionIdGenerator: undefined });\n    await server.connect(transport);\n    await transport.handleRequest(req, res, req.body);\n});\n```\n\n### Host header validation (DNS rebinding protection)\n\n```ts\nimport { hostHeaderValidation } from '@modelcontextprotocol/express';\n\napp.use(hostHeaderValidation(['localhost', '127.0.0.1', '[::1]']));\n```\n","readmeFilename":"README.md"}