{"bin":{"mcphub":"bin/cli.js"},"dist":{"shasum":"e2ac6b19cadcd0e12cd6cc26e8f352ff1c7d16d5","tarball":"https://registry.npmjs.org/@samanhappy/mcphub/-/mcphub-1.1.3.tgz","fileCount":543,"integrity":"sha512-GbMz3YMaMthKFfkNxmEJ8yoPNNjgniiJHCGQIp9lt7pgX2fOTt8K+wvTNWhj0WjpKiHnYsvmoxFueXPL22p1mA==","signatures":[{"sig":"MEUCIQCmLPwn2189JRftpOFmTx+B5Xy6ztQKeM1LXsCZ/MnthQIgC2DJQh0TmtOoZuFysETak9vmLE1+Lg8u9FsFwpFPo4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCThRnSTF/YZiplehU1+0iranma2QLNGPQ6wEr35BqUzwIgSuWCDZQW3YAh9j6d2sDGWvyTqVAQsmvdYQE6vRqk7cE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14255705},"main":"dist/index.js","name":"@samanhappy/mcphub","type":"module","_from":"file:samanhappy-mcphub-1.1.3.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 && node scripts/build-mcp-client.js","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"},"keywords":["typescript","server","mcp","model context protocol"],"_resolved":"/tmp/323a59068125521ef4686c75bdd52c62/samanhappy-mcphub-1.1.3.tgz","_integrity":"sha512-GbMz3YMaMthKFfkNxmEJ8yoPNNjgniiJHCGQIp9lt7pgX2fOTt8K+wvTNWhj0WjpKiHnYsvmoxFueXPL22p1mA==","_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","jose":"^6.2.4","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","esbuild":"0.27.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":"^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.1.3_1791708103655_0.1574642849753891","host":"s3://npm-registry-packages-npm-production"},"_id":"@samanhappy/mcphub@1.1.3","version":"1.1.3"}