{"_id":"@samanhappy/mcphub","_rev":"150-f2f4f74c9a93f0d505f8ef8583cfe0c7","name":"@samanhappy/mcphub","dist-tags":{"latest":"1.1.0"},"versions":{"0.0.1":{"name":"@samanhappy/mcphub","version":"0.0.1","author":{"name":"Your Name","email":"your.email@example.com"},"license":"ISC","_id":"@samanhappy/mcphub@0.0.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"homepage":"https://github.com/username/mcphub#readme","bugs":{"url":"https://github.com/username/mcphub/issues"},"bin":{"mcphub":"bin/mcphub.js"},"dist":{"shasum":"5b8a47816fcd248815eef5e9e3f53b9afc1795d3","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.1.tgz","fileCount":39,"integrity":"sha512-KN4uixvC7voDkE5dakQeh8wmYvJj4/cj9oAj7I2jjOnBlyA5SVIARLNym9kVEgIktjlbm8fe0BQpEXgtkdZ0xw==","signatures":[{"sig":"MEUCIQDThZfDwMkZLVPw6JinIcXtQArBy7qFoDJPrnu3EwJREQIgdSQQHan+9Nz2ptb/9wKRRUcVwpwkGq9HeZIPfXky4Io=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157315},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","version":"npm run format && git add -A src","backend:dev":"tsx watch src/index.ts","postversion":"git push && git push --tags","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && npm run frontend:build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"repository":{"url":"git+https://github.com/username/mcphub.git","type":"git"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.1_1745907974574_0.15253483574569837","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@samanhappy/mcphub","version":"0.0.2","author":{"name":"Your Name","email":"your.email@example.com"},"license":"ISC","_id":"@samanhappy/mcphub@0.0.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"homepage":"https://github.com/username/mcphub#readme","bugs":{"url":"https://github.com/username/mcphub/issues"},"bin":{"mcphub":"bin/mcphub.js"},"dist":{"shasum":"10ea30feb06d7c5be42b5fe9d96d0c602ddb78c4","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.2.tgz","fileCount":39,"integrity":"sha512-+Tn7jXfzK+j2kbTPmoDIG/HHhbSlgTKZHG3T4m1tpGjyKUL/LwdWqpXdCoSLhEBUiLkzVGy6IRZUkJqsH9CxMg==","signatures":[{"sig":"MEUCIQCztZx3/1ps9SDhEFre71hrvCWNLHqdTler0cona7+lVAIgJAZ/hGpychy0HJPLSp4PNz5cmgCuniMQw3SjOrS3bYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157360},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","version":"npm run format && git add -A src","backend:dev":"tsx watch src/index.ts","postversion":"git push && git push --tags","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && npm run frontend:build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"repository":{"url":"git+https://github.com/username/mcphub.git","type":"git"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.2_1745908176945_0.3332907851129092","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@samanhappy/mcphub","version":"0.0.3","author":{"name":"Your Name","email":"your.email@example.com"},"license":"ISC","_id":"@samanhappy/mcphub@0.0.3","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"homepage":"https://github.com/username/mcphub#readme","bugs":{"url":"https://github.com/username/mcphub/issues"},"bin":{"mcphub":"bin/mcphub.js"},"dist":{"shasum":"723f974d71d611e82ed0a374e30f701fdfc7a49a","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.3.tgz","fileCount":39,"integrity":"sha512-jtjJiUzOAcTXvmI4AFrV9DYmrj5By9BeKuh6jrfEl1z3SaXR81nHEoc5Ts4fL0zWkPordxCNYn01+0Xvl5YUIg==","signatures":[{"sig":"MEUCIB2H+JDO5WG2odTxBmbSXBjXkUjj7lD+S4tpChZVb+CEAiEArypxaTT64KBf+OP8PeCi7cp+7szhgAiHrSOleZhBV7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157435},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","version":"npm run format && git add -A src","backend:dev":"tsx watch src/index.ts","postinstall":"chmod +x ./bin/mcphub.js","postversion":"git push && git push --tags","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && npm run frontend:build && chmod +x ./bin/mcphub.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"repository":{"url":"git+https://github.com/username/mcphub.git","type":"git"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.3_1745908797271_0.5822885573535421","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@samanhappy/mcphub","version":"0.0.4","keywords":["typescript","server","mcp","model-context-protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"45fa4e0d8f870c11e2024b8cbfab900c7e68ef05","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.4.tgz","fileCount":39,"integrity":"sha512-nnMu4BhJv5iK4yh9WqkhxQNGNgVmpV55/ZC37pdbPYoBsOBk4Ck15y8ad7UlOS6fQ2C+WRBQZwCW2MSVemU76w==","signatures":[{"sig":"MEQCIGwPCgj6/eE0i08J8JGpHF7oUWlbwoF4yEHjLMgAhSvzAiA4D6WsxPu4mjJGnI2W5QmRGPpn9UDeemiZrwoUEZy7YQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157040},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && npm run frontend:build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.4_1745909635251_0.4321637896718751","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@samanhappy/mcphub","version":"0.0.5","keywords":["typescript","server","mcp","model-context-protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.5","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"db750ebe524e72534337c8ae71027c3876060a5c","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.5.tgz","fileCount":39,"integrity":"sha512-Ue0R7la23aHPCZWO8pJOQfXmNdpJmF1ksevAgs8M0kENS1RH931oGg25cjnHRUeUxztP6lo/7KxROj41MtQ/9g==","signatures":[{"sig":"MEUCIA6b3GAoTdfCr5iJScltOOblniOzbGIpjVa+cKzC1c2AAiEAm3TJr04shiGJ95pkUFzs1WejkVrWpHrOYslDWeu2H1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156918},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && npm run frontend:build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.5_1745910225027_0.5549834781295826","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@samanhappy/mcphub","version":"0.0.6","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.6","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"dist":{"shasum":"fc76ac4319bc580b842f2b87642e2069455c2b9c","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.6.tgz","fileCount":133,"integrity":"sha512-dgyl9ai2UHyizX+1ye11lM7TISvRjsLyjR7ZS74frrwDUmkZ+G/7HzpZnTdooxXR6XZ1lj3wzDXnSoHRrvIpiQ==","signatures":[{"sig":"MEQCIDDLQU0nOdnGWK4u9ueAEiZggjPH6ySX3r3qXfrsS1dYAiAfkGSVk0LWgSPUl+pD4qRLec3rERdW4y8+WlFwfYU5tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3465753},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.6_1745911304537_0.6214385097183941","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@samanhappy/mcphub","version":"0.0.7","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.7","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"9134a7357ec80aa986250998978dc69a10708e63","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.7.tgz","fileCount":133,"integrity":"sha512-DhMapJDOiG4BLGbZOMUHoF6ffw1wztGdglj7EQECkE/QAPsf4tSW1PmIAlMY6ofhKsnn0ZG8JlRaLXd4a4ELVA==","signatures":[{"sig":"MEUCIQDBhgJq1HUZs0i5G+pIdVg94JCG45AnQu6DScf4JXaDlgIgByLLuTNIWTeQFN1bASmq73yMZjRCwnHylAq8JRh+4bI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3465842},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.7_1745911788006_0.11532629059291555","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@samanhappy/mcphub","version":"0.0.8","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.8","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"211e74000392d963eb46d56e15fa19ad773a47b2","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.8.tgz","fileCount":38,"integrity":"sha512-0MlBgTSeqrSbG2/IK8V1c+Pym4x+Gtm1Xb8e7/VyhJDLdc+XYlEla7YyU/qemPvP7sojvTmiyYMPk2vDja/hGQ==","signatures":[{"sig":"MEUCIQDKWKMnqWJXGCxOqpVq+Pxh4mq2eghTx4f72l6CovxFXgIgQ0O6Rs+eSdZfS02hd1WhzWMZok0u4YGslMJKob4KbpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155586},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.8_1745911922523_0.3469429897369216","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@samanhappy/mcphub","version":"0.0.9","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.9","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"e5fcc5005211d618cd330b8609b5fc2ff392e6a1","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.9.tgz","fileCount":38,"integrity":"sha512-z0Qro3aVxVkV5NppzE5yATDvXADsB1gYkfReSPcdc0YsFOpE8VykmZXiVoSaUxAGF2NbQOAsqA4l6GKVTaeTLQ==","signatures":[{"sig":"MEQCIF+HB+KEqed87UxiC+9k0sL2aE5eftxQCZokueoDzRs+AiBtqyIMkWoT/5boT9eLA4z91ph9w4aeb2UqX70+lfVfSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155585},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.9_1745912008947_0.8983521643280663","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@samanhappy/mcphub","version":"0.0.10","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.10","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/mcphub.js"},"dist":{"shasum":"d140a55095745fdbaf9110bccd88875e7a82267e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.10.tgz","fileCount":134,"integrity":"sha512-85vEkqPLMspdGRcK7yx5GY6NQbpOtIr+4b0rMyKztN9WU7EljBpdB0oRu/HItX3ohZ0H8sE067OYlEX6ZbfYNA==","signatures":[{"sig":"MEUCIDLqczZKZDCWRkk01/c6HqUDgM2HXm6pP+GCtCQIhMILAiEA/UaQJEeLL5NGg8pzwjSVl+biUsvlw/E0iVdYszkJflc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3465849},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.10_1745912271801_0.06944820827085696","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@samanhappy/mcphub","version":"0.0.11","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.11","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"136e98fcb8af803fde4a0cbc2019822b8cdaeec2","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.11.tgz","fileCount":38,"integrity":"sha512-OoQmOWuxIkUKNqVqfDVLKEH9miwSugOYMnryk5z+eDbPc5U7uhprbJOFJyo6EN3iPXVd5jQ7Yp/s6uBOHKBd1g==","signatures":[{"sig":"MEQCIBimlNriTYWX/sHsq3YV4UU0yNQ1h62NDhoz1I+vg0L2AiBl4kvJ40M7oOozuZnnweetJvLiUgM5AICYWCK3S46WuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155564},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.11_1745912859387_0.3937174534428922","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@samanhappy/mcphub","version":"0.0.12","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.12","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"792d98b6d52bc58b29532921dcf0ae6627ba3e94","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.12.tgz","fileCount":38,"integrity":"sha512-BnkNozfixXEbqo+wCIWDM9g3xIm2Q89YSHXQmsPKIrUjxd7LnR4jf7I/tusH+nKIxutooC++6p4g/sB8DOW/LA==","signatures":[{"sig":"MEUCIDMp6p1x2ym43y26dPNRlWBFYauyVqHozgGpUEpq7NdyAiEA0Ri3gdyK5LltapW5p06M2fLdnrq7tijRIVHhQoG54Jo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155590},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc && shx chmod +x dist/*.js","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.12_1745912950887_0.1779237850778581","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@samanhappy/mcphub","version":"0.0.13","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.13","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"36359027f85589bbe6a289930032a1e3110c18cb","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.13.tgz","fileCount":38,"integrity":"sha512-jefLMeo+1LvH49j16RPf624Rb/fgIfPlELma8WBQBiK3D3zLbaiEoIq8VqATxKZat7oZWWtUTgfhTcBmdI+/1g==","signatures":[{"sig":"MEUCIQCJBCkQLAHdgkB5y3T2DYIRLyrNRg3oSJpdeHMy+XjrVwIgCkRer3Z8JVFfbpM30jAMgMH0ROXgPFanTaZuT7KQoIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155590},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc && shx chmod +x dist/*.js","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.13_1745913122772_0.9098433629511429","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@samanhappy/mcphub","version":"0.0.14","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.14","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"2dd3d731828bc986428eed5f620debed3d179f1f","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.14.tgz","fileCount":38,"integrity":"sha512-aD0K1uFFisG7vhzGIgJzgvi5nAjLKANWk/eF9V/r6K7gSB2ZYhypVnk1APY40eKhvYzLewevJ8k0bC8z6Bo1tg==","signatures":[{"sig":"MEUCIHMux0c+xkKtjuuI+p1dawHuL9SABXtIsIQTZ61/Eq8JAiEAxC/2FGTtZC7m+0BoyWVc0tzrGJkUNNAdI999v1BQtHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155632},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc && shx chmod +x dist/*.js","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.14_1745913650374_0.22837551947306922","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@samanhappy/mcphub","version":"0.0.15","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.15","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"264fce177710c5e0ba393344acacdfd71b057350","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.15.tgz","fileCount":38,"integrity":"sha512-5j9bpReDRepmUr1tL7PoKKDoTEb0xN7Y9bDMHzG+AKhU4oTEpThTlFkbFZIV81/z0kQhct0P+0i9+dH1lAyPVw==","signatures":[{"sig":"MEUCIQCmVKSDxGhtss1VyQDdtpLbm/Rf3X9wSMGi3ls5pk5tZAIgWVHkYs91kp4ViS3FuPxPK+GbiyNfM/O033hx5PCqDIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155670},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc && shx chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.15_1745915052996_0.9742702612413583","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@samanhappy/mcphub","version":"0.0.16","keywords":["typescript","server"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.16","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"dist/index.js"},"dist":{"shasum":"7264610aa34cc1e02a5eb7b7cd205fae84f3a8e4","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.16.tgz","fileCount":40,"integrity":"sha512-1TrV465i+C7AJiN4TMr5Gt9Y96gy5/qwnqs4LElfEREfpDousJ2oNFouphjFu56ocbL5IHJIJq9dBkja0S14Kg==","signatures":[{"sig":"MEUCIG4x1oAitMmqUTFLPcS0XGflGoA35ZQl3/zIvvw47yBEAiEAjLhCFimaZTr5lI8FSIsoQ4TmZLf677BxZEd96t4/TaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2567704},"main":"dist/index.js","type":"module","gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"tsc && shx chmod +x dist/index.js","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"zod":"^3.24.2","clsx":"^2.1.1","next":"^15.2.4","uuid":"^11.1.0","react":"^19.1.0","dotenv":"^16.3.1","express":"^4.18.2","i18next":"^24.2.3","postcss":"^8.5.3","bcryptjs":"^3.0.2","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","@types/react":"^19.0.12","autoprefixer":"^10.4.21","jsonwebtoken":"^9.0.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","tailwind-merge":"^3.1.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","express-validator":"^7.2.1","@radix-ui/react-slot":"^1.1.2","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@modelcontextprotocol/sdk":"^1.10.2","@radix-ui/react-accordion":"^1.2.3","i18next-browser-languagedetector":"^8.0.4"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","tsx":"^4.7.0","jest":"^29.7.0","vite":"^5.4.18","eslint":"^8.50.0","ts-jest":"^29.1.1","prettier":"^3.0.3","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","ts-node-dev":"^2.0.0","concurrently":"^8.2.2","@types/express":"^4.17.21","@types/bcryptjs":"^3.0.0","@types/jsonwebtoken":"^9.0.9","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.16_1745917043728_0.08209658883769855","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@samanhappy/mcphub","version":"0.0.17","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.17","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"3569b940f2f9dfdf76acd0f870787a7a58fc153a","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.17.tgz","fileCount":45,"integrity":"sha512-339rJOOJW+NhfW6/EsTgKUEzR29OQHeuQqUUWczDEEHKMruYE5h4dtbIjNl8gsZ2Xt+z6k6xpXRo/OEJxdhPJA==","signatures":[{"sig":"MEUCIFBbQ/63PKxRGp2EoQaq8QCoF7Y76XBJeGPeZyro2odWAiEAhaUTabNN3FA0CzJ4lDd04ZBeENSkl99xoaDBabL6VZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3008820},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"7887a3a5f9447fc607436bcb4076f48455ef72d2","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.17_1745919315095_0.7775697487804054","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@samanhappy/mcphub","version":"0.0.18","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.18","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"09347af74b9887f079096a44b71bedba0993fe4d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.18.tgz","fileCount":45,"integrity":"sha512-6wn1SEaYIaHFz+YGmUnLPCmQvwRLFpBTmlditm59iJE6rl306F8GSsS30gE88bV8rJ+z3K/8VlY9NV/cgb0DRw==","signatures":[{"sig":"MEYCIQDatcp17bHCZW7X4kmuYXP9SNo6Cq5UyO7R3ze9iqBlEwIhAJ3zjMN79LOhtXoh0q5h7jDDnFrxrSPakXLiiM0MiF5q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3012046},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"e0de946b461d692cb15b3d66085c9ac58e634be0","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.18_1745919684056_0.5360869367708248","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@samanhappy/mcphub","version":"0.0.20","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.20","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"86811f693f7a521efc2cd3f58af56f0b1a72378a","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.20.tgz","fileCount":43,"integrity":"sha512-yB2qSSI4vMgb10I6M+U3xjt5ayakHf8253h33ggtRSGtqwrkqH9MfJZmHHc6vG9efamlPfmdIgruGY/VWsPfBA==","signatures":[{"sig":"MEQCIEmcqJ/9TbnmjN3mecVV6e6LfUaoz0i83nrLgUXvcPX/AiBcOfdta+WNx5rHCnVjNsI8QR8MfkQGb27MUrnPyY/0vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601904},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"e0de946b461d692cb15b3d66085c9ac58e634be0","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && node scripts/verify-dist.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.20_1745920167904_0.16561435393810453","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@samanhappy/mcphub","version":"0.0.21","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.21","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"a45621d6d9b46c63e0e20bb3c30a7dd63a436526","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.21.tgz","fileCount":43,"integrity":"sha512-CPTGNvXeZ2mnl21Fa6siG1sGQyz2MQ9OWRauelQiWTlwQnXnMyyT+D3OMr6Eqx9NUyx0EyqEJITx7JVeW41YBg==","signatures":[{"sig":"MEYCIQCl77A35pgnQ0KnFTr94IfyP6L7pvLkEEK5vBrsSkiBMQIhAOIHfxzQTkNVYdwsPdu6hld5kYqZxWJzDWAmbwV6WYO6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604127},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"1ea7941f152512c2dbdaac5a573791334b1d2e83","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && node scripts/verify-dist.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.21_1745921072627_0.8977081084698166","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@samanhappy/mcphub","version":"0.0.22","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.22","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f73499b0c6afa052bc7847989a55a9e141855048","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.22.tgz","fileCount":43,"integrity":"sha512-TwvsjhtopOyAg9w/lpMxSMJ0xy/UUrajnrhOv58exvn3BnjPLuJzgkACSOfHhWoX+OgyJNzhYSUZTVXBQtAEyw==","signatures":[{"sig":"MEQCIGfDS1XpMwg+ASxomXalp4jX5anzZKt/IbfUZ9nuMsJuAiBjuN2xTsljK6GP+wY4MVA+NxAdUL2H16uOIn9aqcPRSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604624},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"1ea7941f152512c2dbdaac5a573791334b1d2e83","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && node scripts/verify-dist.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.22_1745921822393_0.969206617979149","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@samanhappy/mcphub","version":"0.0.23","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.23","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"a2eb14a550f6eaa69c35649e42a50bd984e60341","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.23.tgz","fileCount":43,"integrity":"sha512-DydaMu/sXnrpjqMD2h7bHSkiRQprCd2feMXPM02tujZA6BNbAhN7J0MpGnnbpyRnKZSELVCCIErKz3Wzy08V7Q==","signatures":[{"sig":"MEUCIQCxb+xuNCgsin2+1ts0APydKbXyBum30/b+mod7uqpbOQIgPg/4JXzk3sKzsVLZOhV2jpFRDUb97FD07Ue6uFv5WMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606247},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"0c9880400e1f5d77eefe5b268d16c6114e0b670d","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && node scripts/verify-dist.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.23_1745922176327_0.9055161347944758","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@samanhappy/mcphub","version":"0.0.24","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.24","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"631d7ba4a51c0ca802d974b4f3591a6a101f7b3e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.24.tgz","fileCount":43,"integrity":"sha512-XJBEGMWXagjresjlOmr6nx3v8Z7UT0xma8cpWFbxUoOpA7Nd9nPrL+hXdU0mE2vJGTcJNBwT11N0n9yxzBzHSw==","signatures":[{"sig":"MEUCIQDlDpL0DIfiAoulKxDB3Trp+8CKJ7Et+lbMZxP2fxtVEgIgXwengEGGkIQtnBq+kxDajvCufYBsRc1bDeiPUC0EbQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609809},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"0c9880400e1f5d77eefe5b268d16c6114e0b670d","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && node scripts/verify-dist.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.24_1745924780519_0.5970080669065028","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@samanhappy/mcphub","version":"0.0.25","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.25","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"6662a1a4560bbd6808486f818df12d9a674e5266","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.25.tgz","fileCount":45,"integrity":"sha512-+K3yOj5oRqjNPRL/fte1tIc5HcJocqLHsN6oTjTeh384yjSncSG6jsBfMpKN5GQVCqyn4XifZnNklvxOPt/UOw==","signatures":[{"sig":"MEYCIQD1bd7LkwYsc0m409ZjOEwIRhcUn2yDfNhmjivks5E9dgIhAKqb2hScE2BUexyhi80a92d8W4xNhhNpQkVi0zkFErlv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3021843},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"0c9880400e1f5d77eefe5b268d16c6114e0b670d","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && node scripts/verify-dist.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.25_1745925191392_0.23649643307239776","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@samanhappy/mcphub","version":"0.0.26","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.26","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e327a664a7f46f58b46cd016344b0cd6dfe8251b","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.26.tgz","fileCount":45,"integrity":"sha512-Uvodvcre8uEPKSwbz3gjiM61qHKZURzlCc3p6WYCb7j7kt0fYfuGs8c9656O8r40YGdwfFOCQKK2Eav69kWbQw==","signatures":[{"sig":"MEQCICe7pVEnGSD4B/ZTFclbnCTdw+GWZxvJfHxML/qov6JGAiA/SR44vsNMLQpNEGzHeIVVyA9ROgx21twoNoul40ZbzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3021844},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"b879d866a16de888effa6fd9343a9c093e5d5530","scripts":{"dev":"concurrently \"npm run backend:dev\" \"npm run frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"npm run backend:build && npm run frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && node scripts/verify-dist.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.26_1745925499842_0.25351838943179295","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@samanhappy/mcphub","version":"0.0.27","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.0.27","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f16418f3a54034f9a68b52e933deeb24ca3f4f55","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.0.27.tgz","fileCount":47,"integrity":"sha512-/QVK39zCrKTw7uWnprwMfHKzAC+hzDgCdc2bXxfNrFGdDgs05CBQuYkTqHJQ4qSCuPT4gvGZIq34gM7OBDufyQ==","signatures":[{"sig":"MEYCIQCpF03+7TqDZjL3DOkSyHvqnTGk7Zy9F8hKNP6rX5HkJQIhAJFjCzs3uD1GKgIzvzFZoz+tou0DHfIrAY6gmyaXN6Aj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3022359},"main":"dist/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"b96a008a939c2cc5fe4a34308740c99f4ae6388e","scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","prepublishOnly":"npm run build && node scripts/verify-dist.js","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_npmVersion":"10.2.3","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.10.0","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.5.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.0.27_1746009873209_0.23544212606714332","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@samanhappy/mcphub","version":"0.5.4","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.5.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"d1783e9389683fc95d419492dfb2db697e6f391e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.5.4.tgz","fileCount":49,"integrity":"sha512-moOC15ITUG43s+GZWApMTlcKQw/KmHHiIIu3rpfYC/PFlDEV7SM4bfyEOzsf3BKkkWMT0CTPSdr5FsRk/wsxQQ==","signatures":[{"sig":"MEUCIQC4Xlf/a6SLIQWwLN5i/j2C96rv9W8k5pgir/Q+xI8wTQIgFt3XNBt/UFrf69ouWIHG0Isxcvqn/ElR6VPswY39YyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3060488},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.5.4.tgz","engines":{"node":">=16.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/e0ce1ed3a7d6ffa62d4eedfd5c19d338/samanhappy-mcphub-0.5.4.tgz","_integrity":"sha512-moOC15ITUG43s+GZWApMTlcKQw/KmHHiIIu3rpfYC/PFlDEV7SM4bfyEOzsf3BKkkWMT0CTPSdr5FsRk/wsxQQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.1","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.5.4_1746884090438_0.36521748003551213","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@samanhappy/mcphub","version":"0.6.0","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.6.0","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"2365c486282766d3ed27617712635ae011878f1a","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.6.0.tgz","fileCount":50,"integrity":"sha512-XJhIZf2YklMFhE8c1wWFPjFEaTUEwgfq9/62lzJ/4Q5QWK0RZMWoHg1TFbHHCTyOa9Vztae4NF5MTkbkjLJKfA==","signatures":[{"sig":"MEUCIFzYgAonoyYzGdG9+R94Qg1sGdWRd4L/bs6/dYQ/PJkqAiEA4DTAXd64ftHG4hZLwUZXUCy0JGsUGyNXe8CiHiVkDWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5051962},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.6.0.tgz","engines":{"node":">=16.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/501597bf9f452df32b2ee6fe871f9768/samanhappy-mcphub-0.6.0.tgz","_integrity":"sha512-XJhIZf2YklMFhE8c1wWFPjFEaTUEwgfq9/62lzJ/4Q5QWK0RZMWoHg1TFbHHCTyOa9Vztae4NF5MTkbkjLJKfA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.1","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.6.0_1747117303748_0.0038843587301859994","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@samanhappy/mcphub","version":"0.6.1","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.6.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"cfeffa49a1256396890296d183feb11d88551931","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.6.1.tgz","fileCount":52,"integrity":"sha512-W0hfcDKGwq4JTGAXw0wxF6ILt9eaz64OJSjaqp0JFStLNbCrDGYygQVUkqE+hsa5FtQeklfuReNyRj/llpYkeg==","signatures":[{"sig":"MEUCIQDsGkGO3m+qvGaGa0t7bpVgX5qmWc3KYpU0MDK/w2tBEgIgTI4aXc8Ssz8pl3Tk7wrQ/Yxjfwtu/otAzUchvftilIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5218086},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.6.1.tgz","engines":{"node":">=16.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/578b17ff8c3fb554d173e2068799b952/samanhappy-mcphub-0.6.1.tgz","_integrity":"sha512-W0hfcDKGwq4JTGAXw0wxF6ILt9eaz64OJSjaqp0JFStLNbCrDGYygQVUkqE+hsa5FtQeklfuReNyRj/llpYkeg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.1","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.6.1_1747385345912_0.08534487715209549","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@samanhappy/mcphub","version":"0.6.2","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.6.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f868037037782670ea63150fd177da6f312dc09c","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.6.2.tgz","fileCount":54,"integrity":"sha512-xiBZ4ffkUgRwgCiAjF2Ig//oxOVqrsxeBovnewHzhYgpB/UH9JNq8OrX0a58etdqJK1pLtGB96Te6f7yg/dhGQ==","signatures":[{"sig":"MEQCIHHAbZDTyMLc/VXs4ZudbcNqZDjnuZ0Tr2FB6X6V3fONAiBfmET2btS+adjpUno1Bp9KJO8nio30bpfAbX0LB0QJsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5222084},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.6.2.tgz","engines":{"node":">=16.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/60eff965214d7d8caa64d5e57d29ca44/samanhappy-mcphub-0.6.2.tgz","_integrity":"sha512-xiBZ4ffkUgRwgCiAjF2Ig//oxOVqrsxeBovnewHzhYgpB/UH9JNq8OrX0a58etdqJK1pLtGB96Te6f7yg/dhGQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.1","dependencies":{"uuid":"^11.1.0","dotenv":"^16.3.1","express":"^4.18.2","bcryptjs":"^3.0.2","jsonwebtoken":"^9.0.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^5.4.18","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.8.2","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.3","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.2.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.6.2_1747570192964_0.9770857893846197","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@samanhappy/mcphub","version":"0.7.0","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.7.0","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"a13209124cc1ddf97f0b0df7477eb6abce4d903e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.7.0.tgz","fileCount":76,"integrity":"sha512-LAqGUxL3JqJyHjDeBgqrwZqvq/9LJonVyL0Z+60ygLsB3N2F6o93OlG6N4b4a6q8kPt6qWtJEAZX119wCQPnTQ==","signatures":[{"sig":"MEQCIDCX7JTNeHhm2N4SrXTJTFi6UVCnGTsaIWcH5CGRAtuSAiBkN245o14DNrgwKK77x+AURmc5sokRcLKc8b7WYKN4FQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5392746},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.7.0.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/a2e91a89487b655076e26862a668bbf6/samanhappy-mcphub-0.7.0.tgz","_integrity":"sha512-LAqGUxL3JqJyHjDeBgqrwZqvq/9LJonVyL0Z+60ygLsB3N2F6o93OlG6N4b4a6q8kPt6qWtJEAZX119wCQPnTQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.1","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.7.0_1748427795789_0.021777733777560426","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@samanhappy/mcphub","version":"0.7.1","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.7.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f7767b8c033d42c565104cc26f6f39c5eeb34239","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.7.1.tgz","fileCount":76,"integrity":"sha512-vE1DCJFY7mKl/B8nLDTuQJqwiL7uBOwIwHYU6O+cDKGx0x8n+eBZWzFLgrkYaZZN+hDSIuTDdozI+a4alzslmQ==","signatures":[{"sig":"MEYCIQDK80kBh4DWu8HBv6+mRJleAD7D1RLv3yQ3HKzo27bTkgIhAMlGn5S+Y4ljZ5AeQfhdj7lEQgDjC3rITEtkeH5X23by","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5392557},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.7.1.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/ae3eb833ce592c61c2733727c1bc5762/samanhappy-mcphub-0.7.1.tgz","_integrity":"sha512-vE1DCJFY7mKl/B8nLDTuQJqwiL7uBOwIwHYU6O+cDKGx0x8n+eBZWzFLgrkYaZZN+hDSIuTDdozI+a4alzslmQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.1","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.7.1_1748441888013_0.844608023750512","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@samanhappy/mcphub","version":"0.7.2","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.7.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"213ea2ad47dfa3a6d4d6851cb91543824e388927","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.7.2.tgz","fileCount":76,"integrity":"sha512-hJUfwVg4jnpRvltyLBQmQ9asKQptCOWWomxG3u76Jd64IHUsM7fDmm84v09viwT+aOWMY5n2lBfuFeJjQRHEjA==","signatures":[{"sig":"MEUCIQCS3S98w7xKrVMx4MhyLN9LGPMDLUKcxBVVxIp7YX4JOQIgXbXtkIf/qhrrYNu7ezfZalEvitVtHwIJBPqLCRtAXew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5392629},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.7.2.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/9c5260a698c38e4c388af4451004bca0/samanhappy-mcphub-0.7.2.tgz","_integrity":"sha512-hJUfwVg4jnpRvltyLBQmQ9asKQptCOWWomxG3u76Jd64IHUsM7fDmm84v09viwT+aOWMY5n2lBfuFeJjQRHEjA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.7.2_1748446042292_0.502752307791096","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@samanhappy/mcphub","version":"0.7.3","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.7.3","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"ae819b7f877adf0acf802462c81164a50bbeb75b","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.7.3.tgz","fileCount":76,"integrity":"sha512-3hSxxDQ/IzA55FfuZ4mzKjcc026LzgIY5wHqzRuNdWDcCQ1xXPLbXkSgz8A0YC6TerIOvrEJ8JiOdxmhyeThjg==","signatures":[{"sig":"MEQCIEyvWwAIcO5w/tGYc1UOjHZYXG8/j/eLpFsIRMgUTztZAiBQS1Ri2o+VLa4za8cMXa0kf5fKqCzMhGo2bdOmvLulgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5394102},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.7.3.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/33801300d15a8e5400895baf88d88bb9/samanhappy-mcphub-0.7.3.tgz","_integrity":"sha512-3hSxxDQ/IzA55FfuZ4mzKjcc026LzgIY5wHqzRuNdWDcCQ1xXPLbXkSgz8A0YC6TerIOvrEJ8JiOdxmhyeThjg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.7.3_1748617902478_0.9631842787624061","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@samanhappy/mcphub","version":"0.7.4","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.7.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f7c877d618002adfd050783389e12f5cbd90ca05","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.7.4.tgz","fileCount":78,"integrity":"sha512-Ln3UrgmqwFO0XrUos2EGR/gsJCxwCxYeELkqZU8qeEtymMBTakPILB05GV7BYchuknodXVU2DhXFiEuKDpPTPw==","signatures":[{"sig":"MEYCIQDXeUVZMKl8ZBhv6TxfybSuztuQoj83ELfayNwwjG3tsQIhAK2uBRSxpSWZV7wB3DUNhQwYqwskX6MfEg+1QjMuXBtN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5471055},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.7.4.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/3f22303ef0a0b886ad7f76f229502b3c/samanhappy-mcphub-0.7.4.tgz","_integrity":"sha512-Ln3UrgmqwFO0XrUos2EGR/gsJCxwCxYeELkqZU8qeEtymMBTakPILB05GV7BYchuknodXVU2DhXFiEuKDpPTPw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^8.2.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.7.4_1748833100173_0.7407038638588157","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@samanhappy/mcphub","version":"0.7.5","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.7.5","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e046d23333aed531a9d1c30a74e37daccec86d7b","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.7.5.tgz","fileCount":80,"integrity":"sha512-HZbMgCEbr98DoRWs2fFIdLYpN5JAWk2/nHeKLoGt5KYYbI8VGs9YB7KZJyG1BOkm8cDqVKqNvk1DIasVDp6Lyw==","signatures":[{"sig":"MEQCIFJ7C0M9B6QS2y70WYJjLuKmvYggJziZLaJcL0kMvmOvAiBA6sDldO7Yx3QK6ylxP6PNHDJrb3pVrZd3mrQr4Ms6hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5490687},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.7.5.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/a7a63179c78bec8122577bd56b843729/samanhappy-mcphub-0.7.5.tgz","_integrity":"sha512-HZbMgCEbr98DoRWs2fFIdLYpN5JAWk2/nHeKLoGt5KYYbI8VGs9YB7KZJyG1BOkm8cDqVKqNvk1DIasVDp6Lyw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.7.5_1749121948456_0.7143664273998076","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@samanhappy/mcphub","version":"0.7.6","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.7.6","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"d29d8b019f508ac227690f0cd381d4dabb617fc5","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.7.6.tgz","fileCount":80,"integrity":"sha512-VX2uSCLwDGmmIhGS67ZBVh6r0op1YFPv159qHudncxsOPAxVpMPhHOSQfuaCAO2lWd7pGWYSzKLa5Wy+QFH8Ew==","signatures":[{"sig":"MEYCIQDQZN0ASvWK7P9r/EkPRxko33JZC/ob1nkvMI+gOZa7WgIhAL/C28hdfivXwx8Tn7e0BigUnz8Ym6k34y4rkSFqC/7Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5496553},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.7.6.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/9541a08f819ec8de7f246619643b280c/samanhappy-mcphub-0.7.6.tgz","_integrity":"sha512-VX2uSCLwDGmmIhGS67ZBVh6r0op1YFPv159qHudncxsOPAxVpMPhHOSQfuaCAO2lWd7pGWYSzKLa5Wy+QFH8Ew==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.11.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.7.6_1749303441837_0.9635016800637473","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@samanhappy/mcphub","version":"0.7.7","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.7.7","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"359c1f2bb4f369221962e68a52a8cb1059496d32","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.7.7.tgz","fileCount":80,"integrity":"sha512-2k3FRsgUxCUIZzbLHfJpL1RkYbGLbDPmworcgS2WFt1/cFy+iiFxfexi4JbltwLJbDQThcOY4fq2YE16f7vCJA==","signatures":[{"sig":"MEQCIG6rv4HAH8CVIhi1p38vnxHpO3WxJ3w/7zcaWrn+AU7mAiBAtCHwFfOCVqLZ/TxbyrmhSvUd6Q0++p1Smi2v96GfBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5538386},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.7.7.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/cc0adfc9b329de903271bb05358e7a4c/samanhappy-mcphub-0.7.7.tgz","_integrity":"sha512-2k3FRsgUxCUIZzbLHfJpL1RkYbGLbDPmworcgS2WFt1/cFy+iiFxfexi4JbltwLJbDQThcOY4fq2YE16f7vCJA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.7.7_1749727010295_0.39211962680161316","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@samanhappy/mcphub","version":"0.8.0","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.8.0","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"fec5757b2b43fa301936ee9704bab6f822549557","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.8.0.tgz","fileCount":82,"integrity":"sha512-AWZM/DsOHL28bvg7dn3GAohiNGIdF+w28o+Cq3Xjc0XQ/6ydO/gDDvnuSsOr1BzxNDtxdvCWFYESyE61zGnm4Q==","signatures":[{"sig":"MEUCIGIvP7RetQJcIS/af0I7EYuqZEexffTdyFMib8UjK5SmAiEA/tUCM/bMUybCnp/hLbeWtGrUrWIZ28xWYnh7rLR9xlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5609302},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.8.0.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/e3dabc55d5792f3b8bcf60b5faaf04fa/samanhappy-mcphub-0.8.0.tgz","_integrity":"sha512-AWZM/DsOHL28bvg7dn3GAohiNGIdF+w28o+Cq3Xjc0XQ/6ydO/gDDvnuSsOr1BzxNDtxdvCWFYESyE61zGnm4Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.8.0_1750069099279_0.7584474954863221","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@samanhappy/mcphub","version":"0.8.1","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.8.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"27bd42b8fe1b3a418f74ff9668b0fc367b686b97","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.8.1.tgz","fileCount":82,"integrity":"sha512-iU/k8we4aOuV69Tlb4yuK03bSWE+wNtTR6g+nsGfMmRDCaicyxKCO79V6PCiTnhnFj8rrafou4IMKLRYAJLZqA==","signatures":[{"sig":"MEQCIFu9gvpqgKjTn+Yteg/9JOGUCUFVISBNDFC1BPE65RQ+AiBjU5IY7xZrKYnydSNl7AoCjaOAD/qz+B5GL4qmTT7bow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5622479},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.8.1.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","actor":{"name":"samanhappy","type":"user","email":"samanhappy@gmail.com"},"email":"samanhappy@gmail.com"},"_resolved":"/tmp/c9f1488ba880841e06745bbd6d3fcb02/samanhappy-mcphub-0.8.1.tgz","_integrity":"sha512-iU/k8we4aOuV69Tlb4yuK03bSWE+wNtTR6g+nsGfMmRDCaicyxKCO79V6PCiTnhnFj8rrafou4IMKLRYAJLZqA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","openai":"^4.103.0","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.8.1_1750412782820_0.3919079148360227","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@samanhappy/mcphub","version":"0.8.2","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.8.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"6462df22f34df32c765046c171ea796330523a69","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.8.2.tgz","fileCount":84,"integrity":"sha512-O41tMCfY3p3gOmctzPQYw/pb9uA/MZFoWOSRlST/VHLOaalfQTCoLmutM/U8B3BT1R92ohh7cAVP41Z1IvJW5Q==","signatures":[{"sig":"MEQCIB0WkosM0mPsqqJlXn0i7lsgekH85/hrEn3+u/M8WnveAiAkTH0QDfcbw8q9xDgqEGQoV8HQRBbRpxK9/x+cMJG9Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5681216},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.8.2.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","actor":{"name":"samanhappy","type":"user","email":"samanhappy@gmail.com"},"email":"samanhappy@gmail.com"},"_resolved":"/tmp/e408a2f194e1fedeeae44ff2199a6d50/samanhappy-mcphub-0.8.2.tgz","_integrity":"sha512-O41tMCfY3p3gOmctzPQYw/pb9uA/MZFoWOSRlST/VHLOaalfQTCoLmutM/U8B3BT1R92ohh7cAVP41Z1IvJW5Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.8.2_1751006824057_0.2672172278882232","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@samanhappy/mcphub","version":"0.8.3","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.8.3","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f72b3d561b3b3be6ddb5cf9fea0b39d73ff3403f","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.8.3.tgz","fileCount":84,"integrity":"sha512-8lBS1s1uqZS0xFXXMPKxUdHQAINnDS2BoDY68VWyW/Oho8l6MMN9IKfRPNS7zhe7WcWC+7XMb5MqqEA8Z0UhFQ==","signatures":[{"sig":"MEYCIQCT6nx8G2nISEOSkI5+KlCB22fo0obPpJ7VcjaXrLvqRwIhALa6tJnx2X8XV+U0noc/ScNxGRR5kYu2NpbpO3ngN7AV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5714025},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.8.3.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","actor":{"name":"samanhappy","type":"user","email":"samanhappy@gmail.com"},"email":"samanhappy@gmail.com"},"_resolved":"/tmp/4c6d086f6e8b845f54dffc7521ecf579/samanhappy-mcphub-0.8.3.tgz","_integrity":"sha512-8lBS1s1uqZS0xFXXMPKxUdHQAINnDS2BoDY68VWyW/Oho8l6MMN9IKfRPNS7zhe7WcWC+7XMb5MqqEA8Z0UhFQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.2","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.8.3_1751278110584_0.047750998639780606","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@samanhappy/mcphub","version":"0.8.4","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.8.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"8b0f59c9e93cd48c4285a2610208c14c01603052","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.8.4.tgz","fileCount":100,"integrity":"sha512-5Xhpa24aGnfYBlF/kb8vY9RNUBq0M1TzbM6j4cWEJSU/mTu1WF1WJydeMBsAtaEnmef/MgDtdz1TmqHCuwNAYw==","signatures":[{"sig":"MEUCIQChvM98p5QtPMA1Ixcn1XUf/suHbcbsLFbIiAhigwpzxgIgOU/FQks1v9tT6rafdII8dWQHKgXMA3Wtrhrz0/4ioL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5774689},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.8.4.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/2d7a03d5bed8d7d7ccbb88540dda65f6/samanhappy-mcphub-0.8.4.tgz","_integrity":"sha512-5Xhpa24aGnfYBlF/kb8vY9RNUBq0M1TzbM6j4cWEJSU/mTu1WF1WJydeMBsAtaEnmef/MgDtdz1TmqHCuwNAYw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.3","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","@swc/core":"^1.13.0","@swc/jest":"^0.2.39","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.8.4_1753195332605_0.23544820397196342","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@samanhappy/mcphub","version":"0.8.5","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.8.5","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f37ce4b7519ac993b6e0d90a0ba67d9352c38e56","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.8.5.tgz","fileCount":100,"integrity":"sha512-9hIhi6bNRG3wNaYQ6QXwprAAf73Fdf0aT0R5Qb/LLHl4M6SJQgE91pZBtAgDeV8oEPx+0Lf1RCegvPPVtZ5U7w==","signatures":[{"sig":"MEMCH0dHer/AxC/MjUZmAQTGlvy9BY+ii5QZLrOsI2TyS3QCIG0NTSDAU5AkTDPeJqtcQuoLriJue/NExPufvStVcp94","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5791334},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.8.5.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/7f244bf3b816cd57530aefd6350c07b2/samanhappy-mcphub-0.8.5.tgz","_integrity":"sha512-9hIhi6bNRG3wNaYQ6QXwprAAf73Fdf0aT0R5Qb/LLHl4M6SJQgE91pZBtAgDeV8oEPx+0Lf1RCegvPPVtZ5U7w==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","@swc/core":"^1.13.0","@swc/jest":"^0.2.39","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.8.5_1753425179135_0.020185961560526433","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@samanhappy/mcphub","version":"0.8.6","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.8.6","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"625eb421dbbf6fd696af28b828892d8a685103ea","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.8.6.tgz","fileCount":100,"integrity":"sha512-dRtYgo8+A83AB0HOk3xdLYWSAhN1f9m5CaL0ojkGnIr/AqavuqKMFG42ccC3/SzuoF4wpvuGLnBnX3C/caz7kw==","signatures":[{"sig":"MEUCIQCwxfMw8YQH6eYUTCxLMlhHx8jPo5dd+II7Nzt38K2ReQIgCbyVIwwm+BtfR5kRqk5NpUh7AV/JLlFOW7cNc3gZPa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5840841},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.8.6.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/cdfb35fb434527220189ff3959c9525d/samanhappy-mcphub-0.8.6.tgz","_integrity":"sha512-dRtYgo8+A83AB0HOk3xdLYWSAhN1f9m5CaL0ojkGnIr/AqavuqKMFG42ccC3/SzuoF4wpvuGLnBnX3C/caz7kw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","@swc/core":"^1.13.0","@swc/jest":"^0.2.39","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.8.6_1753783713442_0.1408097460011366","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"@samanhappy/mcphub","version":"0.8.7","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.8.7","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"d0f6b40a37b633c6780c560ac27ae8f570286c7b","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.8.7.tgz","fileCount":104,"integrity":"sha512-E4eD7N1gDEtPzviKTrHpJxdvR0ZOEYW3W+u4wKqK5TMadRIzukD+4YS2pXGTK1ByUaOlwQg9cPrGz7IS9OypaA==","signatures":[{"sig":"MEUCIQCb8VS7CIiGw2lAD8GaP9iXIu+1+/+j4Tq0ukHr4N7A/QIgG3yUkdxfQLHt6iL+EYWnkgddOCgCpw855l/6E6Nih8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5846699},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.8.7.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/eeaea5b2dadd065ccea1951600b04957/samanhappy-mcphub-0.8.7.tgz","_integrity":"sha512-E4eD7N1gDEtPzviKTrHpJxdvR0ZOEYW3W+u4wKqK5TMadRIzukD+4YS2pXGTK1ByUaOlwQg9cPrGz7IS9OypaA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","@swc/core":"^1.13.0","@swc/jest":"^0.2.39","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.8.7_1754384836338_0.0038760900937913068","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@samanhappy/mcphub","version":"0.9.0","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.0","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"16254efd3deb418f0c402a934669224442f4ffdc","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.0.tgz","fileCount":110,"integrity":"sha512-lNc2JLMmefS1OAp4oRUf3J0kLgLEiQF5G79TkWiiwOQ/klfQQJMNb2h9g4kn0xExWS8d7jxtdIr1aAsWku/hqw==","signatures":[{"sig":"MEYCIQCPS37piNta6MjVb3Q1/hOSKHPqlrjysFww0YMw13SNDwIhAOpf/SkYYeToh1dV9Q5+qD7tjNZzNpQloJCLRYbCMHy0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6030339},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.0.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/682b652ad02def1c7f42f2d0836b13d2/samanhappy-mcphub-0.9.0.tgz","_integrity":"sha512-lNc2JLMmefS1OAp4oRUf3J0kLgLEiQF5G79TkWiiwOQ/klfQQJMNb2h9g4kn0xExWS8d7jxtdIr1aAsWku/hqw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.12.1","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","@swc/core":"^1.13.0","@swc/jest":"^0.2.39","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.0_1754893708519_0.3335523771072888","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@samanhappy/mcphub","version":"0.9.1","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"d828504b5d070c5751fc502ce86597aadad6d216","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.1.tgz","fileCount":112,"integrity":"sha512-O+LIcuQkGqkpIhMBveFnSr3SQxubaFi7d+mDS6gaJfkPYPT7jNxjN46t4pdXwWy6ri2iyKcHUXvG6DNPavAhgQ==","signatures":[{"sig":"MEUCIHzJJy3xkejVb11SCty6IU4UuUwb20t2iY2KxVHO2AoWAiEAhRQ+DBfgyCuXQDgvvSa2KPnl7XBQAqILdawilxTR70g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6046595},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.1.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/00fcd61e00ab7fd1d3f9bbca5cceaedd/samanhappy-mcphub-0.9.1.tgz","_integrity":"sha512-O+LIcuQkGqkpIhMBveFnSr3SQxubaFi7d+mDS6gaJfkPYPT7jNxjN46t4pdXwWy6ri2iyKcHUXvG6DNPavAhgQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.2","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","@swc/core":"^1.13.0","@swc/jest":"^0.2.39","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.1_1755155947840_0.9438971905775704","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@samanhappy/mcphub","version":"0.9.2","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"c1162b6ef7756c8e1539f1ba90de535952991c5f","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.2.tgz","fileCount":114,"integrity":"sha512-u9oL02nSg1k3aaN4TQtVhJC1CKpeXhitEKJPmUOGZzPZEKT31UcdY7+TY7qNZoijijlDfUoC36EwIQE9wpgEFQ==","signatures":[{"sig":"MEUCIQDEkmYk1ZeWTjq8qXiZj8dZ1WgHVAEQNVczl0wKTUegeQIgCCvA5MbM62Eo4cuJC4arMknjwOY4RdBP7kEuU3FUqCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6107953},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.2.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/f1981f925bfe52b4ff9745f5c36e5d42/samanhappy-mcphub-0.9.2.tgz","_integrity":"sha512-u9oL02nSg1k3aaN4TQtVhJC1CKpeXhitEKJPmUOGZzPZEKT31UcdY7+TY7qNZoijijlDfUoC36EwIQE9wpgEFQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.2","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","@swc/core":"^1.13.0","@swc/jest":"^0.2.39","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.2_1755764479903_0.8043686840588611","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@samanhappy/mcphub","version":"0.9.3","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.3","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"846d32111e907efeb06d26c5f383be4143e85515","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.3.tgz","fileCount":114,"integrity":"sha512-NOawJPQ1hobg9DHmYzR+N2xTQnlx0XvsNA4XO3gbhJ1mYEXyQaWSyQYbXgrrrkeT4/fZCaV3s9dj25ZtEG8mHg==","signatures":[{"sig":"MEQCIE06spexY8UumTbw98x8OtvUczxqGVkcaDU4aG+idhf7AiBZJ0Z08eCUYZ1PjoyRHNiOD5LjLsR2AG5XPjiuGk0aDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6105951},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.3.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/1fc85616fd3e35cb2fb847136c3d252e/samanhappy-mcphub-0.9.3.tgz","_integrity":"sha512-NOawJPQ1hobg9DHmYzR+N2xTQnlx0XvsNA4XO3gbhJ1mYEXyQaWSyQYbXgrrrkeT4/fZCaV3s9dj25ZtEG8mHg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.0","uuid":"^11.1.0","axios":"^1.10.0","dotenv":"^16.3.1","multer":"^2.0.1","openai":"^4.103.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.24","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.2","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.2","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","zod":"^3.24.2","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.2.4","vite":"^6.3.5","react":"^19.1.0","eslint":"^8.50.0","i18next":"^24.2.3","postcss":"^8.5.3","ts-jest":"^29.1.1","prettier":"^3.0.3","@swc/core":"^1.13.0","@swc/jest":"^0.2.39","react-dom":"^19.1.0","supertest":"^7.1.1","@shadcn/ui":"^0.0.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^22.15.21","@types/uuid":"^10.0.0","tailwindcss":"^4.0.17","ts-node-dev":"^2.0.0","@types/react":"^19.0.12","autoprefixer":"^10.4.21","concurrently":"^9.1.2","lucide-react":"^0.486.0","react-i18next":"^15.4.1","@types/express":"^4.17.21","tailwind-merge":"^3.1.0","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.0.4","@types/supertest":"^6.0.3","react-router-dom":"^7.6.0","@tailwindcss/vite":"^4.1.7","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.9","@radix-ui/react-slot":"^1.1.2","@tailwindcss/postcss":"^4.1.3","@vitejs/plugin-react":"^4.4.1","jest-environment-node":"^30.0.0","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.3","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4","i18next-browser-languagedetector":"^8.0.4"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.3_1756023087568_0.6549583861108221","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@samanhappy/mcphub","version":"0.9.4","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"531ffc31ab1dd8ce47eb1c31b65dda5db9a1a3de","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.4.tgz","fileCount":118,"integrity":"sha512-VCTjDlCKAN3MN5o2ulm0QwOqfhsGaVguoDgUbHUib8s+QWKT6xYRckreTiMKI2YSivl1E9uLF64Jhf0bOL2WuQ==","signatures":[{"sig":"MEUCIQD8jhUH20DCStzaJE1Juq3AAcMR+hRMxnBeda51wmBWkQIgOHxzAUVj+HijuGmCepxCDS0zfQWGT6lDmTahVGB0y6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6064595},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.4.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/7ed8b1d809bf9a912c9aaeb3dc542936/samanhappy-mcphub-0.9.4.tgz","_integrity":"sha512-VCTjDlCKAN3MN5o2ulm0QwOqfhsGaVguoDgUbHUib8s+QWKT6xYRckreTiMKI2YSivl1E9uLF64Jhf0bOL2WuQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.11.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.4","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^24.2.3","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^22.17.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.4_1756191791395_0.9628986191419564","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@samanhappy/mcphub","version":"0.9.5","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.5","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"b5c9034b905d9e1bba9e69cb62d2fab923869987","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.5.tgz","fileCount":118,"integrity":"sha512-Rjz337fZxXYs7z2w5g1Aaz7vatYAhXyaIz8cv7hnnf+12o5aaddrmVeaqfwXk+QJn1suPccmwbmQzk16RmN8nA==","signatures":[{"sig":"MEUCIQCjXPlBe/CfkT5bMbvrj2AhQ4t/n58hBqAip095kv5gTQIgUff61+ZkSy1+NUhwghUU/knG1/2pu/ciwkIGR8M2glE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6064183},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.5.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/7b50dfbd3b4ee46aad1d737f91bf64ee/samanhappy-mcphub-0.9.5.tgz","_integrity":"sha512-Rjz337fZxXYs7z2w5g1Aaz7vatYAhXyaIz8cv7hnnf+12o5aaddrmVeaqfwXk+QJn1suPccmwbmQzk16RmN8nA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.11.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.4","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^24.2.3","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^22.17.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.5_1756205458859_0.9152627187060955","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@samanhappy/mcphub","version":"0.9.6","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.6","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e65d88ce902d10c7d0f48bc6392c0bc3e412c0fd","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.6.tgz","fileCount":146,"integrity":"sha512-YKsYhyHkSFwTVfncaAcCZDLJa9hTBtBT7LvSXEpxKU5OsXEVgCjrOWOS3joSki8Cl97Hwu6MWDuMYW9z7wQBYA==","signatures":[{"sig":"MEUCIQD+s8dxaN/Wv9XXWvfm3CO4uYZQQfErnh/Zd7Qpk3iQmAIgPOQhLopwS9V3HggrF4w17yFDvUZ6cwa2CBdh7yMgoE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6187879},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.6.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/5234259a1671525d63f81e14fc00f112/samanhappy-mcphub-0.9.6.tgz","_integrity":"sha512-YKsYhyHkSFwTVfncaAcCZDLJa9hTBtBT7LvSXEpxKU5OsXEVgCjrOWOS3joSki8Cl97Hwu6MWDuMYW9z7wQBYA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.11.0","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.4","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^24.2.3","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^22.17.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.6_1756304070058_0.02971279430145346","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@samanhappy/mcphub","version":"0.9.7","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.7","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"2ba9442d2213e241afe7071f125205534bad6c3c","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.7.tgz","fileCount":146,"integrity":"sha512-49SgJzLF9cbPs5CdWeVWuZ0CF/yPGgDHf3xCXIM3UV2uxsZh0SSstDLN/WD592VVclNRFFTxW3qm+5ZXihYWcQ==","signatures":[{"sig":"MEQCIE3LC5unYCeAzzqs3EGJFSkGWsSLtY0JF7wS0E/rAhC5AiB1hyjqlX+j1EKWJn5CWwT97Q0eIHf8MAKNQg9VMGHjHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6196411},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.7.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/b94eaea088e39c532960a2291fe486b1/samanhappy-mcphub-0.9.7.tgz","_integrity":"sha512-49SgJzLF9cbPs5CdWeVWuZ0CF/yPGgDHf3xCXIM3UV2uxsZh0SSstDLN/WD592VVclNRFFTxW3qm+5ZXihYWcQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.11.0","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.4","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^24.2.3","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^22.17.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.7_1756623138484_0.6184046648157395","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@samanhappy/mcphub","version":"0.9.8","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.8","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"2fbd876a0888d261401895dfc18a347cecc10fac","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.8.tgz","fileCount":146,"integrity":"sha512-A/jqbt/LKQwIj3cMGnh6Z6Xv0PVEnM37DNB+/+XNZYtl3vCIHaJT/nJ5E/plHyu/mhHUKp3w0k+UTQrFJUUyzQ==","signatures":[{"sig":"MEQCIHCihVezcwVAfaCctDt0oqiKfsxK2vrmSgDwqbf0KW9cAiAQuFjAkR+vJRSqVKXLlL+vxRKKWzyntqhh57cwjSR59w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6196553},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.8.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/ab8f761c35342c8225ad337d7bf3823d/samanhappy-mcphub-0.9.8.tgz","_integrity":"sha512-A/jqbt/LKQwIj3cMGnh6Z6Xv0PVEnM37DNB+/+XNZYtl3vCIHaJT/nJ5E/plHyu/mhHUKp3w0k+UTQrFJUUyzQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.4","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.11.0","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.4","@apidevtools/swagger-parser":"^11.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^24.2.3","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^22.17.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0-beta1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^6.21.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.8_1756693062735_0.966694301439885","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@samanhappy/mcphub","version":"0.9.9","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.9","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"57cb85fd55c016ae12ed2c71037a5aa0b0b23d78","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.9.tgz","fileCount":146,"integrity":"sha512-gTveu1oQ9L56lM0NnLwBw6FGsbgosKhHYn6Dn3VkX0T1VqVCaFUuZhmoeVkhAnP9vUfe5+mAFldEFaM37M2g0A==","signatures":[{"sig":"MEQCIFgPm1SRSv1N3qKqMNh6y7lDZUh7/BYINIjEE5IGRRLaAiA6nrNn1v4fny+85fJ4YXeEltyfvT00wzcFZNnt+pYGRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6216282},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.9.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/ae45736f0a289cf864a92c287ec54610/samanhappy-mcphub-0.9.9.tgz","_integrity":"sha512-gTveu1oQ9L56lM0NnLwBw6FGsbgosKhHYn6Dn3VkX0T1VqVCaFUuZhmoeVkhAnP9vUfe5+mAFldEFaM37M2g0A==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.11.0","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.17.4","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^25.5.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^22.17.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.9_1757658655415_0.47605158509782264","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"@samanhappy/mcphub","version":"0.9.10","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.10","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"42a7138fd7a8d20c8741fb5d5d758c38170a210d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.10.tgz","fileCount":149,"integrity":"sha512-CohyTKmjnPL51V3hSgWDbt19bF22iEnvTP3A/RGJ1Aviv3XWDA7GEgHv4AihhGSSiMK7G0UFnak34kAzM//W0Q==","signatures":[{"sig":"MEYCIQDWCPy4tHCCW/EZhJ4bLTCmYqzqhugBlWDHkBfgb/ufowIhAKHF2y9imQGlsI61bIa7ij4i0jaMvD5Lq/Qxyo80PCuQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6240045},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.10.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/93161646783766fa4b1a12c9964871a8/samanhappy-mcphub-0.9.10.tgz","_integrity":"sha512-CohyTKmjnPL51V3hSgWDbt19bF22iEnvTP3A/RGJ1Aviv3XWDA7GEgHv4AihhGSSiMK7G0UFnak34kAzM//W0Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.18.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^29.7.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^25.5.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^22.17.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.10_1758360425469_0.3270254654511271","host":"s3://npm-registry-packages-npm-production"}},"0.9.11":{"name":"@samanhappy/mcphub","version":"0.9.11","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.11","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"65454af2ce9f969cc733c1c288049476bbbbff09","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.11.tgz","fileCount":151,"integrity":"sha512-r0Tdw5NjatlASjvi9Z1BN1j3KWPhjgl4zkezWbjBliAlHvtgzKXTerA61/7jwsPovxUTwlMfc+UKhqhei2Yq7g==","signatures":[{"sig":"MEQCICGEgWi8Q5p0g5m+5zfFvNljXShz1OOOR+OsTWADKEwBAiAjJHN/F7zwjSIlfUYWURsLYyYmD2gZa0pqusEpy3P0Hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6297455},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.11.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/c8af94be9a44e6ea04d291a4a079e5ab/samanhappy-mcphub-0.9.11.tgz","_integrity":"sha512-r0Tdw5NjatlASjvi9Z1BN1j3KWPhjgl4zkezWbjBliAlHvtgzKXTerA61/7jwsPovxUTwlMfc+UKhqhei2Yq7g==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.18.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^25.5.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.11_1759390129590_0.9984930264261458","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"@samanhappy/mcphub","version":"0.9.12","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.12","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"c521fa98f93f3202e98ded058307f0276b2dd6b3","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.12.tgz","fileCount":151,"integrity":"sha512-wz3g+Dlg+CzxzKBOU19wXhtsdKL528xjsthdiodlJcUkp5tIRiNyfeQ7g55wbOPQgFCfUDBV38awjwrQQGTxaQ==","signatures":[{"sig":"MEQCIDKFLDSVXcVPv2/rfyVTj3xt8tQRlHbjQTV5QwIg/4bPAiAN4YtY4m7Pd26tzp+1TBgzA18tSadsQf4JEAEwnjQFfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6298041},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.12.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/9aa5e13b91c9c5d701a021aeda9aab06/samanhappy-mcphub-0.9.12.tgz","_integrity":"sha512-wz3g+Dlg+CzxzKBOU19wXhtsdKL528xjsthdiodlJcUkp5tIRiNyfeQ7g55wbOPQgFCfUDBV38awjwrQQGTxaQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.18.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","i18next":"^25.5.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.12_1760197626692_0.014973281563177787","host":"s3://npm-registry-packages-npm-production"}},"0.9.13":{"name":"@samanhappy/mcphub","version":"0.9.13","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.13","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"699afecfe77e25ee70093241bac5261c09d0a77c","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.13.tgz","fileCount":151,"integrity":"sha512-1oBj/eJRWXWMKkMpR/a7FVihEkLAf1ic3faCgo97wBf2q5ZBy9TlctNsgsyeO7eeF5N6pIQwLd/joB18wyngXA==","signatures":[{"sig":"MEUCIDERrxK7wmtpH/mqLxdPHbmqI/r1A5jsS1mtyFUrukTwAiEAnsuXs8/zzyczpAWKWinwX+Z/5LpVyhcEN/t0KXB0KjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6321702},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.13.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/2546143218316bc0580e0ebc509245b8/samanhappy-mcphub-0.9.13.tgz","_integrity":"sha512-1oBj/eJRWXWMKkMpR/a7FVihEkLAf1ic3faCgo97wBf2q5ZBy9TlctNsgsyeO7eeF5N6pIQwLd/joB18wyngXA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.18.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.13_1760355639048_0.7477552525580187","host":"s3://npm-registry-packages-npm-production"}},"0.9.14":{"name":"@samanhappy/mcphub","version":"0.9.14","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.14","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f243d445311466d5f73a77a4aefffc33f11ffeaa","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.14.tgz","fileCount":153,"integrity":"sha512-NaP61hOP8TC4t5zHr+pGf8PSUOsSgbO6Cu+sTumPImZz/o70GRQtlREPUp/qAXgc2ZOp8YRuKgaBDpAb41653Q==","signatures":[{"sig":"MEUCIEhl16AR789cP2M/L0VeRlc2vyakw3CZ81OdgE8MrsgbAiEAwjgTMY8jwf9sLq3Tog0F/KsquCTneZ0Av8fOtizH+oY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6332087},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.14.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/b8c7e4b4c69717cd1f4984ace2d18a49/samanhappy-mcphub-0.9.14.tgz","_integrity":"sha512-NaP61hOP8TC4t5zHr+pGf8PSUOsSgbO6Cu+sTumPImZz/o70GRQtlREPUp/qAXgc2ZOp8YRuKgaBDpAb41653Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.18.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.14_1760366400647_0.6070145730222591","host":"s3://npm-registry-packages-npm-production"}},"0.9.15":{"name":"@samanhappy/mcphub","version":"0.9.15","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.15","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"7d10b8708f2a5d5d71a6c15ba2471d291943de41","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.15.tgz","fileCount":155,"integrity":"sha512-jzzKs4h+50kZI2xvTaa7CugSn+G9ZGn+DNKJ5n19ixHpbGYrlUrjY13iY8dpL/uf5WHY8VW61Xc12pU1ByxDPw==","signatures":[{"sig":"MEUCIQCG1D3aTLm/C691oklcsnelAmfatw/wEX9mJu5XAgWZKAIgAS8XcmaXp8CVzGgPJK+AWTcB+eaPqvol7KmUXj/FN5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6457181},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.15.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/083709275c450fae4a2ec142b89c1608/samanhappy-mcphub-0.9.15.tgz","_integrity":"sha512-jzzKs4h+50kZI2xvTaa7CugSn+G9ZGn+DNKJ5n19ixHpbGYrlUrjY13iY8dpL/uf5WHY8VW61Xc12pU1ByxDPw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.18.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.15_1760880014377_0.545449935741092","host":"s3://npm-registry-packages-npm-production"}},"0.9.16":{"name":"@samanhappy/mcphub","version":"0.9.16","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.9.16","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e3b83a3b040d7e0a0575d161e920440df7109a6d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.9.16.tgz","fileCount":155,"integrity":"sha512-E/HEXEoZyX3ZkrIfK/KA/b0TG/W+LH2T2y6W2JQJK4jbebLETY6lGmqBOfk78y0Y+nR9DL9nIhoCIR50MGExEA==","signatures":[{"sig":"MEQCIA0WlDl5zp8TfIuWejRzdp0PVEoeM2JLWj28meTNZJOhAiBo18nNk+S4LJ+NiCVryBKxQO6LtrKNV4Vi1kjMlmZ2XQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6457488},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.9.16.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/27ed04a85b74ead0302974ddc20d3600/samanhappy-mcphub-0.9.16.tgz","_integrity":"sha512-E/HEXEoZyX3ZkrIfK/KA/b0TG/W+LH2T2y6W2JQJK4jbebLETY6lGmqBOfk78y0Y+nR9DL9nIhoCIR50MGExEA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.18.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.9.16_1761106065430_0.0370039081335638","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@samanhappy/mcphub","version":"0.10.0","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.10.0","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"af663983ba336d0fde2b0449efe3db539357bc86","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.10.0.tgz","fileCount":167,"integrity":"sha512-b3IKunOBqcGqOX97HkRdjWMfRjl2w3bloxfpjEPbqYjFy7DwEmkCRSaUnHAODzGeaMtjto1dMmqKDTy3WpDn3w==","signatures":[{"sig":"MEUCICnqeNanLx2eTD3/TdjeNZtcaLnYj5XEPjrKW3odfs01AiEAwl+a1O2ZsbL0rjUZp4TlkB1PeavAfhGzL/tWZ5StecI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6660859},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.10.0.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/ecedfdfab3b6cac14e19c4ca6ba89951/samanhappy-mcphub-0.10.0.tgz","_integrity":"sha512-b3IKunOBqcGqOX97HkRdjWMfRjl2w3bloxfpjEPbqYjFy7DwEmkCRSaUnHAODzGeaMtjto1dMmqKDTy3WpDn3w==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.10.0_1761547898147_0.6604133242662846","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@samanhappy/mcphub","version":"0.10.1","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.10.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"a9a137ef4f0ed6c18bda06a5e888bc16d1eb37bc","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.10.1.tgz","fileCount":169,"integrity":"sha512-ip53H5ghf+Kmnzpn3IpChURCIggZmvTFKDj9WTLPuMO0BqVdu+Hl8zbg4ZgwVN7aK47R2gNirgI+BJaZwN849Q==","signatures":[{"sig":"MEUCIQCWE4DJY+TNXiSojCE1Wf5uGlTeXQl+hFKf4ZU6vSCCwQIgRXpe5L9zaLsjW4bMOMaoc5eIWCRNu5KuB4HpIU6BbV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6668605},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.10.1.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/e2435441f6961d82b881cd63424aed46/samanhappy-mcphub-0.10.1.tgz","_integrity":"sha512-ip53H5ghf+Kmnzpn3IpChURCIggZmvTFKDj9WTLPuMO0BqVdu+Hl8zbg4ZgwVN7aK47R2gNirgI+BJaZwN849Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^4.104.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"^19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"^19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.486.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.10.1_1761734725343_0.9011532890530278","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@samanhappy/mcphub","version":"0.10.2","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.10.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"36379d721021cb7e07019c8a0b3d3dbd76441efe","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.10.2.tgz","fileCount":169,"integrity":"sha512-CKOGR1MTwLlDBNlCz9ccTaCGFZcH9h0FQKHSwsqSCh3+RGKQftqZ+dJdVx8ByBfys5tuS0Q8EU3bp3i19BeaXw==","signatures":[{"sig":"MEYCIQDmUmUkg55k/dnR0HfROValgI6QaIY0kF+ymzW+1W6TswIhAJj7Bmwt9y6GpZ7gFGjhaN2Dg099fdwpYYxILnt20lNi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6706710},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.10.2.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/9d3d1ed48d233f990a87886332c6c0b1/samanhappy-mcphub-0.10.2.tgz","_integrity":"sha512-CKOGR1MTwLlDBNlCz9ccTaCGFZcH9h0FQKHSwsqSCh3+RGKQftqZ+dJdVx8ByBfys5tuS0Q8EU3bp3i19BeaXw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.10.2_1762095871849_0.22319813535374444","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@samanhappy/mcphub","version":"0.10.3","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.10.3","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"3cfa029b9dbab6282ba226286c53ed491b1614c4","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.10.3.tgz","fileCount":169,"integrity":"sha512-n7Rpnda05EhES0HKx6ZouRq6kqr3jXniNKkTv31mrcImZ86N5jk8iN/iTHMgP871BKdfhZvOPSVaKw0lhSfL+w==","signatures":[{"sig":"MEUCIQCjCwcDFvVQPczB5F9qsBLgRE1+TQJeceFyYbUvGVQSwAIgXiyjfAtGY8OJOyJ3Vh0NJNRLRLLfYJlu15IVrt0z7SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6698594},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.10.3.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/d399ced2e04fdbaef21d96f5921fe730/samanhappy-mcphub-0.10.3.tgz","_integrity":"sha512-n7Rpnda05EhES0HKx6ZouRq6kqr3jXniNKkTv31mrcImZ86N5jk8iN/iTHMgP871BKdfhZvOPSVaKw0lhSfL+w==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.10.3_1762150717650_0.48739914152696917","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"@samanhappy/mcphub","version":"0.10.4","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.10.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"78a1996945259b7b285c99d75c26b91c3fc35786","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.10.4.tgz","fileCount":183,"integrity":"sha512-X4roYOeXMz/B42JpNgSOpaDq6mmltebuWqh3q77X/kEliYmAOjYQ6axIAnfgno6zCl8HAStEvKcyHQFevSGR1Q==","signatures":[{"sig":"MEYCIQDLibIFMf+kGo/vvoTZTh7UCD/WXWHhmWW07nNUKDlncwIhAJnXGl5EjfylGFkzOEp5cjf17fktni4WIeqWFG9pWBD/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6934348},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.10.4.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/7d03a9cac3fe8fd7e46d2837537d22f3/samanhappy-mcphub-0.10.4.tgz","_integrity":"sha512-X4roYOeXMz/B42JpNgSOpaDq6mmltebuWqh3q77X/kEliYmAOjYQ6axIAnfgno6zCl8HAStEvKcyHQFevSGR1Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.10.4_1763720686933_0.38301165622762046","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"@samanhappy/mcphub","version":"0.10.5","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.10.5","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e6bdb4c817b046a433700862c7c16cc17160b973","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.10.5.tgz","fileCount":183,"integrity":"sha512-El3S3xfaVJKfIlzjsBfD4XADUUxtPK18dZ2Y/GQFWEq0yvEbhzmwv80/vS57oI5+JqNmAFaPaYfwC9rgN5TV6Q==","signatures":[{"sig":"MEYCIQCIzLlz5camjZmwl1zwJJJF7Usl/9KGGVcMuGt8VfN/hwIhAOYAoDL0J7jgw8dhJ62rgjOaLmuP/wyqpv1ZkYD/VUFv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6936002},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.10.5.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/5eaba5c236b61a22d3afc2cc665312e7/samanhappy-mcphub-0.10.5.tgz","_integrity":"sha512-El3S3xfaVJKfIlzjsBfD4XADUUxtPK18dZ2Y/GQFWEq0yvEbhzmwv80/vS57oI5+JqNmAFaPaYfwC9rgN5TV6Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.10.5_1763784587549_0.24002389487949172","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"@samanhappy/mcphub","version":"0.10.6","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.10.6","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"11b2adcf23164fe36301091465098a352895f30c","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.10.6.tgz","fileCount":181,"integrity":"sha512-6mUojVo7mhOCgjAfG2Av0TRp7Avnh4A04xtw8l+FZNVJGc9WpWGiQ4IeUnKm6grkeLyD6gX74DhFAh47TZ6brg==","signatures":[{"sig":"MEUCIBKc9xDtEYWPZ7jrvE70AnnFvuBM0hGEF538S0tEPXlRAiEAlajskEmyJ+ZKpDIC2q6/Y7Xasyn0atKTBhWu6CRstsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6946698},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.10.6.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/3b702b68a7be713bbdb0aa7d80593040/samanhappy-mcphub-0.10.6.tgz","_integrity":"sha512-6mUojVo7mhOCgjAfG2Av0TRp7Avnh4A04xtw8l+FZNVJGc9WpWGiQ4IeUnKm6grkeLyD6gX74DhFAh47TZ6brg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.10.6_1764250559216_0.9199013722230931","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@samanhappy/mcphub","version":"0.11.0","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.0","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"88cbdf7f1669ab2530eaf1ea07c0e33fa65908d7","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.0.tgz","fileCount":219,"integrity":"sha512-CyQTdfhQPp1wr0hAPZ+iV+y9fT5VFlMv/SuDEaYiwJ3QfTQCIF3Kt0uwHJF64fgzFofh6cAZKcVWGVHA4t3tYg==","signatures":[{"sig":"MEUCIBsyP9kRDyGZtK0IdrII98MiGp5gTFzUWxia3lQuyV+BAiEAkl8eUxJo7A1pJ6bhG7bSBGyC4uTble+gPEEy750c7KM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7033753},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.0.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/9c02407867832222d99045f45a018fe6/samanhappy-mcphub-0.11.0.tgz","_integrity":"sha512-CyQTdfhQPp1wr0hAPZ+iV+y9fT5VFlMv/SuDEaYiwJ3QfTQCIF3Kt0uwHJF64fgzFofh6cAZKcVWGVHA4t3tYg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.0_1764495626585_0.41469273406854623","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@samanhappy/mcphub","version":"0.11.1","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"4be235b6203321609f8c68649252ab1fbd60a56d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.1.tgz","fileCount":235,"integrity":"sha512-CF5P+TRmNXFGYfKTTl7fT/z9l7H4o3ZE3j8+WaKlAVuFPtPeHTVSfXnpoyQ1RjIfjxHJUteg6xSia3NetGkRJQ==","signatures":[{"sig":"MEUCIQD575EJyPdFfrr+P8nev5uVhnCdGjDhPD5im2VS3HUp7gIgfmC9EuB2fo6UqvgIyPyzDiRjAHGYTlhihO9HfXBXUuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7101466},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.1.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/a6a07d308a16406039e5210ed1d12941/samanhappy-mcphub-0.11.1.tgz","_integrity":"sha512-CF5P+TRmNXFGYfKTTl7fT/z9l7H4o3ZE3j8+WaKlAVuFPtPeHTVSfXnpoyQ1RjIfjxHJUteg6xSia3NetGkRJQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.1.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.1.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.1_1764731882931_0.04186588470332797","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@samanhappy/mcphub","version":"0.11.2","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"68a709fd3a534728fbbd61db682f527600a2728a","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.2.tgz","fileCount":235,"integrity":"sha512-Zlt+DY6JHUsfKfy9h6rx+J51KXSjAxdCUSt26WZ7nMO09gC1h8GlyvYMhIryxsFUFYl7XWXmn/cchgcYSTnmuA==","signatures":[{"sig":"MEQCIAeJY3LP3X1hvZWLT9UWoPNWGoWRZrh5GgYoOyHV0YTJAiBb4uakhs3xk2tbcqgwq9JrmXL9TfiV5q4s90rxSnhexA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7148664},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.2.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/162ba8a6016179579fe9be069f342fb0/samanhappy-mcphub-0.11.2.tgz","_integrity":"sha512-Zlt+DY6JHUsfKfy9h6rx+J51KXSjAxdCUSt26WZ7nMO09gC1h8GlyvYMhIryxsFUFYl7XWXmn/cchgcYSTnmuA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.2.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.0","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.0","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.2_1764847620709_0.2298703384530325","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@samanhappy/mcphub","version":"0.11.3","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.3","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"acde948ddd330318631d0ff57f91e875b8d4959e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.3.tgz","fileCount":235,"integrity":"sha512-0rLY4RxU0FVtbNuQuRIO/VR7XIJGROtirT2jQfvZlhYQJeoNCZ0J2LIEvrlQsh7nISJy8K1sMG6fN8/2JRS3pQ==","signatures":[{"sig":"MEUCIEFezyIJqMktGA0I0Oi7KjpTzcrPAR4QW8jQfyPJIZygAiEAtisiUtcV5nIqeGBaHhK2KS7BGKxHjrxYFJT0X91RQYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7148664},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.3.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/5e3f9381d7275fa663861f01c79d7297/samanhappy-mcphub-0.11.3.tgz","_integrity":"sha512-0rLY4RxU0FVtbNuQuRIO/VR7XIJGROtirT2jQfvZlhYQJeoNCZ0J2LIEvrlQsh7nISJy8K1sMG6fN8/2JRS3pQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.0","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.0","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.3_1764928718249_0.08274019582373637","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"@samanhappy/mcphub","version":"0.11.4","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"d13c8be158a427d8eb33d9a8b038c6495f6d7936","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.4.tgz","fileCount":235,"integrity":"sha512-/W6eSfky/2cuyHyh7wfEyKMIXS+EpDlxoiupf0axHUcd/Pr3F45niWrWI7NbgY1ZSYkn6ZG3TgHyYUZ9GMLkbw==","signatures":[{"sig":"MEUCIHJaLIQxWSpEPT50Y85DIv0YjNMwxUyCW8pgG3dNOpKJAiEAhYr5Cr8HTYm4ZbEqTloQG7ze60FUUOYYYff0SZJtBXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7148664},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.4.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/1b0c94f2c7a1672fb99796c7d78c27f1/samanhappy-mcphub-0.11.4.tgz","_integrity":"sha512-/W6eSfky/2cuyHyh7wfEyKMIXS+EpDlxoiupf0axHUcd/Pr3F45niWrWI7NbgY1ZSYkn6ZG3TgHyYUZ9GMLkbw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.4_1765008098479_0.3131143636507132","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"@samanhappy/mcphub","version":"0.11.5","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.5","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"65681f1684efb1007fdebba17564a0d051d14127","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.5.tgz","fileCount":235,"integrity":"sha512-xOxVZOQCzq1G85CXoHnJRUn7bemKewOrAxZqFefIVQduaa3Kr3PdxwNVvzGP79amy2TCOh21NgQUtoJlVXeLow==","signatures":[{"sig":"MEYCIQDuEZ3MxB2Kk6FW3PuRvwl/LQ/VOznFveTcLRaxpGYP5AIhAKTKh53VMXlkybC4dIMKf/aC/NTkfgjSH5QcePO/LmBJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7197988},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.5.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/0b3c43a55f2323b1a73ca7e1eddc8a6d/samanhappy-mcphub-0.11.5.tgz","_integrity":"sha512-xOxVZOQCzq1G85CXoHnJRUn7bemKewOrAxZqFefIVQduaa3Kr3PdxwNVvzGP79amy2TCOh21NgQUtoJlVXeLow==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.5_1765447599310_0.5584352184701924","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"@samanhappy/mcphub","version":"0.11.6","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.6","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"c96d2105602f83158595ee1049c4285097aec603","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.6.tgz","fileCount":245,"integrity":"sha512-RVi9cLB9VBKORXqCysEAGFR3w2XLitRbzIND0MvtjcUgAWF8r86QEjmUq5mLibEgnfbx+7X47JHtBd+34k0sEQ==","signatures":[{"sig":"MEUCIG9U4I1b51Kd6iJWPX1J11AEzzks42EnjFehegiVrLHNAiEAvozbS8L/rSSa4ibExl9cKBB6oVtuveckVhgm9Q03FUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7321995},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.6.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/7ef555f0c614fd7ae07d56a5a69e4157/samanhappy-mcphub-0.11.6.tgz","_integrity":"sha512-RVi9cLB9VBKORXqCysEAGFR3w2XLitRbzIND0MvtjcUgAWF8r86QEjmUq5mLibEgnfbx+7X47JHtBd+34k0sEQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.6_1765618889892_0.13905210256892264","host":"s3://npm-registry-packages-npm-production"}},"0.11.7":{"name":"@samanhappy/mcphub","version":"0.11.7","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.7","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"3f127237eb36acf50465b602d9fc35f2c6ee9ed6","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.7.tgz","fileCount":247,"integrity":"sha512-pjkbcn/UDIfiFogkORmpzYMhUVcRhIsfuJHnNVE/0vASW3rCfZJfI5my/bFakILPCyl9y95czbb8V0wcQmnD4g==","signatures":[{"sig":"MEYCIQCDdLEjp4Mhx02kc87FBZ/1zkLoXzK//8pgOQwxt1LYiQIhAPbFcrNsPcp/SZj/NsLCUg8e2fxf064GfGyaCeTCnpB8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7334215},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.7.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/8843ff1950ddd6cce33562183996b6c0/samanhappy-mcphub-0.11.7.tgz","_integrity":"sha512-pjkbcn/UDIfiFogkORmpzYMhUVcRhIsfuJHnNVE/0vASW3rCfZJfI5my/bFakILPCyl9y95czbb8V0wcQmnD4g==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.7_1765716181417_0.9238386370806964","host":"s3://npm-registry-packages-npm-production"}},"0.11.8":{"name":"@samanhappy/mcphub","version":"0.11.8","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.8","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"9bd5682d1fdf8cad2f88c58e978742e7412f3d2f","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.8.tgz","fileCount":247,"integrity":"sha512-2oxzKt9ODmr+Yy4wDK3jCKa5yGPURf7WZS93mL3Z255rpIvAkP1HtwmpvltqVYm188s9/gczT1DHn98Zo7fADQ==","signatures":[{"sig":"MEUCIQD3+YRFa1Oej4p6ol8dQZi1JQD9XEoUu1/SM81bsfMlRAIgShW6S+3C+HouEmVVlX6awSTEEYc55FCAWBRid4RBzYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7335563},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.8.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/235c2a5dd7769e6ee0b9d27f4e3a4636/samanhappy-mcphub-0.11.8.tgz","_integrity":"sha512-2oxzKt9ODmr+Yy4wDK3jCKa5yGPURf7WZS93mL3Z255rpIvAkP1HtwmpvltqVYm188s9/gczT1DHn98Zo7fADQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.8_1765870952600_0.6804416877146144","host":"s3://npm-registry-packages-npm-production"}},"0.11.9":{"name":"@samanhappy/mcphub","version":"0.11.9","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.9","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"98c672696d0d40dd671ee1d558b24fd31f4e206b","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.9.tgz","fileCount":247,"integrity":"sha512-K2OTSUG7HV3tD7Yqtmgztc60Hk3t2NgtW6Dj9KpkN54Mf/rwQ1pe52MYt3m5CzNsv36MqcpxeB+ipfe4kIRBxg==","signatures":[{"sig":"MEUCIQDYstLQu3ws0CSUoNo3+PyadZUe3/3WP8xzJfmWUDR5CwIgC1WIC6/wlFDYCgLh8gZWgzZpOiFHg1vpmVYYp+9IhDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7340438},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.9.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/c8c0d8225817981971a9c94346834228/samanhappy-mcphub-0.11.9.tgz","_integrity":"sha512-K2OTSUG7HV3tD7Yqtmgztc60Hk3t2NgtW6Dj9KpkN54Mf/rwQ1pe52MYt3m5CzNsv36MqcpxeB+ipfe4kIRBxg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.9_1766204260342_0.01907931336612423","host":"s3://npm-registry-packages-npm-production"}},"0.11.10":{"name":"@samanhappy/mcphub","version":"0.11.10","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.10","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"5301d9d1d7ca4daec22aff618eed329ea60c59c2","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.10.tgz","fileCount":247,"integrity":"sha512-JabLVoIbmKRGfiX/66D+3drmkXER6m9ecPG6rMY1H7YFak6tSWOp+Ad1SD5fOyVl9acNfnLeGYRlvQicJKvWCA==","signatures":[{"sig":"MEYCIQCMJi05HRClk8HropsrmtghRhei8TNwCsTBwMaPFtW6xwIhAKUwuW4M4DzU9y1XNCs4DqpP+oXc3slFlQxdNKzD4ZVV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7352619},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.10.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/febfecfa58e753543c76eb6a71ca4cc6/samanhappy-mcphub-0.11.10.tgz","_integrity":"sha512-JabLVoIbmKRGfiX/66D+3drmkXER6m9ecPG6rMY1H7YFak6tSWOp+Ad1SD5fOyVl9acNfnLeGYRlvQicJKvWCA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^16.6.1","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.20.2","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^15.5.0","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.10_1766895670947_0.8506354855496272","host":"s3://npm-registry-packages-npm-production"}},"0.11.11":{"name":"@samanhappy/mcphub","version":"0.11.11","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.11","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"cea87ff5ebf43237266c3cd76c504f880bc4675d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.11.tgz","fileCount":247,"integrity":"sha512-mG+yMr7rR8g0dkBOV8IoRR8nFinLuGP+94yTjqtuM77mpdWgyx4ndc8CTt0pAQL7kouuCC0xpDskbSOFdt5rXg==","signatures":[{"sig":"MEQCIAJA8rIZA20OJINdDpAmY1lNg4hObVIi9VkajOTeO+FLAiAZHt5DepTAu/riRXozP3HTPRuB3w2AoZj6WuujM+GeLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7393873},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.11.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/7909399c1ab559919087185285a8ec71/samanhappy-mcphub-0.11.11.tgz","_integrity":"sha512-mG+yMr7rR8g0dkBOV8IoRR8nFinLuGP+94yTjqtuM77mpdWgyx4ndc8CTt0pAQL7kouuCC0xpDskbSOFdt5rXg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.1","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.11_1767278593938_0.4990306104965041","host":"s3://npm-registry-packages-npm-production"}},"0.11.12":{"name":"@samanhappy/mcphub","version":"0.11.12","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.12","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"c5a9970d595094a26ffeabe4503e53e2140c0ca7","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.12.tgz","fileCount":247,"integrity":"sha512-RlFXCAk7icV8K2uIcm71VJYQp8wbxXpTBA3QlNBmhmE/8HUBzdhhAwerhGLoMXrdTbdDp5nTmc4HzZNWvpIlAQ==","signatures":[{"sig":"MEUCIAfcCHwJokugHhisebyRORVuGPy1xN+iRbBMGFKXVFWvAiEA35AIk3P3TLdujP3QO/tqYg97D/Iud1+fn2Y0MnqR6TU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7396361},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.12.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/be451c24588132f7737b077b091bbe2d/samanhappy-mcphub-0.11.12.tgz","_integrity":"sha512-RlFXCAk7icV8K2uIcm71VJYQp8wbxXpTBA3QlNBmhmE/8HUBzdhhAwerhGLoMXrdTbdDp5nTmc4HzZNWvpIlAQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.1","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.8.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.12_1767795451055_0.1536101843294606","host":"s3://npm-registry-packages-npm-production"}},"0.11.13":{"name":"@samanhappy/mcphub","version":"0.11.13","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.11.13","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"2ca4dbbe873414d0e4a4aabdc9896c5072806eda","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.11.13.tgz","fileCount":249,"integrity":"sha512-a1vtGYBHE0A4Pz0EZ6un5KlhJa3i6Lkaq4HU+1OV/OtpIAb1hzO6S8undfhidJnbWntR5Tdi3cUUtmShLFJ61Q==","signatures":[{"sig":"MEUCIQDXOdcUxrepelOlpdhIX86mg+4LXjzzcIvYQLsD4BzNgwIgK+pLQ3hmmOBpxG5PVPGnihy4UL/SEJ83pEICQuQLHAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7448344},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.11.13.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/b4efb29c93870fddc408c16d7fc11926/samanhappy-mcphub-0.11.13.tgz","_integrity":"sha512-a1vtGYBHE0A4Pz0EZ6un5KlhJa3i6Lkaq4HU+1OV/OtpIAb1hzO6S8undfhidJnbWntR5Tdi3cUUtmShLFJ61Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.1","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.11.13_1767965847994_0.6960846037050017","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@samanhappy/mcphub","version":"0.12.0","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.0","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f0cabc65a4cc63a92f3f79a93ea4b7e1381ae0a1","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.0.tgz","fileCount":259,"integrity":"sha512-YqtnbURN9zDx3W+RyMccSn/rMlRuEi8Eg08Dfs8CDSRIpwcYS2cGNFDutmiqu5GcrEWj7TOxfwUwGEpvlUasBQ==","signatures":[{"sig":"MEUCIQD7McYpAe6IV1rK4LqTUa7btscQ50Hn10ulroHNJaKhxQIgEXP97LZbBG7KWMM20F5yoFNhPRwMozoOJsONTySVA7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7603916},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.0.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/f72edcb73bc96a7f5a04e4202282c68e/samanhappy-mcphub-0.12.0.tgz","_integrity":"sha512-YqtnbURN9zDx3W+RyMccSn/rMlRuEi8Eg08Dfs8CDSRIpwcYS2cGNFDutmiqu5GcrEWj7TOxfwUwGEpvlUasBQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.1","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.0_1768389523562_0.3818567274451896","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@samanhappy/mcphub","version":"0.12.1","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"5d2741fe1ecc6fdb82277b246041ac095655faa5","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.1.tgz","fileCount":267,"integrity":"sha512-q8TvaMQZtUi2o6eiZh6XXHT8eC6LdC5KlR2TXr9hGqdBRIc67S+2vVuLBHBsZXLASfAN/nNtbmNZNCb1Ca/Dbw==","signatures":[{"sig":"MEYCIQCdHrclIX85qW7Hf71JRgFfrLOuyKJldwF4CBEWj1IyhAIhAIsBfZiw7TVcaBzuvhlMrtgtc39qjU2ySkrjQb41V36M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7785784},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.1.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/229c1e26226d97c0b344a5511774c7e3/samanhappy-mcphub-0.12.1.tgz","_integrity":"sha512-q8TvaMQZtUi2o6eiZh6XXHT8eC6LdC5KlR2TXr9hGqdBRIc67S+2vVuLBHBsZXLASfAN/nNtbmNZNCb1Ca/Dbw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.19.6","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.1","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.1_1768994651683_0.37121550499592115","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@samanhappy/mcphub","version":"0.12.2","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"9f0613a6d96e9970bc148e0077d545e0c7aac976","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.2.tgz","fileCount":269,"integrity":"sha512-24PFM2vVweU79ZD9MSORYEaDzx7oDtNLUdGmF44wiXguNFx6XFyvzAcG8EJ82joRN9UYVEbHecaucJM0jgUfnw==","signatures":[{"sig":"MEYCIQCDdWZR84I7QKt43Tgdy/dIConnvLVjXZiviKrw2LLDfgIhAKpBn8xtorv5rM3wVYmWmBcQgp7EsFy8ZNsPSIiBQShR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7867880},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.2.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint . --ext .ts","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/663e1f8bb3ad86e93e7763d1ff36490d/samanhappy-mcphub-0.12.2.tgz","_integrity":"sha512-24PFM2vVweU79ZD9MSORYEaDzx7oDtNLUdGmF44wiXguNFx6XFyvzAcG8EJ82joRN9UYVEbHecaucJM0jgUfnw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.1","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^8.57.1","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^4.7.0","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^6.21.0","@typescript-eslint/eslint-plugin":"^7.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.2_1769679825350_0.7564903297268064","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@samanhappy/mcphub","version":"0.12.3","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.3","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"9ee517b04a1192107784192bf5d53604a07ded38","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.3.tgz","fileCount":271,"integrity":"sha512-uaVoGkgw92qEdFNB7qvrVp9fLvkH5Do5xZrGTIWyFB2m+nyvrQn+HP2JD5SqpaT68AX0zY/t8XK80zer1qwuUQ==","signatures":[{"sig":"MEYCIQC/AoAyw3NA86TZIoasiM46/WciymMo/biLTsag6+y0agIhAMyb52FmqNob3EKRmvi4xUMvbxEfphpcmQW0MowDc0EV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7882092},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.3.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/cc6665d6954c6df0db7eefcac501e841/samanhappy-mcphub-0.12.3.tgz","_integrity":"sha512-uaVoGkgw92qEdFNB7qvrVp9fLvkH5Do5xZrGTIWyFB2m+nyvrQn+HP2JD5SqpaT68AX0zY/t8XK80zer1qwuUQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.11.7","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.3_1770522571080_0.15308861104999316","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"@samanhappy/mcphub","version":"0.12.4","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"138088c034737406456f8f3c69b8d8622c1976cb","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.4.tgz","fileCount":271,"integrity":"sha512-XYUyBFxQIJ3sKYigFZ3VfsicBfgIeaUmEk0fbuES9tnzYrui/45QGdSqdcz5AT0Xhw4kI5oXA9yjlwbekXmquA==","signatures":[{"sig":"MEQCIF5aMaLB6Z5D1TSNWB4NGB0l458dO7pdSxvTuZomf/x9AiB8yWYJDPmwxiSq9S3Q1JauHJvUZqJhbuCg+tV54087+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7890995},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.4.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/5b6896de3caabd432fa19bbc5d7f9a73/samanhappy-mcphub-0.12.4.tgz","_integrity":"sha512-XYUyBFxQIJ3sKYigFZ3VfsicBfgIeaUmEk0fbuES9tnzYrui/45QGdSqdcz5AT0Xhw4kI5oXA9yjlwbekXmquA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.11.10","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.4_1771943395022_0.49500795894062066","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"@samanhappy/mcphub","version":"0.12.5","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.5","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"00eeeffba078800f0b0d3c115a5e52707426d2f3","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.5.tgz","fileCount":273,"integrity":"sha512-cHzdrnGS8OGdXAQxecSiNNMLjXU2lQDv533TGY7BJTJlYwiDpWG0slpa68t2uALJov+7V7/GSwap0CuOVrrgXw==","signatures":[{"sig":"MEUCIC6wZMyZDCg+lOtBx13YJkibg0TW3dzhdtZ8UA5o7WEWAiEAvaS0S36ZCJYZxUpkcSCpndDqKpVS/i7l8RilmVGEZ98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7907478},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.5.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/8b2d3072dc7c829731412e2979072947/samanhappy-mcphub-0.12.5.tgz","_integrity":"sha512-cHzdrnGS8OGdXAQxecSiNNMLjXU2lQDv533TGY7BJTJlYwiDpWG0slpa68t2uALJov+7V7/GSwap0CuOVrrgXw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.11.10","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^1.4.13","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.5_1772370601527_0.5903590929629277","host":"s3://npm-registry-packages-npm-production"}},"0.12.6":{"name":"@samanhappy/mcphub","version":"0.12.6","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.6","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"769262cc7d75d51ea5a39e215245c273e321eaf3","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.6.tgz","fileCount":295,"integrity":"sha512-3Y3VzwIDtvu0eYetRMapkEQGyM+WK2YUnOijLN41mnJTAYO933SrRV4ZgRl2S8C8QR5y/It5ATisMhv7t62bqA==","signatures":[{"sig":"MEUCIDGgnCD7KiBQe3d8eWMqjaWv+EbiUowpDT6+CHy9ODDJAiEAgeeiFzWRnKv1xRsk7C8KEdoyfvOzX1A6B9VM+y5gjiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8130121},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.6.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/4236da06adef4998da41dd206c2b6dc7/samanhappy-mcphub-0.12.6.tgz","_integrity":"sha512-3Y3VzwIDtvu0eYetRMapkEQGyM+WK2YUnOijLN41mnJTAYO933SrRV4ZgRl2S8C8QR5y/It5ATisMhv7t62bqA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.11.10","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.6_1772545903999_0.018264235833283404","host":"s3://npm-registry-packages-npm-production"}},"0.12.7":{"name":"@samanhappy/mcphub","version":"0.12.7","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.7","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"a6973e7cae20af6902747d3571562f06d1d2cf8d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.7.tgz","fileCount":295,"integrity":"sha512-bzJseFmLPc3yZBiwWKCkO/0//RL5et4lDyJUXhOmFBe1pGKVTLCQrf+XhHb4EenI2GeLPmiOgRYRehez6XjSvQ==","signatures":[{"sig":"MEYCIQDc/u6WpNtD4zGqX1gHvYkjNiOkWF1bG0FDp47//WPZ2QIhAPxt+WzlKecDWNykL3K2D9jvTEYrmTz8vzQAgeDUHenJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8133357},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.7.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/bcc00b94539461438fce7c9e534ec615/samanhappy-mcphub-0.12.7.tgz","_integrity":"sha512-bzJseFmLPc3yZBiwWKCkO/0//RL5et4lDyJUXhOmFBe1pGKVTLCQrf+XhHb4EenI2GeLPmiOgRYRehez6XjSvQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.4","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.7_1772943754297_0.36670529368389637","host":"s3://npm-registry-packages-npm-production"}},"0.12.8":{"name":"@samanhappy/mcphub","version":"0.12.8","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.8","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"ffe3d5fdfac6124de5883f8fe6fee23c6a812c60","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.8.tgz","fileCount":297,"integrity":"sha512-bkmIRxx8kMejlaZTe6zGdRIIzbyJLeA44UX8wVvXFa4bh1ik2cbAdMtWEmnaXqpzvdR3jXQGXp7t9LBF2BOnKg==","signatures":[{"sig":"MEUCIEg8L1uL0BNBkWldqJYSsthCy9nqkCCcB1uHLcy4Lc5rAiEAoZJ8Mph5HrNHN6i5CdkAAw43Byi1q9Kt6cIzxnc7Sjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8186637},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.8.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/44a6872cb362fad2532209c5d012da29/samanhappy-mcphub-0.12.8.tgz","_integrity":"sha512-bkmIRxx8kMejlaZTe6zGdRIIzbyJLeA44UX8wVvXFa4bh1ik2cbAdMtWEmnaXqpzvdR3jXQGXp7t9LBF2BOnKg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.0","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.7","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.8_1773480026646_0.3845657380312357","host":"s3://npm-registry-packages-npm-production"}},"0.12.9":{"name":"@samanhappy/mcphub","version":"0.12.9","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.9","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"4e85004717a47bad9138d94f1bef65afda27fc91","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.9.tgz","fileCount":297,"integrity":"sha512-244zzQjOy8IBZpr+4GJqYMUoHYqSwc2JcEnw0IwI8E3BnUJf12TB7JGl0X4fF7jQjAvtrRUPfBEVXUsny1JLAA==","signatures":[{"sig":"MEYCIQChTKlW9uFFfWrl2kM5RLFSKKO5hXx1f1MZTWMno1VIEAIhAMP05daSpZnNEQu/bfRMVl0Z4kk9S1vQs3QOlR9BD3f2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8243910},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.9.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/abee4175b6b481be32317b2a5478f26f/samanhappy-mcphub-0.12.9.tgz","_integrity":"sha512-244zzQjOy8IBZpr+4GJqYMUoHYqSwc2JcEnw0IwI8E3BnUJf12TB7JGl0X4fF7jQjAvtrRUPfBEVXUsny1JLAA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.7","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.9_1774064412046_0.237916280336131","host":"s3://npm-registry-packages-npm-production"}},"0.12.10":{"name":"@samanhappy/mcphub","version":"0.12.10","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.10","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"b471a7c0276d77d2ef0aa59837ab1db16f9cd5f4","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.10.tgz","fileCount":297,"integrity":"sha512-ZoYBaNVNWKXNv5BfSMDz/+GYwrhZdbaf0/i9p7dyAi49bdcOJmaYACOyzxgG6J75Av0JfJ9Mm1YAaGRbWxR+iw==","signatures":[{"sig":"MEUCIQCOi2zvSuXndA6d32Q7QhIrJ5K4i2ic682+ljJ2XZh5jwIgQ6+VMJKo/OCeJXzYaFzDQ+zXMPJlG870qcYmssGeLuM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8335243},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.10.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/d5f0b25d04bb33fe6cd9e2231b543ac5/samanhappy-mcphub-0.12.10.tgz","_integrity":"sha512-ZoYBaNVNWKXNv5BfSMDz/+GYwrhZdbaf0/i9p7dyAi49bdcOJmaYACOyzxgG6J75Av0JfJ9Mm1YAaGRbWxR+iw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.7","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","i18next-fs-backend":"^2.6.0","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.10_1774837711456_0.026980149142888266","host":"s3://npm-registry-packages-npm-production"}},"0.12.11":{"name":"@samanhappy/mcphub","version":"0.12.11","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.11","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"d1d251fddc3e3d5a6c59330aaa46c4f18608445b","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.11.tgz","fileCount":301,"integrity":"sha512-twXveChVLOnILyzztRPDwiSGxDP5kAg5n0V2zQSvG2sRyX0SXZAMds8QAjD/LvFkvAGmxdxpXiJknVSy73qeiQ==","signatures":[{"sig":"MEQCIBDwC3D2i6be9b22g51wnjFtAA0ADjStmXmuR+IehdV9AiA5UD18fvnb9VI3FTAcsppMFyAjd0Nn0Vi4kZhdNwdVsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8427169},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.11.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/4c0b23ab65216dc3fc2e5bea28bd7c55/samanhappy-mcphub-0.12.11.tgz","_integrity":"sha512-twXveChVLOnILyzztRPDwiSGxDP5kAg5n0V2zQSvG2sRyX0SXZAMds8QAjD/LvFkvAGmxdxpXiJknVSy73qeiQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.1","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.7","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.11_1775178181320_0.6312858368870418","host":"s3://npm-registry-packages-npm-production"}},"0.12.12":{"name":"@samanhappy/mcphub","version":"0.12.12","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.12","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"3c9dbfcb1412998f958a249cb070314536db6f08","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.12.tgz","fileCount":309,"integrity":"sha512-83aoPbwLogR4FYLzOxlbn27/kHn/vHf3VcGUEpkdsnKqlfXO+n68yoIOmHgAHjtQFeNI+lRab5FqXCNH1QcsyQ==","signatures":[{"sig":"MEUCIF5ehF97j0XaVmMOV0JRyIzoy8ihRhzE47boMeeyZG+PAiEA9bhFxwSsNYQyQV2BJhBBK4ktEN0P1LGgzFcxYqRjboM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8517865},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.12.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/74b4bb86d73040462d8ecb4418bc5ba8/samanhappy-mcphub-0.12.12.tgz","_integrity":"sha512-83aoPbwLogR4FYLzOxlbn27/kHn/vHf3VcGUEpkdsnKqlfXO+n68yoIOmHgAHjtQFeNI+lRab5FqXCNH1QcsyQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.7","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.12_1775469936291_0.4798178161423552","host":"s3://npm-registry-packages-npm-production"}},"0.12.13":{"name":"@samanhappy/mcphub","version":"0.12.13","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.13","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"5cc705ef02edd0ad4b71828a0f35537ced74813e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.13.tgz","fileCount":311,"integrity":"sha512-z4GvL/OkiO7/GIg6xafPWmKa+69Doc7t3PyisMX1GVjvafSFQKHprckwj6W3sGTs4QkySb5HBZy5jTpF3q/Jhg==","signatures":[{"sig":"MEQCIC53UcIcg7LuZjnVQL2PLbecJAJXHyGcXhOWYR+xBIFqAiAN6pnW7oZ1fYI2b7uiSjTS4leWSpF2BxluyCJKTX1RJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8540987},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.13.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/21e7ca076d0459d15a1aeaa2661f4607/samanhappy-mcphub-0.12.13.tgz","_integrity":"sha512-z4GvL/OkiO7/GIg6xafPWmKa+69Doc7t3PyisMX1GVjvafSFQKHprckwj6W3sGTs4QkySb5HBZy5jTpF3q/Jhg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.12","uuid":"^11.1.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","next":"^16.1.1","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.13_1776872518961_0.19599099133292675","host":"s3://npm-registry-packages-npm-production"}},"0.12.14":{"name":"@samanhappy/mcphub","version":"0.12.14","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.14","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"73a289f6e02c37222ba762e034d7ed413f83db27","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.14.tgz","fileCount":311,"integrity":"sha512-tjrsYqN916cLsfX+Odt+lMRR0XPvCYlODvxmN3AJJlmbH9vj3wN47G4biFXYzGLl8DirRX2AlKvmILfee47hwA==","signatures":[{"sig":"MEUCIGiP/a7A4Tbb+v1W1wm/lLg1IJv1aYuBodNu6NBhrLFqAiEAuxmD982oaZzQU+VB925uHVdi3XxmkOYLVqEzVlBnL8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8567201},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.14.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/94483800ef34680581e57728b4a876d7/samanhappy-mcphub-0.12.14.tgz","_integrity":"sha512-tjrsYqN916cLsfX+Odt+lMRR0XPvCYlODvxmN3AJJlmbH9vj3wN47G4biFXYzGLl8DirRX2AlKvmILfee47hwA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.14","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.14_1777346536431_0.09487566978868855","host":"s3://npm-registry-packages-npm-production"}},"0.12.15":{"name":"@samanhappy/mcphub","version":"0.12.15","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.15","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"bb04515f034685487c5ecf4741944234c3ede16e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.15.tgz","fileCount":311,"integrity":"sha512-hSU2jMy/ROksy85pwPI+h3YS6mFaG/t0KfQcte10UqEAtgFI04JkZ/PikrmoTCLlCl7t5pGEmT/UpJxq9z0FnA==","signatures":[{"sig":"MEUCIQCk/X2VmInhzJoXp5eqvzZiknVgnph9ZiNYXtKkXVnAHQIgcRCD4r5YcqhrFLtex2A+TJ3mISoiizAeAP3uZsEX8HI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8582517},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.15.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/12b5de28318caec932c6254884180580/samanhappy-mcphub-0.12.15.tgz","_integrity":"sha512-hSU2jMy/ROksy85pwPI+h3YS6mFaG/t0KfQcte10UqEAtgFI04JkZ/PikrmoTCLlCl7t5pGEmT/UpJxq9z0FnA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.14","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.15_1777692342539_0.28895366342289575","host":"s3://npm-registry-packages-npm-production"}},"0.12.16":{"name":"@samanhappy/mcphub","version":"0.12.16","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.16","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"8db22b53c9fc086e639575bd4cc78da4fbcc10f3","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.16.tgz","fileCount":313,"integrity":"sha512-R9A1o0H3SWQy+HNVI0EpVTGY/rhRMYo+KySuBHNW287sJZiU/H9IeUPSsSoiWARfkbEZoqh9+KWPrlLUK1+ODQ==","signatures":[{"sig":"MEYCIQDpHxpQsSVfCT8Q9heVSGyalvHqPHO3eiiETfHFRL2DDgIhAJiSWCL9+elGQ5NV8/fFSoonsBDbsB2JusB9svVN7hv7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8585315},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.16.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/2b805d091ec4aa0e04b6fc4d268eebd8/samanhappy-mcphub-0.12.16.tgz","_integrity":"sha512-R9A1o0H3SWQy+HNVI0EpVTGY/rhRMYo+KySuBHNW287sJZiU/H9IeUPSsSoiWARfkbEZoqh9+KWPrlLUK1+ODQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.16","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.16_1778250864333_0.1731565681194427","host":"s3://npm-registry-packages-npm-production"}},"0.12.17":{"name":"@samanhappy/mcphub","version":"0.12.17","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@0.12.17","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"00a921fa1f1497f7e002b2c8ef9f794ebc594beb","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-0.12.17.tgz","fileCount":359,"integrity":"sha512-uWIzx54qu6CH28jQVUKIx0+QAsiuQbnJlgOdXeuFvAMEoKFPh1/1GJO93YeDsrSTsg/IPxJJszlWAzgFQ1nc8w==","signatures":[{"sig":"MEYCIQD3lsEZPl75Q5TiOVMxliaO++MeFvsG1etCuiNWyekdYAIhAMBoyYXJ125y/ie7WLDls+OzpWV1GE5IodBBIqmjoJt9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8634786},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-0.12.17.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/03239ded485c90538465659f6396c3e3/samanhappy-mcphub-0.12.17.tgz","_integrity":"sha512-uWIzx54qu6CH28jQVUKIx0+QAsiuQbnJlgOdXeuFvAMEoKFPh1/1GJO93YeDsrSTsg/IPxJJszlWAzgFQ1nc8w==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_0.12.17_1778582229785_0.42542441574333956","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@samanhappy/mcphub","version":"1.0.0","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.0","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"881d150e9bed470513314263a60f91b943bbee78","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.0.tgz","fileCount":359,"integrity":"sha512-IkfwgpVnVvRLH/mPxKvSKrS5MHz81BAiJEpBA8+TX78KylSHmNp6ZEoqzjqD/2PJO7DVdzt5RKaHzFGMlq/DVw==","signatures":[{"sig":"MEQCIDtvb+fwOEbkv7f5fZSQqM1sy9hec9eoDNPeuzgiv+2nAiAozWrrfAjAzI3O3fpJIdwQWzlM/L8NvmmMFcXGhCkxMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8634435},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.0.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/7d2e9e0b6bc454ddbdd8051eaa19a14c/samanhappy-mcphub-1.0.0.tgz","_integrity":"sha512-IkfwgpVnVvRLH/mPxKvSKrS5MHz81BAiJEpBA8+TX78KylSHmNp6ZEoqzjqD/2PJO7DVdzt5RKaHzFGMlq/DVw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.0_1778924832184_0.11242348852957651","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@samanhappy/mcphub","version":"1.0.1","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.1","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"c6a90c04d5f4fd58f852c4717d057540efe7b42e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.1.tgz","fileCount":399,"integrity":"sha512-wpVf4HgYQgOQIdFjQBSqvK2QlG/jtxbtelw42nRytdWBWNqIA59SNcdyDrJ2KAYExaRTMgQwb7hPL6AmyemFTg==","signatures":[{"sig":"MEYCIQCL95hsavwdAoczEmK88U6pkn8ubcaGR3yVXhTD8uSQPQIhAJS9pAPp5aU1aMzCTRjjIZesALURQ0vaobxTKEY0Ay0a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8797956},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.1.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/aca4ba8283916cf47ce6c635252c9258/samanhappy-mcphub-1.0.1.tgz","_integrity":"sha512-wpVf4HgYQgOQIdFjQBSqvK2QlG/jtxbtelw42nRytdWBWNqIA59SNcdyDrJ2KAYExaRTMgQwb7hPL6AmyemFTg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.1_1779256927112_0.8891185091861897","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@samanhappy/mcphub","version":"1.0.2","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.2","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"3a66752ca9edb76fdfc9f64daff8747f54b37fdd","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.2.tgz","fileCount":399,"integrity":"sha512-lgeogaPzJIiXowyxaSLWQ2i49o2JylZJfcEyzUvL0iel9h/d4LVtIH1vvWKANV27Pm0aPyRkOZ872A4DmVOEKg==","signatures":[{"sig":"MEUCIFa28uAWCCtWnW0Fb+7ez6iGr/Hi+WiDtiKaHVmBKAcsAiEAkUhHyBvl9XWQyz75lfpkCFMphJ0KXtvQffZqHdI3Gv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8807753},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.2.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/5ec6b7f76766962ead533159da73aeb5/samanhappy-mcphub-1.0.2.tgz","_integrity":"sha512-lgeogaPzJIiXowyxaSLWQ2i49o2JylZJfcEyzUvL0iel9h/d4LVtIH1vvWKANV27Pm0aPyRkOZ872A4DmVOEKg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.2_1779376356759_0.34907559871217453","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@samanhappy/mcphub","version":"1.0.3","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.3","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"7a0fb0225bc2c52ceb82dcd0a3365b137f96fcde","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.3.tgz","fileCount":399,"integrity":"sha512-OAi6GGKsaG9GK/sHJ4jEmfCG7n9OcPkNRM0xHotZ5M7Pu2IUxTSmjTef01+MLdafrbmREy9gkUN0XHA4+1ujnA==","signatures":[{"sig":"MEYCIQCcO4RzTWkprZEpvtE+hzZFAz5Ns1Nr4EkzDaR6ogTpJQIhAJyIK1k9M2mt+c2SHFzCX/Q0MvXbLwoYt5fe82C9hUUn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8810610},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.3.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/2b2df5ae38eb2d2a0d80d55d5aa2beed/samanhappy-mcphub-1.0.3.tgz","_integrity":"sha512-OAi6GGKsaG9GK/sHJ4jEmfCG7n9OcPkNRM0xHotZ5M7Pu2IUxTSmjTef01+MLdafrbmREy9gkUN0XHA4+1ujnA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.3_1779439591010_0.8532280482293486","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@samanhappy/mcphub","version":"1.0.4","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.4","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"9379fa8ad82df7cc2d7f67cbc3712fa1cb1bd679","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.4.tgz","fileCount":401,"integrity":"sha512-tPjzkaH/NP/MZwh31qji3K1YIm/UVytYjCc7yyqz3Gg+CMIted3ur1s1d2cA5rWC2D7f3WqsIha94wC5VEHBiw==","signatures":[{"sig":"MEQCIGb2WI5jJJcZXLPzdF911d2fpW/LLj3NVa/YsKAv2GdWAiAOLj00K4IyZXlGeZH2+y3tlwvVp7u+c3XtpGSR0Mzmnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8882493},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.4.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/bc7ac8f012c7141d1fd349324202c9c5/samanhappy-mcphub-1.0.4.tgz","_integrity":"sha512-tPjzkaH/NP/MZwh31qji3K1YIm/UVytYjCc7yyqz3Gg+CMIted3ur1s1d2cA5rWC2D7f3WqsIha94wC5VEHBiw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.4_1779502078970_0.7458874023636375","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@samanhappy/mcphub","version":"1.0.5","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.5","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"166b1ac3936df87656a27927e55bd553acd1d439","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.5.tgz","fileCount":401,"integrity":"sha512-8bDZWidc8C+0BsRDHBWdxodFIvqTjJy/1/TCTJ+yYJDfmG9toYii27FF5VbZleHUAEL9jgHLc+IL3y/6uQCjug==","signatures":[{"sig":"MEQCIEO11y6y0mv+PMCKAzkddTKoxmWOLhnLtItSPr0uHB/BAiBG2QoymhuDLfXPtgkQ0xW3IqC+xvqd5GGULJvTJG2hNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8882536},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.5.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/228edd4cfc0f5680d1cf77e97957bf5f/samanhappy-mcphub-1.0.5.tgz","_integrity":"sha512-8bDZWidc8C+0BsRDHBWdxodFIvqTjJy/1/TCTJ+yYJDfmG9toYii27FF5VbZleHUAEL9jgHLc+IL3y/6uQCjug==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.5_1779510108381_0.43566834853921743","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@samanhappy/mcphub","version":"1.0.6","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.6","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"34912328c0771f26a30886b45fc0ec89227a7bf4","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.6.tgz","fileCount":419,"integrity":"sha512-t7Krd5C2Tq1lmKVTCTb+zpHr1pj7hOcX2gLjFEdFFuk/w2VaTagYWIpAitDUS1bvti55KEWUs4sTTCTic/02CQ==","signatures":[{"sig":"MEUCIQCgEt+Ufa2UiyfnF27WJskEj/OcoU9caxgnJrZsloxwQwIgI80/SPvm2Iy6buCouYqaU8oSMrRxpvFyIBWmzbj42iE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8983175},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.6.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/3f012de25c2397dc3d9215c4372c7752/samanhappy-mcphub-1.0.6.tgz","_integrity":"sha512-t7Krd5C2Tq1lmKVTCTb+zpHr1pj7hOcX2gLjFEdFFuk/w2VaTagYWIpAitDUS1bvti55KEWUs4sTTCTic/02CQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.6_1779944529492_0.2811743297461946","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@samanhappy/mcphub","version":"1.0.7","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.7","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"24f73cf231037655eebb561ad10bcbad104deffb","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.7.tgz","fileCount":419,"integrity":"sha512-qRj8A82du8Oejw3xaiUZ+cjFQjOLfxSVNTmOXv7px5sMFxzVg5lOfz9m1BkK3G3/+tvlNI0K16Tg/4K6sjCRBg==","signatures":[{"sig":"MEUCIBDOnzdYJS2CoqqakZzKvB5xIsUxTbNG4TnPtSwh1NY/AiEAvLXWn5xuMBJT6BcHqZGUhBtv3OkXZ11bv7hM4goZ0ns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8988637},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.7.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/4fa63325655562904880d8450adcb798/samanhappy-mcphub-1.0.7.tgz","_integrity":"sha512-qRj8A82du8Oejw3xaiUZ+cjFQjOLfxSVNTmOXv7px5sMFxzVg5lOfz9m1BkK3G3/+tvlNI0K16Tg/4K6sjCRBg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.7_1779967745024_0.07315469244824402","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@samanhappy/mcphub","version":"1.0.8","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.8","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"ba08ca7af168208ac0eca3c1e3228e6ff5a9dd88","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.8.tgz","fileCount":419,"integrity":"sha512-uquMndMusQUIdW+1bGN1Xi38de45qD8UcZ7WiTQCG6fmV/oET/KQIsj8rfY6gkOR4IeR5A+IaSd2aZTppsVb3g==","signatures":[{"sig":"MEQCIEXks07adWGEYv8bsbMkGfcjC2Q2CqWOAeRg1p7SYj3IAiAnwtyhDTWyxP1EIaKVN6teMqo7f6SanWKBgPYCVcuVxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9037254},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.8.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/410bcc4a50823197f1cb09b13f2d69fc/samanhappy-mcphub-1.0.8.tgz","_integrity":"sha512-uquMndMusQUIdW+1bGN1Xi38de45qD8UcZ7WiTQCG6fmV/oET/KQIsj8rfY6gkOR4IeR5A+IaSd2aZTppsVb3g==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.8_1780233325772_0.5836417665394238","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@samanhappy/mcphub","version":"1.0.9","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.9","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"9af0a71692dd4edfaee8619b1ebb8bb33b9c8d10","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.9.tgz","fileCount":419,"integrity":"sha512-456K3UneqqicC5OOToLF4C0Rlo/B3OJ0J71sBV8Uf0FOx/9mGOB4CwedWdiE8KN99mPRAk/OXvAL0j6F4dV1hw==","signatures":[{"sig":"MEQCIDgyVRlmVXjuWfAaS/KnLaeyIgGym2b97ut+W2XgLxJ8AiBpsOX6f7a7lDQknUs1f4UC+Tqk68gHi18zM676qIjHSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9061254},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.9.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/8c23031caeabadd5d16905809b31d700/samanhappy-mcphub-1.0.9.tgz","_integrity":"sha512-456K3UneqqicC5OOToLF4C0Rlo/B3OJ0J71sBV8Uf0FOx/9mGOB4CwedWdiE8KN99mPRAk/OXvAL0j6F4dV1hw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.9_1780306601181_0.3876932169614029","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@samanhappy/mcphub","version":"1.0.10","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.10","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"505df0be5fe32c02754e4fb31cc71238b4a9b795","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.10.tgz","fileCount":419,"integrity":"sha512-guux9GQ7JK5wTjD89GpUlmvk2o4PdiRBIkEM9MQJFwFlJpphRIekzljDj4s7Le57sRo3SSWWo9EQyknx+uzq+A==","signatures":[{"sig":"MEUCIQDw2pJq//BSQBLMsp7uFsB3Nexmw8SsqF5MkXHT3T65oQIgTyUhPPv15FUvSITUunWuedgOJlHGGNXoYy4RVZiDODQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9061365},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.10.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/848a047d2e3dc3b3cef009470637bdec/samanhappy-mcphub-1.0.10.tgz","_integrity":"sha512-guux9GQ7JK5wTjD89GpUlmvk2o4PdiRBIkEM9MQJFwFlJpphRIekzljDj4s7Le57sRo3SSWWo9EQyknx+uzq+A==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.25.3","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.1","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.1","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^10.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^15.7.2","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^2.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.10_1780396874627_0.8044422750539966","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@samanhappy/mcphub","version":"1.0.11","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.11","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"4e03681753c4e52169488cc88403ec5473b1b7a8","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.11.tgz","fileCount":429,"integrity":"sha512-EBLyEZwe7Lwssl1p9H5K4tSrdlrah2rEJBcXAffwcoNo58ceMJVeCfqqHS9oow/Y6EAmdOWDDRRptUhF0rW6pA==","signatures":[{"sig":"MEUCIBDWEfNTR1mCB7I1/eA7nd2HmYMTgecBq50ZGAyfPN7WAiEAghbDQfG2HZbAYEvgs8zl2DzJQu5kdSUAADBo7Gwh/BU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9145794},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.11.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/f40d16d970b551522eed74112e08d467/samanhappy-mcphub-1.0.11.tgz","_integrity":"sha512-EBLyEZwe7Lwssl1p9H5K4tSrdlrah2rEJBcXAffwcoNo58ceMJVeCfqqHS9oow/Y6EAmdOWDDRRptUhF0rW6pA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.18","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.11_1780566491902_0.12680773126868816","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@samanhappy/mcphub","version":"1.0.12","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.12","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"171ff5ea55b64c89c69c27a363da8ae5748aff50","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.12.tgz","fileCount":431,"integrity":"sha512-nkxutJ1vlz7+e7K4xZU3NuxabOEx3iU8YV5l223qQIPwwQjn+Rc6xU6AbhcVvBP0FjuMEDB4zVK0TPO0+sxzGQ==","signatures":[{"sig":"MEYCIQC/7j6+1PCnDfLN0DU/432tmxcRFwsxH3s/EygZJ27Y8AIhAPeIdccv9AUEmrHmL2Gfb6sM4Ym7guWXv6kva39cIi5g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9214680},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.12.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/333bfeb1cfa913735d6a07f9ab2e5e6b/samanhappy-mcphub-1.0.12.tgz","_integrity":"sha512-nkxutJ1vlz7+e7K4xZU3NuxabOEx3iU8YV5l223qQIPwwQjn+Rc6xU6AbhcVvBP0FjuMEDB4zVK0TPO0+sxzGQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.21","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.12_1780801107512_0.2862098163510245","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@samanhappy/mcphub","version":"1.0.13","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.13","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"9063754e904e8adc3f0700fa997c6b10b4b8f255","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.13.tgz","fileCount":435,"integrity":"sha512-IVAcloyn0qXQmhIxLhgSpUhWUTYq134V3w7qrm3WKtymrsWGjulxsflx2NmQyT45VaHJij0BxPoEnAO+rk7eAw==","signatures":[{"sig":"MEUCIQCjz1Wu9fq2c5Cksw3s5V7LT3i7HkmwXoLXkI3Sf0QH1QIgDrzGra9l6h7wqhY31nR6BCsmgKvuUyBB1TeUNm6B4bU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9238721},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.13.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/7c80af682247c7c0e9dec11164a6b438/samanhappy-mcphub-1.0.13.tgz","_integrity":"sha512-IVAcloyn0qXQmhIxLhgSpUhWUTYq134V3w7qrm3WKtymrsWGjulxsflx2NmQyT45VaHJij0BxPoEnAO+rk7eAw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.21","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.13_1780929758873_0.579225038380947","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@samanhappy/mcphub","version":"1.0.14","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.14","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"fc6396fe61ce23efff372ed9633615f36de2e57b","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.14.tgz","fileCount":435,"integrity":"sha512-5HIZ3m9AijoOzaVilNJM1PtwI8TH4SQoFrv2vDNl6p4m0kwwfU9db0TjEnWdyNSUcIfMBMZdFLwWJSYA+WP/sw==","signatures":[{"sig":"MEUCIBnUN5Dl0CFeSIfOINATszurWZ1SpVhyYcXCOg9+JOcHAiEAnzoWqKCOx42+8juMlFwW4u9xeOnwy/TuWWOc6GL8pOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9241667},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.14.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/095deceb703cdbb5c14099ba29152865/samanhappy-mcphub-1.0.14.tgz","_integrity":"sha512-5HIZ3m9AijoOzaVilNJM1PtwI8TH4SQoFrv2vDNl6p4m0kwwfU9db0TjEnWdyNSUcIfMBMZdFLwWJSYA+WP/sw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.21","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.14_1781175574337_0.021184003535077878","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@samanhappy/mcphub","version":"1.0.15","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.15","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"75fec316be8bec146f2407aac8823a58944e2200","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.15.tgz","fileCount":437,"integrity":"sha512-+nh1BfBemzi9681d+jveFCYoAt1tSn8+BEPkqMSLT+J2xRficr6fBJkj6LzCV6lrRnz1D9nFKYyG54Gk1oUDzg==","signatures":[{"sig":"MEYCIQCb7+WISTY/c7BpupA3PSOq8JoZSdlyNuiVwkR586uUtAIhAOenHBxM8cfJsYhLKKBCMkRbN9qGgn+NFOEZBqIpa4Eo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9253774},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.15.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/95bca98a4d906b86c4ab7cace18fb442/samanhappy-mcphub-1.0.15.tgz","_integrity":"sha512-+nh1BfBemzi9681d+jveFCYoAt1tSn8+BEPkqMSLT+J2xRficr6fBJkj6LzCV6lrRnz1D9nFKYyG54Gk1oUDzg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.21","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.15_1781496700555_0.9841605602964381","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@samanhappy/mcphub","version":"1.0.16","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.16","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"942c5c4a2f98c944e1f6843d87b6af24d7ec0a85","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.16.tgz","fileCount":437,"integrity":"sha512-bqbbmXyuNm/OE2ZUDR7eNJdYFLSu7MqYZgBLsdOZhrGGkTDY4GtaO1Opv9Vpvba/9yB8346Ub4PBg0yvLDA8CA==","signatures":[{"sig":"MEYCIQCxqu2bUA6kYhkEUWGY3poOZXmB3gdkDiuwUwVyzXRmrwIhAKRkQlf3Gn0ZVITf0RmmP42p0nOQHSzV98mHA9C4R0Jv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9254025},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.16.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/fd7e5ee42034a5c11aadb7cc23a43ee5/samanhappy-mcphub-1.0.16.tgz","_integrity":"sha512-bqbbmXyuNm/OE2ZUDR7eNJdYFLSu7MqYZgBLsdOZhrGGkTDY4GtaO1Opv9Vpvba/9yB8346Ub4PBg0yvLDA8CA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.21","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.16_1781535357521_0.9774152329019357","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@samanhappy/mcphub","version":"1.0.17","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.17","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"7557493a8bb4d8d014bd3b76353b094dc28f3d71","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.17.tgz","fileCount":441,"integrity":"sha512-y9enHFe74c1SSlNSUeT+/ZzyWJEOUZ/71MFC5WXGkLNY+IOD04asWp3Zdv/5RlDyud92wz+cpHzqLH3+Pv+B7Q==","signatures":[{"sig":"MEUCIB7F60KPOL8BCKs2cJh2fnJYFa/cHznjIwIN3BbHScH7AiEA4X3ZrZORKQJsX4EXPpugoFZ4dV9+ibNbm6EYcDTOsfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9298409},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.17.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/8d998d298e41a05a0d768b54820e8805/samanhappy-mcphub-1.0.17.tgz","_integrity":"sha512-y9enHFe74c1SSlNSUeT+/ZzyWJEOUZ/71MFC5WXGkLNY+IOD04asWp3Zdv/5RlDyud92wz+cpHzqLH3+Pv+B7Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.25","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.0.2","openai":"^6.7.0","undici":"^7.16.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.4.14","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^3.25.76","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.1.4","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^6.0.3","react-router-dom":"^7.12.0","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.17_1781789561041_0.005914550160365684","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@samanhappy/mcphub","version":"1.0.18","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.18","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"554ce3211069022bf3c93628e749d9cd28f48aaa","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.18.tgz","fileCount":441,"integrity":"sha512-/q79xNdCeqPmWUHm08OXzfHA9pOCYrqWfodcKykY3IlHKznJtVPbohdsRcbWX8NXeyyDgH6+J9Lkad2kpxKp/Q==","signatures":[{"sig":"MEUCIQC19NkkR1MWVxkwNpP3myGJS8gkcu8SkFV0NDOfNajjOAIgEIwoS+XLrZZvJnREv+fL92Q9XXn+0td68RZUORIVySw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9362573},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.18.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/d5047bcb430a83d85f4eda168f2fef15/samanhappy-mcphub-1.0.18.tgz","_integrity":"sha512-/q79xNdCeqPmWUHm08OXzfHA9pOCYrqWfodcKykY3IlHKznJtVPbohdsRcbWX8NXeyyDgH6+J9Lkad2kpxKp/Q==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.25","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.18_1782135894995_0.8204158274192155","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@samanhappy/mcphub","version":"1.0.19","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.19","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"f973cd1e97790db88a454489413bc3adccc01c2e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.19.tgz","fileCount":443,"integrity":"sha512-ASbAQhktBytc8HeiJya2iE2LFO0x7NnaizyleSV5ANb+8hd68hhhOFAoJHA0rjWqPqArwBZPq+pRXIlecav9QQ==","signatures":[{"sig":"MEQCIAZ8Rii3gauFj8ONYNQZGg7ugholBCvIzxEISFxImS+mAiAPPVh0DbEN+ftFtTLfv2KOP34DJgCtrgYHNfI0pvibQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9400121},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.19.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/c39e07bacbbc8e7813593169ac2b8bcb/samanhappy-mcphub-1.0.19.tgz","_integrity":"sha512-ASbAQhktBytc8HeiJya2iE2LFO0x7NnaizyleSV5ANb+8hd68hhhOFAoJHA0rjWqPqArwBZPq+pRXIlecav9QQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.25","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.19_1782631224487_0.961848208826017","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@samanhappy/mcphub","version":"1.0.20","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.20","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"07355ab0b80fe0dea07ca5be53ea5edcf9dfa1e9","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.20.tgz","fileCount":443,"integrity":"sha512-MuyVgK35MPK5Mas6QT94kzCboLuHj6RtYnpk/Zcs3tv0Avb2kTQof5HlCD+5WQTcZPC15EjqcGEzIzp3cBJ5Yg==","signatures":[{"sig":"MEYCIQCbgqA8V2EMr0EndTpugoOHIBdpgSwwJCHptZ+sybgtjQIhANNQOcXHi+eP58i10n2iqOYRZ71ChSPi5p6oyVHO5lcZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9400991},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.20.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/60626c25eb9517d0dd6964efc9422a1f/samanhappy-mcphub-1.0.20.tgz","_integrity":"sha512-MuyVgK35MPK5Mas6QT94kzCboLuHj6RtYnpk/Zcs3tv0Avb2kTQof5HlCD+5WQTcZPC15EjqcGEzIzp3cBJ5Yg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.25","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.20_1782645830826_0.19279918683035757","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@samanhappy/mcphub","version":"1.0.21","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.21","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"4703c184119a7031ec3a5f3a01893d5078586fc1","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.21.tgz","fileCount":443,"integrity":"sha512-k+4lz06dONQufM2FOEiuie5yIQcxjcoIBbe58I5+lTxck8NVUVB3QO7FLeOo/juiNw3d2TYyMdag4GMM6s7kzQ==","signatures":[{"sig":"MEUCIQCFohNZaSJ42KXXUJ+jGfs8gjuPmkTvSCPe/+T+njG/UQIgQozYAXMiRZUWNxOgAbxdOyrMxjf4smmadZ10xw13sSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9405650},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.21.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/5845f26b41e641ffae5ed1daed21f49d/samanhappy-mcphub-1.0.21.tgz","_integrity":"sha512-k+4lz06dONQufM2FOEiuie5yIQcxjcoIBbe58I5+lTxck8NVUVB3QO7FLeOo/juiNw3d2TYyMdag4GMM6s7kzQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.25","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.2.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.21_1782784079900_0.1893678199096358","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@samanhappy/mcphub","version":"1.0.22","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.22","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"d87211eb838045d2539de0c971363cf280a7f066","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.22.tgz","fileCount":443,"integrity":"sha512-aAgd6Js/XBkelHeVVZQpzRPY7tG67AFeOU09FI89YEc3vW0GUA7snxgDuIcoLTPaPobowxvL1gotZgAIt1mHGw==","signatures":[{"sig":"MEQCIBb8fWO4b1SwNfB0PH5Jb3/ZgfBdyOlwBFUDjBpV59uyAiA0P4KSkcWJaEq7TrlnLJ9h62xQQ+005zf4zCJlmjgHHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9411411},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.22.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"tsx watch src/index.ts","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"tsx watch src/index.ts --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/55421bf51cae86d0f85fa6817a502f56/samanhappy-mcphub-1.0.22.tgz","_integrity":"sha512-aAgd6Js/XBkelHeVVZQpzRPY7tG67AFeOU09FI89YEc3vW0GUA7snxgDuIcoLTPaPobowxvL1gotZgAIt1mHGw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.25","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.2.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.22_1783057553568_0.32925223809249493","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@samanhappy/mcphub","version":"1.0.23","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.23","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"a29eed7cac4a682c280242c9769c59ceedc21a1e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.23.tgz","fileCount":445,"integrity":"sha512-u7NUqbEvW3O13ct0HfzvBBoTsFcyQUz/4v0gWbLg3P0/kNDmNho1jZApqDdco9Oa0nG6cPFJL4H+q/w+14tSKg==","signatures":[{"sig":"MEUCIQCRRHBrfy/HOvPSYtbGSu6kdWiz2ZvEJYh6Ag7oHPwjygIgboTvCoao0jbj/BCS+CWyIo6U2yDJQ3F4VVVgUN5Dbj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9427652},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.23.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/cc6ba89601dd54f30b61ffcd7ec0b4ce/samanhappy-mcphub-1.0.23.tgz","_integrity":"sha512-u7NUqbEvW3O13ct0HfzvBBoTsFcyQUz/4v0gWbLg3P0/kNDmNho1jZApqDdco9Oa0nG6cPFJL4H+q/w+14tSKg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.25","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.2.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.23_1783256812020_0.5096939967397893","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@samanhappy/mcphub","version":"1.0.24","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.24","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"2286f3dce52bca6c05ed6d572e58cc2504ff6698","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.24.tgz","fileCount":447,"integrity":"sha512-9d4ZwNJPAC8Sb//6VVruBGMbdncjx6PgzNXlCBrF3dntoBuKh1AQsuy32e1hI0LhOsiUbic23UUQREJCD1+9+g==","signatures":[{"sig":"MEUCIHnQImZIDrHkDPcNWmzDrgA513ukvN7Lzt/u0PBjdDXcAiEAuH90rObCB90n8k2WFSJByGgv6r3br5vqcu2GTDfSp10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9472276},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.24.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/239ae74928707b6685b2b05992dfb46f/samanhappy-mcphub-1.0.24.tgz","_integrity":"sha512-9d4ZwNJPAC8Sb//6VVruBGMbdncjx6PgzNXlCBrF3dntoBuKh1AQsuy32e1hI0LhOsiUbic23UUQREJCD1+9+g==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.25","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.5.16","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.2.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.24_1783780086657_0.9273652675480151","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@samanhappy/mcphub","version":"1.0.25","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.25","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"6930a52bcd7c439173355afe7b483b09c924abf4","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.25.tgz","fileCount":447,"integrity":"sha512-yG4LUB5B1wYWIuACNeoWv4zthWHlRbsEM3ipoqCLk2JYn+M+sZMapG7wOXCtd+nAHpEp0rNssHJNBt2dOYrgvw==","signatures":[{"sig":"MEQCIC0HnN3dgrxvlG9zgo4oCb6QTIo8QNFfpVGDc4sbVzQRAiBXzdhV5mv4v97xJvbrhizjbgvhwu26QGCAVnn2FfJSkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9479818},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.25.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/fbadc9fb1f5427fdd537c817182447a7/samanhappy-mcphub-1.0.25.tgz","_integrity":"sha512-yG4LUB5B1wYWIuACNeoWv4zthWHlRbsEM3ipoqCLk2JYn+M+sZMapG7wOXCtd+nAHpEp0rNssHJNBt2dOYrgvw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.27","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.25_1784888629375_0.4801763123326448","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@samanhappy/mcphub","version":"1.0.26","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.26","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"323e70d1171ab4c708529df73cb5b4494ad4f07a","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.26.tgz","fileCount":447,"integrity":"sha512-N9ygL0gj3ZtEZ420ivwXc8flE7yFHgGOX89zUIP2UVzoGfG2WwUioe8fsNNrAraiLl049nJXPt9dzXHpFA1Pfg==","signatures":[{"sig":"MEUCIBpgXQEtzgnZfFTWRylEe6qOocgwEf16L0EafvfRu+jRAiEAsVlZeC04IUIaEAzIGaACeKB8f7mAt5AhjVGH1hTngSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9482751},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.26.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/132701ed685bf040486813e2f5d8be6f/samanhappy-mcphub-1.0.26.tgz","_integrity":"sha512-N9ygL0gj3ZtEZ420ivwXc8flE7yFHgGOX89zUIP2UVzoGfG2WwUioe8fsNNrAraiLl049nJXPt9dzXHpFA1Pfg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.27","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^13.24.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.26_1785246880633_0.45095274369609584","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@samanhappy/mcphub","version":"1.0.27","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.27","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"241ed690529a59d19bcdf9bb73033876592c435f","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.27.tgz","fileCount":449,"integrity":"sha512-PdnMGQaySqGINx7IZtjDKKSSXhRjZ9vCwyTWhC23jWYjmYBQyJT//Iimq/ompOIxsN8KpW8DaWQcr3YYxZQR8w==","signatures":[{"sig":"MEMCIFgcfuMVGJl733jzSg7jTCzBy3CbMdYVJ4Gad/owGaloAh9x0wYNtJ3s8hL5G+6lyLagtgy6cAwh47i0F4sdsLpj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9529511},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.27.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/3833df6966f532a3590eaccea991dff4/samanhappy-mcphub-1.0.27.tgz","_integrity":"sha512-PdnMGQaySqGINx7IZtjDKKSSXhRjZ9vCwyTWhC23jWYjmYBQyJT//Iimq/ompOIxsN8KpW8DaWQcr3YYxZQR8w==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.27","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.27_1785770565892_0.9551270330901469","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@samanhappy/mcphub","version":"1.0.28","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.28","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e9856b878f6d4d1c96ae7e99299a14996a402e99","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.28.tgz","fileCount":451,"integrity":"sha512-YN0WR92gy1uBgZEBpFZGX0F36FSZaDtyVAnprq3TWGLAOQWBm5Pdgn2ZzlFGLguqfVCdKGaqWCh9BCYIVec5Lw==","signatures":[{"sig":"MEUCIBjIAjLJel5z36iRFj/Er5g8igFXdt7/t0VE2ZjkpL/KAiEAjipD8bkJwCbMhfojxuiuH6Qxcvid0py1gkHUNr+2ky0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9563295},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.28.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/d87a21f241e17fa7a2c89a3a98be7c25/samanhappy-mcphub-1.0.28.tgz","_integrity":"sha512-YN0WR92gy1uBgZEBpFZGX0F36FSZaDtyVAnprq3TWGLAOQWBm5Pdgn2ZzlFGLguqfVCdKGaqWCh9BCYIVec5Lw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.34","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.0","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.28_1786169039545_0.9455510334122981","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@samanhappy/mcphub","version":"1.0.29","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"ISC","_id":"@samanhappy/mcphub@1.0.29","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"9c3e3027b7c422486b3be75e32adda1a84e2f1d1","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.29.tgz","fileCount":453,"integrity":"sha512-6n+2VkTzDiKV2ZRbgaeesq90WVgif8IB0u9pGMVxRbi0AtXhnsV4CqEL5eXH5eK/D0J4Rhw5mbFw7XSa5tLDMw==","signatures":[{"sig":"MEUCIQCFcvUQFQEAw2vN1x7wMw3efTLi1T+xyxXKT9jIc1FZtwIgN9R2AcKB2Kib5BHbQIAIFfaxVPHilCpoSHezM9W3BO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9588324},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.29.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/2861002f1df3e95f57c16bd389d512b6/samanhappy-mcphub-1.0.29.tgz","_integrity":"sha512-6n+2VkTzDiKV2ZRbgaeesq90WVgif8IB0u9pGMVxRbi0AtXhnsV4CqEL5eXH5eK/D0J4Rhw5mbFw7XSa5tLDMw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.34","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.1","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.29_1786933547239_0.6588190509926735","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"@samanhappy/mcphub","version":"1.0.30","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.30","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e656a1b6eff19d09fae423253b7149d0463a2927","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.30.tgz","fileCount":453,"integrity":"sha512-XrgsZIaJYSc0AFu4+5+cNcu7RLvM/+MtgHxyCyqP0yQLASJFMwEpMa1ZsCxSMlQbOd0PdgJN0xCc4InJXKOLRg==","signatures":[{"sig":"MEYCIQC3YhXFtSoJTSR3s2Ujfemev69VewPu5lz/uOnHUXfabgIhAOF9Lb7CXGdrcPS5GAwJmDVLlZXy9gaewsgftcR9ziNZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9615853},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.30.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/1ce70a786a1af8be3b5d713a02306ce8/samanhappy-mcphub-1.0.30.tgz","_integrity":"sha512-XrgsZIaJYSc0AFu4+5+cNcu7RLvM/+MtgHxyCyqP0yQLASJFMwEpMa1ZsCxSMlQbOd0PdgJN0xCc4InJXKOLRg==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.34","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.1","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.30_1787236771562_0.5706624872607082","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"@samanhappy/mcphub","version":"1.0.31","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.31","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"23a7c6f153815fc3be6f4247909d530e583474e9","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.31.tgz","fileCount":463,"integrity":"sha512-FaEZeFEGjq3pY1oU1owu/Kjzm67vWk8UVCz6pTzNQiBqw62/oktBjGYQRoxIjMMVUUlnCXeGKVT7cXpWJWqDpQ==","signatures":[{"sig":"MEUCIQDZK+BW7SKlfI7iUjxXi6XmWPkXMufI14KsXfpLHqr/hQIgMoJd3AR0mmVADkuyWPfJz3eL+Q2gyoIgPqobNrP0bsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9665963},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.31.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/f430a65c3c1a89327bb899ef1437e92e/samanhappy-mcphub-1.0.31.tgz","_integrity":"sha512-FaEZeFEGjq3pY1oU1owu/Kjzm67vWk8UVCz6pTzNQiBqw62/oktBjGYQRoxIjMMVUUlnCXeGKVT7cXpWJWqDpQ==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.34","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.1","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.15.1","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.31_1787402882200_0.08619998063013945","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"@samanhappy/mcphub","version":"1.0.32","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.32","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"ba035b96295c6b782e9e46469e978fecccde7793","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.32.tgz","fileCount":469,"integrity":"sha512-k0csMxsrZZOmh1Cef4WF/KGwFBtusJGPhCq5d1xTlhTfxy6qd61sGzU9ImoagquJZnnIaGp5SOWBv3xASNT5Tw==","signatures":[{"sig":"MEUCIE4wBPBLywNsc45NXX6HDrkTrSeW+Rn43y6QY67qeauBAiEA5vLlZj/eKCHFyciZzAYlU6fUcmFkEZJyr8/WpUWsuZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9706506},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.32.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/fc3f695e7f799837ef25ea24d575331d/samanhappy-mcphub-1.0.32.tgz","_integrity":"sha512-k0csMxsrZZOmh1Cef4WF/KGwFBtusJGPhCq5d1xTlhTfxy6qd61sGzU9ImoagquJZnnIaGp5SOWBv3xASNT5Tw==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.34","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.1","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.32_1787469198266_0.5811040610646805","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@samanhappy/mcphub","version":"1.0.33","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.33","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"fb8777718903f12f8c5dc1d4834afd062872f86e","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.33.tgz","fileCount":491,"integrity":"sha512-9ozLb165nkE5UWnPcMi02YZGDIOUcvmBMLb7mWqKJX3FDae9MGx3ohsLxKtn6TKD5TUXekzhNm+UtV99kX30eA==","signatures":[{"sig":"MEQCICWU48vGyQK2gW25eqnJTVbQAe+KxjVIuVEueW2KYr1SAiAwmA+S6RfqiplGy17ABk3bIVuIUF+1NpnEz/rcf4AuqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9904455},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.33.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/a05fe06689d58e23e07f88a93ce58096/samanhappy-mcphub-1.0.33.tgz","_integrity":"sha512-9ozLb165nkE5UWnPcMi02YZGDIOUcvmBMLb7mWqKJX3FDae9MGx3ohsLxKtn6TKD5TUXekzhNm+UtV99kX30eA==","_npmVersion":"10.8.2","description":"A hub server for mcp servers","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.34","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.1","typeorm":"^0.3.26","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.0","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^9.39.2","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.61.1","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.33_1788089344821_0.7068405797204225","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@samanhappy/mcphub","version":"1.0.34","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.34","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"5af029b7ad3744c557dfa10abe6411a01695ef43","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.34.tgz","fileCount":491,"integrity":"sha512-+YzEfQulM31LlMLEIYQzzDTMuYKvkxAs3qYUQuaJP8y/SJH5cap1QpUSMi5DjuwWh7G4OwNDeOes47WYrUEJyg==","signatures":[{"sig":"MEUCIHTPIQyRKDGo28l6MIHhTP8lufOvOZLW2971ZxXZcsl2AiEAjDNrzVRmcB2QT4dhqpEVc+L6y+KklzzkP/jFN0XDqgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9931696},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.34.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/e3b2779b78dd2177b1c63d9f7b3ff33a/samanhappy-mcphub-1.0.34.tgz","_integrity":"sha512-+YzEfQulM31LlMLEIYQzzDTMuYKvkxAs3qYUQuaJP8y/SJH5cap1QpUSMi5DjuwWh7G4OwNDeOes47WYrUEJyg==","_npmVersion":"10.8.2","description":"Self-hosted MCP gateway and management platform for connecting, managing, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.34","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.1","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.34_1788348536449_0.3969795035749073","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@samanhappy/mcphub","version":"1.0.35","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.35","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"ef3ab494953b2e8f7dda0349e3bf38c7677065a4","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.35.tgz","fileCount":491,"integrity":"sha512-xJ+4XDUqZagRQ/i8HwXbXhmIuvd2jfG2RB0tRwog96jZqVNfcMQJrdb6MGMjcCFzigaqxNL9SvWyn9bhExQMWg==","signatures":[{"sig":"MEUCIGBSiRTu7/lbG+2ZhG7zMabR02thaww9xLPWiVnrckuYAiEAnrU/yzt7wzdCOzLk2UBG2DTf7L9aGcR7/iCvReTsKsY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCvMOrVBZ52UDa3hCqc3Lh8sCLH4XsW/TWjin+yN7l2kQIhAJK7t9WuRv6H58MTvc3/CdsVj5nADdvLGMD2Zlsg5Owt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9959345},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.35.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","release:check-notes":"node scripts/validate-release-notes.js"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/754c55f7a87cd1444878b15a50b80ecb/samanhappy-mcphub-1.0.35.tgz","_integrity":"sha512-xJ+4XDUqZagRQ/i8HwXbXhmIuvd2jfG2RB0tRwog96jZqVNfcMQJrdb6MGMjcCFzigaqxNL9SvWyn9bhExQMWg==","_npmVersion":"10.8.2","description":"Self-hosted MCP gateway and management platform for connecting, managing, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.12.34","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.1","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.35_1788792192789_0.07973467428925751","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"@samanhappy/mcphub","version":"1.0.36","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.36","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"5b3e7c1bdcb8b48097aa4f88a9f9ecd77fc7813d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.36.tgz","fileCount":507,"integrity":"sha512-cLn8v8rOmQAzzQpICFCzYO5WoJn/ICAfZuqxLiFfTkeFC9BistHuP5/kdImkfwuWl+mP08MpRFxZ3+AlsVmA7w==","signatures":[{"sig":"MEYCIQDi3srkmL++7XxYp8+djvtE3vWHXVqXiDExgF6xFMJ/twIhAN3Td8HBdnJgTRK7VgGstxfGOg2xh5OcTZwA+7PuJtMR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCgEH68zsX12tsAyuTisUtYoM6jWZlwyrd8QT+pevB18QIhAO/ZYS+a3NchUEgpdAQS3AWYSU0udCyFK3ebIIXFRLGq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10073544},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.36.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/442da4960df514325166eed15a565dbb/samanhappy-mcphub-1.0.36.tgz","_integrity":"sha512-cLn8v8rOmQAzzQpICFCzYO5WoJn/ICAfZuqxLiFfTkeFC9BistHuP5/kdImkfwuWl+mP08MpRFxZ3+AlsVmA7w==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.36_1789037183649_0.7536258218889891","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"@samanhappy/mcphub","version":"1.0.37","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.37","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"4dce2997053e961ec1b7cdf2b41b5f89938dc147","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.37.tgz","fileCount":511,"integrity":"sha512-G5D58i2Zmp090HCGnGG/FwiyMP/V1udcPOOXi7t9r94fl5INgjD9GI4IpZog0bOiFAIieW8J1ZZeHUjneNnPxg==","signatures":[{"sig":"MEQCICxMxQERo3oSuZq93uAbhgzPUdfvUtlm3nm0ARrExrITAiB8EYFllMBV1ITM7FsI9vKJ8/bNQ3lbwEoyGUyBU6usvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDf5v3iQgzHIBcLV2pHxi9TFWUrJM+N1jP5/8pEogtUzgIhAOnfQzoIj/1yJ6nqTLm5toF+mu4IF9BuJY/39EyPtjOK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10131094},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.37.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/4e7752644d431cbc5d5e0030a8ef5a94/samanhappy-mcphub-1.0.37.tgz","_integrity":"sha512-G5D58i2Zmp090HCGnGG/FwiyMP/V1udcPOOXi7t9r94fl5INgjD9GI4IpZog0bOiFAIieW8J1ZZeHUjneNnPxg==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.37_1789283658142_0.5340730936211595","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"@samanhappy/mcphub","version":"1.0.38","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.38","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e59f415afbb3b52192c90fdc697de8ed604d21e6","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.38.tgz","fileCount":511,"integrity":"sha512-VgVEiNlCFwMalWBsFtkEJ6nw4DUQaUuC2elr9DZaatPGuuNJi/g80pv/3KTHFxC7U7rlV6l5P/j00+Mo8Hn+OQ==","signatures":[{"sig":"MEUCICtgRJViGxi9K1TLQygP9x7PS9T3KNN27GhysTf6O4XlAiEA945Yzyh9zVQqmGL5ayVfueBYnfNfccp60ncd/aEJIPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHnH8w/pcuovdqJVV/g/rakffJQfmQedy5qOETUb0N8DAiEA++89F1mGMjvwSgbtYoljDhSlijgHzLuRw9mHBSlx6So=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10169207},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.38.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/6b928ecd4315e4aff946a030f266c55c/samanhappy-mcphub-1.0.38.tgz","_integrity":"sha512-VgVEiNlCFwMalWBsFtkEJ6nw4DUQaUuC2elr9DZaatPGuuNJi/g80pv/3KTHFxC7U7rlV6l5P/j00+Mo8Hn+OQ==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.38_1789540913162_0.9474836436757088","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"@samanhappy/mcphub","version":"1.0.39","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.39","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"817ad93c173478336db4f0e6c83f3c869bb5ef08","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.39.tgz","fileCount":515,"integrity":"sha512-/kzQQL3dcUSNRuemi/BnPEmTSphyQAvV7ac8nA8fKQYAR9ScvXD0/wzrNwylF0l8mKANRygdamQyZAJrTuPfPA==","signatures":[{"sig":"MEUCICqSbJ2BzUI9y/Yf1PUnO/Koc4YPiNtGw4sVOT3qjPXRAiEAn7RFrrgDCJrYYUKnxEZPQmrmNvTHOJZ7fto1WGsS2pQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD5RTrTLumRh/sPfTBCHNWvsAYJWm5XD5TuZWgkq8+BVwIhAIsQapFzgJOJCKFJGYYJBxY3zFYLyDJdBZV7zy0Yhg17","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10288634},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.39.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/d61d2fa03ba2dc9d932fcb4b57b7815f/samanhappy-mcphub-1.0.39.tgz","_integrity":"sha512-/kzQQL3dcUSNRuemi/BnPEmTSphyQAvV7ac8nA8fKQYAR9ScvXD0/wzrNwylF0l8mKANRygdamQyZAJrTuPfPA==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.39_1789799838398_0.4805075056178507","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"@samanhappy/mcphub","version":"1.0.40","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.40","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"93396829fdc660b779738e30a1257774aaa36116","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.40.tgz","fileCount":521,"integrity":"sha512-REYHNPziyfJAUqbRVbQY1/Yvov78l0EDR/JyOIjYvJ85rny1nyuWU/6l7ErxzC0X6wJSHcOQyz/kMkGsBwUlzw==","signatures":[{"sig":"MEYCIQCh5kkOeEXh23JrN6o1RVEfN4lUXOX2i+H4R8vNEhQGKAIhAKxXroN2cE5gCDfJmhauBfRJ9hQIilInTX+8CAymH5It","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHcDrz4H9S/Z6EI3lQOKAUW5YJ3gDsMCA7a6BSVJkl5RAiEA99eo8Km+L22O0gAG75COL33o16j7uu1dayz8mtB/6ME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10416217},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.40.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/db3eee29cb8040f3ddd76594803f5314/samanhappy-mcphub-1.0.40.tgz","_integrity":"sha512-REYHNPziyfJAUqbRVbQY1/Yvov78l0EDR/JyOIjYvJ85rny1nyuWU/6l7ErxzC0X6wJSHcOQyz/kMkGsBwUlzw==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.40_1790251912051_0.7976101176156449","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"@samanhappy/mcphub","version":"1.0.41","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.41","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"c45c86c66e6d991cb483b238406cf9e31793df2c","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.41.tgz","fileCount":519,"integrity":"sha512-IMMSw0k6vs9Ftazf5rpudh3YAmgQCMvCR+mpTXdfn7TuDYcgMhnXIYh0UIwZ3rduwovaVhZEiR9/fsJdVvJA5g==","signatures":[{"sig":"MEUCICLZT1OUQdHpe3eDqLV+pjXy6nqMPEd9jTnOdGpqVIAFAiEArQgvZdQvhjxbJH4203VqcEDbQ009YPvH3AmlrH+WQhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCP8WeZsy9OsEwLMHoVdnR0kX+L4PUvnMco11mrUliCAgIgS75BikMowwPPf2bXrFczf28H3UUs3iIxdC+o36zPaNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10344853},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.41.tgz","engines":{"node":"^18.0.0 || >=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","docs:validate":"node scripts/validate-docs.js","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/0cf29ceb05edc7e22c1dba6e2d8c54f2/samanhappy-mcphub-1.0.41.tgz","_integrity":"sha512-IMMSw0k6vs9Ftazf5rpudh3YAmgQCMvCR+mpTXdfn7TuDYcgMhnXIYh0UIwZ3rduwovaVhZEiR9/fsJdVvJA5g==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@node-oauth/oauth2-server":"^5.2.1","@apidevtools/swagger-parser":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@mdx-js/mdx":"^3.1.1","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","remark-frontmatter":"^5.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.41_1790414425617_0.4145050758350364","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"@samanhappy/mcphub","version":"1.0.42","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.42","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"de996dd5d313fc594cfe299ef340422fc7505aa6","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.42.tgz","fileCount":523,"integrity":"sha512-mPyIKWjM0MbHi1atW4wl3gtQSUUCuPIboZoQHAE8KRXQteIA+xw4qtWCrc4A9X4pQH6/JKRgIgNSNW+kyFDNVw==","signatures":[{"sig":"MEQCICMULgE7cLm/96cgZMp3HpVDixGk1aBrqm39/pamfPQBAiBYXU9hJJlq0NSZK5lvmMnPNK+sx5M/9nPpdhNAWYRslg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC47jv5EQuzlKTwkunne4j+PHaq5zBgoi/6y2AGRgfbeAIgZtd8SbfbPb5lZ1Fu89rRd82J1Fg89FjMI915R0e8Wag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10349962},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.42.tgz","engines":{"node":">=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","docs:validate":"node scripts/validate-docs.js","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/5961a75bc575aa5c3fd3778fdf2da504/samanhappy-mcphub-1.0.42.tgz","_integrity":"sha512-mPyIKWjM0MbHi1atW4wl3gtQSUUCuPIboZoQHAE8KRXQteIA+xw4qtWCrc4A9X4pQH6/JKRgIgNSNW+kyFDNVw==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ajv":"^8.18.0","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","ajv-formats":"^3.0.1","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@node-oauth/oauth2-server":"^5.2.1","@modelcontextprotocol/node":"^2.1.0","@apidevtools/swagger-parser":"^12.1.0","@modelcontextprotocol/client":"^2.1.0","@modelcontextprotocol/server":"^2.1.0","@modelcontextprotocol/server-legacy":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@mdx-js/mdx":"^3.1.1","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","remark-frontmatter":"^5.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@modelcontextprotocol/sdk-v1":"npm:@modelcontextprotocol/sdk@1.29.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.42_1790602759216_0.1990816510450788","host":"s3://npm-registry-packages-npm-production"}},"1.0.43":{"name":"@samanhappy/mcphub","version":"1.0.43","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.43","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"bf486fdc590671238d4b44fa931f01ff59cb555b","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.43.tgz","fileCount":525,"integrity":"sha512-11vBeHG6cM8GYDsq9lBUD/0RWjwrgttcTitkYVMn4yEaNRfJrdoGPDn2tuJJKQVmhlxfDgtn+Sd0dzD5Fjcuew==","signatures":[{"sig":"MEYCIQDgYavhD3qOzj0eLLW3N7530y8UUtMJQTK2mLj3RC02IwIhAMrfad8Kquw6rwurSTf0uJk53WRN4AXKU2pm8MbJIj8Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDfubBzS+b4GRNi2ZhfQVGBwOhqIf+hDv2V+8KNM+tdigIgH5EX/QCbfO7hzr7NxwOKneZJqsa+6RRk+Hnslb4B1RA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10421717},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.43.tgz","engines":{"node":">=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","docs:validate":"node scripts/validate-docs.js","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/2247fc8dbaf549a00e062d7b0499610a/samanhappy-mcphub-1.0.43.tgz","_integrity":"sha512-11vBeHG6cM8GYDsq9lBUD/0RWjwrgttcTitkYVMn4yEaNRfJrdoGPDn2tuJJKQVmhlxfDgtn+Sd0dzD5Fjcuew==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ajv":"^8.18.0","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","ajv-formats":"^3.0.1","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@node-oauth/oauth2-server":"^5.2.1","@modelcontextprotocol/node":"^2.1.0","@apidevtools/swagger-parser":"^12.1.0","@modelcontextprotocol/client":"^2.1.0","@modelcontextprotocol/server":"^2.1.0","@modelcontextprotocol/server-legacy":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@mdx-js/mdx":"^3.1.1","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","remark-frontmatter":"^5.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@modelcontextprotocol/sdk-v1":"npm:@modelcontextprotocol/sdk@1.29.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.43_1790752890163_0.002490882013189255","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"@samanhappy/mcphub","version":"1.0.44","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.44","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"1f6bddb945ac04f2705ca17c701714ce5b0a6b8d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.44.tgz","fileCount":525,"integrity":"sha512-wNZGkFDqiLHoQje5sAT1icEs0OY4BtqXHUryLkyAft8Rx1pDB2O9EAP6wMk3UZ58+upN3IQgho9/1UZIEMRu1A==","signatures":[{"sig":"MEUCIAFkvJbAYLDzjxB21/hGdT4AEssjdfx0tKr1e/eRrmwfAiEA/4x7HTRxrOwqNd3aaPMiJfHEZA2uSDYAa0tn3bjhquM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDJSMgdivPs5Fyj4Q0Wp4rnn5QtvG925uByLdWidFymRAIgDN0y5WHu1uZ1w2pBsBdzJHa8MdrJ9gG8zzLCnaDn+gg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10431638},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.44.tgz","engines":{"node":">=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","docs:validate":"node scripts/validate-docs.js","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/17505d60f760ac045dbd2ab66549469b/samanhappy-mcphub-1.0.44.tgz","_integrity":"sha512-wNZGkFDqiLHoQje5sAT1icEs0OY4BtqXHUryLkyAft8Rx1pDB2O9EAP6wMk3UZ58+upN3IQgho9/1UZIEMRu1A==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ajv":"^8.18.0","cors":"^2.8.5","hono":"4.13.5","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.2.1","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","ajv-formats":"^3.0.1","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@node-oauth/oauth2-server":"^5.2.1","@modelcontextprotocol/node":"^2.1.0","@apidevtools/swagger-parser":"^12.1.0","@modelcontextprotocol/client":"^2.1.0","@modelcontextprotocol/server":"^2.1.0","@modelcontextprotocol/server-legacy":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^9.39.2","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@mdx-js/mdx":"^3.1.1","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^0.552.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","remark-frontmatter":"^5.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@modelcontextprotocol/sdk-v1":"npm:@modelcontextprotocol/sdk@1.29.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.44_1790779085401_0.5445775151937102","host":"s3://npm-registry-packages-npm-production"}},"1.0.45":{"name":"@samanhappy/mcphub","version":"1.0.45","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.45","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"5365ee5d6a1d5b9d845ba2b6747c8ff36d0eea6d","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.45.tgz","fileCount":525,"integrity":"sha512-gESGrKLWoJ5FTCtFu/TLRoS7T/JQw+F7gdj+jJUhdq9DJ11THXQ4sXYPpS7r7AzO6cP3fhcY7GgPm5a6pZmAFw==","signatures":[{"sig":"MEUCIAwkqosLSWhQDwPC6XrDFIg0FVW9D6rOLhbEKmHPHJcmAiEAqMUEmKwf7pIEVgASvqg3IA6p1F+VztllqI2shp140sg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH2cgnQ52zk0gHXWw7gX6EE7cQJPZQHXmtKOebZJsAQ5AiEAqyNlSUTqDR/ViyhmBfJ9m7xMjlQel93Y39eLHJhavGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10464288},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.45.tgz","engines":{"node":">=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","docs:validate":"node scripts/validate-docs.js","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/f820a0b5b2f95182e24ddfdd6142fe10/samanhappy-mcphub-1.0.45.tgz","_integrity":"sha512-gESGrKLWoJ5FTCtFu/TLRoS7T/JQw+F7gdj+jJUhdq9DJ11THXQ4sXYPpS7r7AzO6cP3fhcY7GgPm5a6pZmAFw==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ajv":"^8.18.0","cors":"^2.8.5","hono":"4.13.7","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.3.0","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","ajv-formats":"^3.0.1","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@node-oauth/oauth2-server":"^5.2.1","@modelcontextprotocol/node":"^2.1.0","@apidevtools/swagger-parser":"^12.1.0","@modelcontextprotocol/client":"^2.1.0","@modelcontextprotocol/server":"^2.1.0","@modelcontextprotocol/server-legacy":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^10.0.1","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@mdx-js/mdx":"^3.1.1","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^1.48.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","remark-frontmatter":"^5.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@modelcontextprotocol/sdk-v1":"npm:@modelcontextprotocol/sdk@1.29.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.45_1790953177712_0.8472579488555405","host":"s3://npm-registry-packages-npm-production"}},"1.0.46":{"name":"@samanhappy/mcphub","version":"1.0.46","keywords":["typescript","server","mcp","model context protocol"],"author":"","license":"Apache-2.0","_id":"@samanhappy/mcphub@1.0.46","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"25ff37ba8e32929de83b7e5baf77f06b5b4fa498","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.0.46.tgz","fileCount":527,"integrity":"sha512-7xcLXT08rZ7J3Gc2e1Jpg74WR57dbJ+00/LS7mBJcDO57m3qPjjdvamNG4vYyM9YXs82A4PZDOh06IIdYy0f3Q==","signatures":[{"sig":"MEYCIQCrLqKp5b4o1TNGlITRtRLKNkxqI7jPXHsJ4W5yiWv0+AIhAPEhjaY+q4ncH2Vg0ZpDm36QquMDA4jsgut0xTphV7Pb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCFO+FO5gguZ/xkW08cdjFCKohRZ/3AT6rzXTrp9VDYwgIhALA7nC83o7jNQpZBQEU4dmtz44Ss5tpgzr1r0ab/vYiG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10479529},"main":"dist/index.js","type":"module","_from":"file:samanhappy-mcphub-1.0.46.tgz","engines":{"node":">=20.0.0"},"scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","docs:validate":"node scripts/validate-docs.js","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"_resolved":"/tmp/aefe2bb5c301c8396e76565ad43c8aaf/samanhappy-mcphub-1.0.46.tgz","_integrity":"sha512-7xcLXT08rZ7J3Gc2e1Jpg74WR57dbJ+00/LS7mBJcDO57m3qPjjdvamNG4vYyM9YXs82A4PZDOh06IIdYy0f3Q==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ajv":"^8.18.0","cors":"^2.8.5","hono":"4.13.7","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.3.0","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","ajv-formats":"^3.0.1","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@node-oauth/oauth2-server":"^5.2.1","@modelcontextprotocol/node":"^2.1.0","@apidevtools/swagger-parser":"^12.1.0","@modelcontextprotocol/client":"^2.1.0","@modelcontextprotocol/server":"^2.1.0","@modelcontextprotocol/server-legacy":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^10.0.1","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@mdx-js/mdx":"^3.1.1","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^1.48.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","remark-frontmatter":"^5.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@modelcontextprotocol/sdk-v1":"npm:@modelcontextprotocol/sdk@1.29.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcphub_1.0.46_1791034899932_0.01708406097912496","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@samanhappy/mcphub@1.1.0","bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"716f4909e0eeaf349dcec59e48304d79dab89083","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.1.0.tgz","fileCount":529,"integrity":"sha512-BufEnT86V88AgxP6x6BkuQ19p7VyfPPPYxhrjtYZMih0YBsak+DIHK4XRXM19ceFRH/76YpYL2hA8goTEHFMqA==","signatures":[{"sig":"MEUCIH3/Yh4yH7DjWpstlT5kGqwUFjGzLkLE4nMyl6KjgEeJAiEAg4rdvtOGH64GSOyeeeW8xBHMrc2dXyzHvU/pMmnK6DI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAGrWmNg3pokhWvPF30rptyvcJBYPZSRvVYsS/wLtLgVAiA95EidQOYnPpoXsj6fvPw9Cwy+kraqFBt58VEdVTLDgg=="}],"unpackedSize":10500082},"main":"dist/index.js","name":"@samanhappy/mcphub","type":"module","_from":"file:samanhappy-mcphub-1.1.0.tgz","author":"","engines":{"node":">=20.0.0"},"license":"Apache-2.0","scripts":{"cli":"tsx src/cli/main.ts","dev":"concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"","lint":"eslint .","test":"jest","build":"pnpm backend:build && pnpm frontend:build","debug":"concurrently \"pnpm backend:debug\" \"pnpm frontend:dev\"","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\"","test:ci":"jest --ci --coverage --watchAll=false","test:watch":"jest --watch","backend:dev":"node scripts/dev-backend.js","frontend:dev":"cd frontend && vite","test:verbose":"jest --verbose","backend:build":"tsc","backend:debug":"node scripts/dev-backend.js --inspect","docs:validate":"node scripts/validate-docs.js","test:coverage":"jest --coverage","frontend:build":"cd frontend && vite build","frontend:preview":"cd frontend && vite preview","frontend:typecheck":"tsc --noEmit -p frontend/tsconfig.json"},"version":"1.1.0","_npmUser":{"name":"samanhappy","email":"samanhappy@gmail.com"},"keywords":["typescript","server","mcp","model context protocol"],"_resolved":"/tmp/9789e5953acfba859b6571767f276bd5/samanhappy-mcphub-1.1.0.tgz","_integrity":"sha512-BufEnT86V88AgxP6x6BkuQ19p7VyfPPPYxhrjtYZMih0YBsak+DIHK4XRXM19ceFRH/76YpYL2hA8goTEHFMqA==","_npmVersion":"10.8.2","description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","directories":{},"maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"_nodeVersion":"20.20.2","dependencies":{"pg":"^8.16.3","ajv":"^8.18.0","cors":"^2.8.5","hono":"4.13.7","uuid":"^14.0.0","axios":"^1.12.2","redis":"^5.12.1","bcrypt":"^6.0.0","dotenv":"^17.2.3","kysely":"^0.28.9","multer":"^2.2.0","openai":"^6.7.0","undici":"^7.28.0","adm-zip":"^0.6.0","express":"^4.21.2","i18next":"^25.5.0","js-yaml":"4.3.2","typeorm":"^1.1.0","bcryptjs":"^3.0.2","pgvector":"^0.3.0","postgres":"^3.4.7","@types/pg":"^8.15.5","ipaddr.js":"^2.4.0","tree-kill":"^1.2.2","ajv-formats":"^3.0.1","better-auth":"^1.6.19","jsonwebtoken":"^9.0.2","tough-cookie":"^6.0.2","@google/genai":"^1.44.0","@types/bcrypt":"^6.0.0","@types/multer":"^2.0.0","dotenv-expand":"^12.0.2","gpt-tokenizer":"^3.4.0","openapi-types":"^12.1.3","openid-client":"^6.8.1","@types/adm-zip":"^0.5.7","better-sqlite3":"^12.6.2","reflect-metadata":"^0.2.2","express-validator":"^7.3.1","express-rate-limit":"^8.3.0","i18next-fs-backend":"^2.6.7","@huggingface/tokenizers":"^0.1.3","@node-oauth/oauth2-server":"^5.2.1","@modelcontextprotocol/node":"^2.1.0","@apidevtools/swagger-parser":"^12.1.0","@modelcontextprotocol/client":"^2.1.0","@modelcontextprotocol/server":"^2.1.0","@modelcontextprotocol/server-legacy":"^2.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","zod":"^4.4.3","clsx":"^2.1.1","jest":"^30.2.0","vite":"^6.3.5","react":"19.2.7","eslint":"^10.9.1","globals":"^17.8.0","postcss":"^8.5.6","ts-jest":"^29.4.1","prettier":"^3.6.2","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","react-dom":"19.2.7","supertest":"^7.2.2","@eslint/js":"^10.0.1","@shadcn/ui":"^0.0.4","typescript":"^5.9.2","@mdx-js/mdx":"^3.1.1","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^24.6.2","@types/uuid":"^11.0.0","tailwindcss":"^4.1.12","ts-node-dev":"^2.0.0","@types/react":"^19.1.11","autoprefixer":"^10.4.21","concurrently":"^9.2.0","lucide-react":"^1.48.0","react-i18next":"^16.2.4","@types/express":"^4.17.23","@types/js-yaml":"4.0.9","tailwind-merge":"^3.3.1","@types/bcryptjs":"^3.0.0","@eslint/eslintrc":"^3.3.3","@types/react-dom":"^19.1.7","@types/supertest":"^7.2.0","react-router-dom":"^7.18.2","@tailwindcss/vite":"^4.1.12","jest-mock-extended":"4.0.1","remark-frontmatter":"^5.0.0","@types/jsonwebtoken":"^9.0.10","@radix-ui/react-slot":"^1.2.3","@tailwindcss/postcss":"^4.1.12","@vitejs/plugin-react":"^5.1.3","@types/better-sqlite3":"^7.6.7","jest-environment-node":"^30.0.5","@tailwindcss/line-clamp":"^0.4.4","tailwind-scrollbar-hide":"^4.0.0","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@typescript-eslint/parser":"^8.68.0","@modelcontextprotocol/sdk-v1":"npm:@modelcontextprotocol/sdk@1.29.0","@typescript-eslint/eslint-plugin":"^8.61.1","i18next-browser-languagedetector":"^8.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcphub_1.1.0_1791043819756_0.06047884420291183"}}},"time":{"created":"2025-04-29T06:26:14.525Z","modified":"2026-10-03T16:10:20.229Z","0.0.1":"2025-04-29T06:26:14.771Z","0.0.2":"2025-04-29T06:29:37.146Z","0.0.3":"2025-04-29T06:39:57.544Z","0.0.4":"2025-04-29T06:53:55.429Z","0.0.5":"2025-04-29T07:03:45.233Z","0.0.6":"2025-04-29T07:21:44.773Z","0.0.7":"2025-04-29T07:29:48.249Z","0.0.8":"2025-04-29T07:32:02.742Z","0.0.9":"2025-04-29T07:33:29.097Z","0.0.10":"2025-04-29T07:37:52.004Z","0.0.11":"2025-04-29T07:47:39.581Z","0.0.12":"2025-04-29T07:49:11.045Z","0.0.13":"2025-04-29T07:52:02.997Z","0.0.14":"2025-04-29T08:00:50.593Z","0.0.15":"2025-04-29T08:24:13.203Z","0.0.16":"2025-04-29T08:57:23.949Z","0.0.17":"2025-04-29T09:35:15.358Z","0.0.18":"2025-04-29T09:41:24.279Z","0.0.20":"2025-04-29T09:49:28.106Z","0.0.21":"2025-04-29T10:04:32.832Z","0.0.22":"2025-04-29T10:17:02.620Z","0.0.23":"2025-04-29T10:22:56.560Z","0.0.24":"2025-04-29T11:06:20.819Z","0.0.25":"2025-04-29T11:13:11.631Z","0.0.26":"2025-04-29T11:18:20.074Z","0.0.27":"2025-04-30T10:44:33.477Z","0.5.4":"2025-05-10T13:34:50.626Z","0.6.0":"2025-05-13T06:21:44.050Z","0.6.1":"2025-05-16T08:49:06.137Z","0.6.2":"2025-05-18T12:09:53.198Z","0.7.0":"2025-05-28T10:23:16.048Z","0.7.1":"2025-05-28T14:18:08.258Z","0.7.2":"2025-05-28T15:27:22.608Z","0.7.3":"2025-05-30T15:11:42.701Z","0.7.4":"2025-06-02T02:58:20.417Z","0.7.5":"2025-06-05T11:12:28.641Z","0.7.6":"2025-06-07T13:37:22.059Z","0.7.7":"2025-06-12T11:16:50.536Z","0.8.0":"2025-06-16T10:18:19.512Z","0.8.1":"2025-06-20T09:46:23.012Z","0.8.2":"2025-06-27T06:47:04.313Z","0.8.3":"2025-06-30T10:08:30.843Z","0.8.4":"2025-07-22T14:42:12.916Z","0.8.5":"2025-07-25T06:32:59.387Z","0.8.6":"2025-07-29T10:08:33.646Z","0.8.7":"2025-08-05T09:07:16.585Z","0.9.0":"2025-08-11T06:28:28.754Z","0.9.1":"2025-08-14T07:19:08.056Z","0.9.2":"2025-08-21T08:21:20.143Z","0.9.3":"2025-08-24T08:11:27.826Z","0.9.4":"2025-08-26T07:03:11.634Z","0.9.5":"2025-08-26T10:50:59.046Z","0.9.6":"2025-08-27T14:14:30.347Z","0.9.7":"2025-08-31T06:52:18.701Z","0.9.8":"2025-09-01T02:17:43.030Z","0.9.9":"2025-09-12T06:30:55.681Z","0.9.10":"2025-09-20T09:27:05.727Z","0.9.11":"2025-10-02T07:28:49.885Z","0.9.12":"2025-10-11T15:47:06.937Z","0.9.13":"2025-10-13T11:40:39.292Z","0.9.14":"2025-10-13T14:40:00.867Z","0.9.15":"2025-10-19T13:20:14.634Z","0.9.16":"2025-10-22T04:07:45.669Z","0.10.0":"2025-10-27T06:51:38.398Z","0.10.1":"2025-10-29T10:45:25.578Z","0.10.2":"2025-11-02T15:04:32.128Z","0.10.3":"2025-11-03T06:18:37.878Z","0.10.4":"2025-11-21T10:24:47.192Z","0.10.5":"2025-11-22T04:09:47.811Z","0.10.6":"2025-11-27T13:35:59.459Z","0.11.0":"2025-11-30T09:40:26.809Z","0.11.1":"2025-12-03T03:18:03.215Z","0.11.2":"2025-12-04T11:27:00.952Z","0.11.3":"2025-12-05T09:58:38.442Z","0.11.4":"2025-12-06T08:01:38.802Z","0.11.5":"2025-12-11T10:06:39.563Z","0.11.6":"2025-12-13T09:41:30.075Z","0.11.7":"2025-12-14T12:43:01.607Z","0.11.8":"2025-12-16T07:42:32.779Z","0.11.9":"2025-12-20T04:17:40.588Z","0.11.10":"2025-12-28T04:21:11.192Z","0.11.11":"2026-01-01T14:43:14.173Z","0.11.12":"2026-01-07T14:17:31.349Z","0.11.13":"2026-01-09T13:37:28.202Z","0.12.0":"2026-01-14T11:18:43.804Z","0.12.1":"2026-01-21T11:24:11.924Z","0.12.2":"2026-01-29T09:43:45.571Z","0.12.3":"2026-02-08T03:49:31.319Z","0.12.4":"2026-02-24T14:29:55.222Z","0.12.5":"2026-03-01T13:10:01.805Z","0.12.6":"2026-03-03T13:51:44.268Z","0.12.7":"2026-03-08T04:22:34.499Z","0.12.8":"2026-03-14T09:20:26.858Z","0.12.9":"2026-03-21T03:40:12.328Z","0.12.10":"2026-03-30T02:28:31.682Z","0.12.11":"2026-04-03T01:03:01.591Z","0.12.12":"2026-04-06T10:05:36.626Z","0.12.13":"2026-04-22T15:41:59.231Z","0.12.14":"2026-04-28T03:22:16.701Z","0.12.15":"2026-05-02T03:25:42.784Z","0.12.16":"2026-05-08T14:34:24.531Z","0.12.17":"2026-05-12T10:37:09.992Z","1.0.0":"2026-05-16T09:47:12.423Z","1.0.1":"2026-05-20T06:02:07.316Z","1.0.2":"2026-05-21T15:12:36.997Z","1.0.3":"2026-05-22T08:46:31.202Z","1.0.4":"2026-05-23T02:07:59.229Z","1.0.5":"2026-05-23T04:21:48.644Z","1.0.6":"2026-05-28T05:02:09.768Z","1.0.7":"2026-05-28T11:29:05.228Z","1.0.8":"2026-05-31T13:15:25.997Z","1.0.9":"2026-06-01T09:36:41.388Z","1.0.10":"2026-06-02T10:41:14.824Z","1.0.11":"2026-06-04T09:48:12.125Z","1.0.12":"2026-06-07T02:58:27.736Z","1.0.13":"2026-06-08T14:42:39.097Z","1.0.14":"2026-06-11T10:59:34.515Z","1.0.15":"2026-06-15T04:11:40.756Z","1.0.16":"2026-06-15T14:55:57.783Z","1.0.17":"2026-06-18T13:32:41.239Z","1.0.18":"2026-06-22T13:44:55.186Z","1.0.19":"2026-06-28T07:20:24.677Z","1.0.20":"2026-06-28T11:23:51.022Z","1.0.21":"2026-06-30T01:48:00.137Z","1.0.22":"2026-07-03T05:45:53.806Z","1.0.23":"2026-07-05T13:06:52.203Z","1.0.24":"2026-07-11T14:28:06.863Z","1.0.25":"2026-07-24T10:23:49.556Z","1.0.26":"2026-07-28T13:54:40.819Z","1.0.27":"2026-08-03T15:22:46.175Z","1.0.28":"2026-08-08T06:03:59.739Z","1.0.29":"2026-08-17T02:25:47.442Z","1.0.30":"2026-08-20T14:39:31.781Z","1.0.31":"2026-08-22T12:48:02.395Z","1.0.32":"2026-08-23T07:13:18.450Z","1.0.33":"2026-08-30T11:29:05.002Z","1.0.34":"2026-09-02T11:28:56.642Z","1.0.35":"2026-09-07T14:43:12.944Z","1.0.36":"2026-09-10T10:46:23.816Z","1.0.37":"2026-09-13T07:14:18.304Z","1.0.38":"2026-09-16T06:41:53.299Z","1.0.39":"2026-09-19T06:37:18.532Z","1.0.40":"2026-09-24T12:11:52.187Z","1.0.41":"2026-09-26T09:20:25.773Z","1.0.42":"2026-09-28T13:39:19.359Z","1.0.43":"2026-09-30T07:21:30.293Z","1.0.44":"2026-09-30T14:38:05.530Z","1.0.45":"2026-10-02T14:59:37.905Z","1.0.46":"2026-10-03T13:41:40.074Z","1.1.0":"2026-10-03T16:10:20.069Z"},"license":"Apache-2.0","keywords":["typescript","server","mcp","model context protocol"],"description":"Open-source, self-hosted MCP gateway and control plane for connecting, controlling, and operating MCP servers.","maintainers":[{"name":"samanhappy","email":"samanhappy@gmail.com"}],"readme":"# MCPHub\n\n> 开源、自托管的 MCP 网关与控制平面，用于连接、控制和运行 MCP 服务器。\n\n[![CI](https://github.com/samanhappy/mcphub/actions/workflows/ci.yml/badge.svg)](https://github.com/samanhappy/mcphub/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/@samanhappy/mcphub)](https://www.npmjs.com/package/@samanhappy/mcphub)\n[![Docker pulls](https://img.shields.io/docker/pulls/samanhappy/mcphub)](https://hub.docker.com/r/samanhappy/mcphub)\n[![License](https://img.shields.io/github/license/samanhappy/mcphub)](LICENSE)\n[![Discord](https://img.shields.io/badge/discord-join-5865F2?logo=discord&logoColor=white)](https://discord.gg/2BJehJZVH5)\n[![GitHub stars](https://img.shields.io/github/stars/samanhappy/mcphub?style=social)](https://github.com/samanhappy/mcphub/stargazers)\n\n[English](README.md) | [Français](README.fr.md) | 中文版\n\nMCPHub 是 AI 客户端与 MCP 服务器之间的统一控制点。一次连接本地和远程 MCP 服务器，通过稳定端点组织和路由其能力，借助身份认证、限定作用域的凭据和用户级可见性控制访问，并通过集中日志、活动追踪和健康监控统一运行与管理。\n\n兼容 Claude Code、Cursor、Cherry Studio、OpenWebUI 及其他支持 MCP 的应用。\n\n![控制面板预览](assets/dashboard.zh.png)\n\n## 🌐 官网、演示与文档\n\n- **官网**: [mcphub.app](https://www.mcphub.app/zh)\n- **文档**: [docs.mcphub.app](https://docs.mcphub.app/)\n- **演示环境**: [demo.mcphub.app](https://demo.mcphub.app/)\n\n## 🚀 功能亮点\n\n### 一次连接，随处暴露\n\n- **智能路由** ⭐ - 基于向量语义搜索的 AI 工具发现 ([了解更多](https://docs.mcphub.app/zh/features/smart-routing))\n- **统一 MCP 网关** - 通过稳定的 MCP 端点暴露所有已连接的服务器，也支持分组和单服务器路由\n- **服务器别名与路由** - 设置别名，并将客户端路由到所有服务器、指定分组、单个服务器或智能路由\n- **SSE / Streamable HTTP / stdio 支持** - 通过支持的传输方式连接本地和远程 MCP 服务器\n- **热插拔配置** - 无需停机即可添加、移除或更新服务器\n\n### 管控访问与凭据\n\n- **个人凭据** ⭐ - 一个共享服务器支持每位用户独立绑定密钥，加密保存并隔离 stdio 运行进程（[了解更多](docs/zh/features/per-user-credentials.mdx)）\n- **身份认证与访问控制** - 使用 OAuth 2.0、Bearer Key 以及服务器或分组可见性控制访问权限\n- **OAuth 2.0 支持** ⭐ - 客户端和服务端模式，实现安全认证 ([了解更多](https://docs.mcphub.app/zh/features/oauth))\n- **社交一键登录** - 通过 Better Auth 集成支持 GitHub 和 Google 快捷登录（需启用数据库模式）\n- **服务器与分组管理** - 组织服务器分组，管理可见性，并控制 Tool、Prompt 与 Resource 的暴露范围\n\n### 稳定运行\n\n- **日志与可观测性** - 查看工具调用活动、请求状态、延迟和服务器日志\n- **健康检查** - 在一个地方监控连接健康状况和服务器状态\n- **Web 控制台** - 通过浏览器管理服务器配置和运行状态\n- **工具结果压缩** - 在返回客户端前透明压缩大型文本工具输出\n- **数据库模式** - 将配置存储在 PostgreSQL 中，适用于生产环境 ([了解更多](https://docs.mcphub.app/zh/configuration/database-configuration))\n- **Docker 就绪** - 容器化部署，开箱即用\n\n## 🔧 快速开始\n\n### 前置条件\n\n- **Docker**（推荐）—— 运行 MCPHub 最快的方式，下面的命令都基于它\n- **Node.js** `>=20.0.0` 和 **pnpm** `10.12.4` —— 仅从源码运行或参与本地开发时需要（见[本地开发](#本地开发)）\n\n### 使用 Docker 启动\n\n```bash\ndocker run -p 3000:3000 -v ./data:/app/data samanhappy/mcphub\n```\n\n打开 `http://localhost:3000`，使用用户名 `admin` 登录。首次启动时，如果未设置 `ADMIN_PASSWORD` 环境变量，系统将自动生成随机密码并输出到服务器日志中。\n\n配置、用户和凭据绑定默认持久化到 `./data`。\n\n想用自己的服务器？首次启动前，创建 `data/mcp_settings.json`（见[配置](#配置)）。启动后，可在控制台添加服务器，或编辑现有配置文件并重启 MCPHub。\n\n### 配置\n\n首次启动前，创建 `data/mcp_settings.json` 文件：\n\n```json\n{\n  \"mcpServers\": {\n    \"time\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"time-mcp\"]\n    },\n    \"fetch\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-fetch\"]\n    }\n  }\n}\n```\n\n📖 查看[配置指南](https://docs.mcphub.app/zh/configuration/mcp-settings)了解完整选项，包括 OAuth、环境变量等。\n\n### Docker 部署\n\n可复制的命令见[使用 Docker 启动](#使用-docker-启动)。请保持挂载 `./data`，这样配置、用户和凭据绑定在容器重建后不会丢失。\n\n`samanhappy/mcphub` 提供两种镜像变体：\n\n- **`latest`**（默认镜像）— 包含 Node.js/pnpm、Python、uv/uvx、Git、构建工具，覆盖大多数 MCP server 场景。\n- **`latest-full`**（扩展镜像）— 在 `latest` 基础上增加 Rust 工具链（Cargo/rustc）、Docker Engine，以及 Playwright 浏览器（Chrome + Firefox，仅限 amd64）。适合需要运行 Rust MCP server 或容器嵌套的场景。镜像体积更大。\n\n构建选项与 Docker-in-Docker 配置详见 [Docker 部署文档](https://docs.mcphub.app/zh/configuration/docker-setup)。\n\n### 访问控制台\n\n打开 `http://localhost:3000`（登录方式见[使用 Docker 启动](#使用-docker-启动)）。也可以预先设置密码：\n\n```bash\n# Docker：通过环境变量设置管理员密码\ndocker run -p 3000:3000 -v ./data:/app/data -e ADMIN_PASSWORD=your-secure-password samanhappy/mcphub\n```\n\n> **提示：** 首次登录后请及时修改管理员密码以确保安全。\n\n> **无界面模式：** 设置 `DISABLE_WEB=true` 后，MCPHub 将不再提供内置控制台 UI，只保留后端/API 与 MCP 端点。适合直接通过 `mcp_settings.json` 管理服务的场景。\n\n### 连接 AI 客户端\n\n通过以下地址连接 AI 客户端（Claude Desktop、Cursor 等）：\n\n```\nhttp://localhost:3000/mcp           # 所有服务器\nhttp://localhost:3000/mcp/{group}   # 特定分组\nhttp://localhost:3000/mcp/{server}  # 特定服务器\nhttp://localhost:3000/mcp/$smart    # 智能路由\nhttp://localhost:3000/mcp/$smart/{group}  # 智能路由（特定分组）\n```\n\n> **安全提示**：MCP 端点默认需要身份验证，以避免意外暴露。若需对 MCP 端点开放匿名访问，请在密钥设置中关闭 **启用 Bearer 认证**。**免登录开关**仅影响仪表盘登录。仅建议在受信任环境中使用。\n\n📖 查看 [API 参考](https://docs.mcphub.app/zh/api-reference)了解详细的端点文档。\n\n## 📚 文档\n\n| 主题                                                                           | 描述                         |\n| ------------------------------------------------------------------------------ | ---------------------------- |\n| [快速开始](https://docs.mcphub.app/zh/quickstart)                             | 5 分钟快速上手               |\n| [配置指南](https://docs.mcphub.app/zh/configuration/mcp-settings)             | MCP 服务器配置选项           |\n| [数据库模式](https://docs.mcphub.app/zh/configuration/database-configuration) | PostgreSQL 生产环境配置      |\n| [OAuth](https://docs.mcphub.app/zh/features/oauth)                            | OAuth 2.0 客户端和服务端配置 |\n| [智能路由](https://docs.mcphub.app/zh/features/smart-routing)                 | AI 驱动的工具发现            |\n| [CLI 指南](https://docs.mcphub.app/zh/features/cli)                           | 终端管理与工具调用           |\n| [Docker 部署](https://docs.mcphub.app/zh/configuration/docker-setup)          | Docker 部署指南              |\n\n## 🧑‍💻 本地开发\n\n```bash\ngit clone https://github.com/samanhappy/mcphub.git\ncd mcphub\npnpm install\npnpm dev\n```\n\n本地开发默认使用 `admin` / `admin123`，并将可写配置副本保存到 `data/mcp_settings.dev.json`，仓库里的 `mcp_settings.json` 不包含默认凭证。\n\n> Windows 用户需分别启动后端和前端：`pnpm backend:dev`，`pnpm frontend:dev`\n\n📖 查看[开发指南](https://docs.mcphub.app/zh/development)了解详细设置说明。\n\n## 🔍 技术栈\n\n- **后端**：Node.js、Express、TypeScript（ESM）\n- **前端**：React、Vite、Tailwind CSS\n- **存储**：默认基于文件的 `mcp_settings.json`；可选 PostgreSQL（TypeORM + pgvector，用于智能路由）\n- **认证**：本地账号使用 JWT + bcrypt；支持 Bearer Key、内置 OAuth 2.0 服务端（`@node-oauth/oauth2-server`），以及可选的 Better Auth（GitHub/Google 一键登录）\n- **协议**：Model Context Protocol SDK\n\n## 🏢 生产支持\n\n正在生产环境使用 MCPHub？\n\n可以直接与维护者合作，解决生产架构、OAuth/OIDC、身份与访问控制、\n凭据管理、审计、Kubernetes 和高可用准备等问题。\n\n[讨论 Production Pilot →](https://www.mcphub.app/zh/pricing)\n\n## 👥 贡献指南\n\n欢迎加入企微交流共建群，由于群人数限制，有兴趣的同学可以扫码添加管理员为好友后拉入群聊。\n\n<img src=\"assets/wexin.png\" width=\"350\">\n\n如果觉得项目有帮助，不妨请我喝杯咖啡 ☕️\n\n<img src=\"assets/reward.png\" width=\"350\">\n\n海外用户可通过 [ko-fi](https://ko-fi.com/samanhappy) 支持。\n\n## 致谢\n\n感谢以下朋友的赞赏：小白、唐秀川、琛、孔、黄祥取、兰军飞、无名之辈、Kyle，以及其他匿名支持者。\n\n## 🌟 Star 历史趋势\n\n[![Star History Chart](https://star-history.dera.page/svg?repos=samanhappy/mcphub&type=Date)](https://star-history.dera.page/#samanhappy/mcphub&Date)\n\n## 📄 许可证\n\n本项目采用 [Apache 2.0 许可证](LICENSE)。\n","readmeFilename":"README.zh.md"}