Addresses the round-2 Copilot review (both suppressed comments). - createPinnedAgent now takes the whole validated address list instead of a single IP, so Node's address-family fallback still works: a dual-stack host whose first address is unreachable (IPv6 on an IPv4-only network) connects via a later one. The set net.connect may choose from is exactly the prevalidated set, so the TOCTOU guarantee is unchanged. Empty input throws ProxyTargetError rather than pinning undefined. - Tests: dual-stack pass-through, the empty-list guard, and an end-to-end request where the first pinned address is a black hole (2001:db8::1) and the connection must complete via the second. - server/tsconfig.json excludes src/**/__tests__/** so the suite is no longer emitted into build/ and published with the package (verified: build/__tests__ is gone). tsconfig.test.json keeps the suite type-checked, and `npm test` runs it before vitest. Signed-off-by: cliffhall <cliff@futurescale.com>
52 lines
1.5 KiB
JSON
52 lines
1.5 KiB
JSON
{
|
|
"name": "@modelcontextprotocol/inspector-server",
|
|
"version": "1.0.0",
|
|
"description": "Server-side application for the Model Context Protocol inspector",
|
|
"license": "SEE LICENSE IN LICENSE",
|
|
"author": "Model Context Protocol a Series of LF Projects, LLC.",
|
|
"homepage": "https://modelcontextprotocol.io",
|
|
"bugs": "https://github.com/modelcontextprotocol/inspector/issues",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/modelcontextprotocol/inspector",
|
|
"directory": "server"
|
|
},
|
|
"type": "module",
|
|
"bin": {
|
|
"mcp-inspector-server": "build/index.js"
|
|
},
|
|
"files": [
|
|
"build",
|
|
"static",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc && shx cp -R static build",
|
|
"start": "node build/index.js",
|
|
"dev": "tsx watch --clear-screen=false src/index.ts",
|
|
"dev:windows": "tsx watch --clear-screen=false src/index.ts < NUL",
|
|
"test": "tsc -p tsconfig.test.json && vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.0",
|
|
"@types/node": "^22.0.0",
|
|
"@types/shell-quote": "^1.7.5",
|
|
"@types/ws": "^8.5.12",
|
|
"tsx": "^4.19.0",
|
|
"typescript": "^5.6.2",
|
|
"vitest": "^4.1.0"
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.25.2",
|
|
"cors": "^2.8.5",
|
|
"express": "^5.1.0",
|
|
"shell-quote": "^1.8.4",
|
|
"shx": "^0.3.4",
|
|
"spawn-rx": "^5.1.2",
|
|
"ws": "^8.18.0",
|
|
"zod": "^3.25.76",
|
|
"express-rate-limit": "^8.2.1"
|
|
}
|
|
}
|