{ "name": "mcphub", "version": "0.0.1", "description": "A hub server for mcp servers", "main": "dist/index.js", "type": "module", "scripts": { "build": "tsc", "start": "node dist/index.js", "backend:dev": "tsx watch src/index.ts", "lint": "eslint . --ext .ts", "format": "prettier --write \"src/**/*.ts\"", "test": "jest", "frontend:dev": "cd frontend && vite", "frontend:build": "cd frontend && vite build", "frontend:preview": "cd frontend && vite preview", "dev": "concurrently \"pnpm backend:dev\" \"pnpm frontend:dev\"" }, "keywords": [ "typescript", "server" ], "author": "", "license": "ISC", "dependencies": { "@modelcontextprotocol/sdk": "^1.9.0", "@radix-ui/react-accordion": "^1.2.3", "@radix-ui/react-slot": "^1.1.2", "@shadcn/ui": "^0.0.4", "@tailwindcss/vite": "^4.1.3", "@types/react": "^19.0.12", "@types/react-dom": "^19.0.4", "autoprefixer": "^10.4.21", "bcryptjs": "^3.0.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dotenv": "^16.3.1", "express": "^4.18.2", "express-validator": "^7.2.1", "i18next": "^24.2.3", "i18next-browser-languagedetector": "^8.0.4", "jsonwebtoken": "^9.0.2", "lucide-react": "^0.486.0", "next": "^15.2.4", "postcss": "^8.5.3", "react": "^19.1.0", "react-dom": "^19.1.0", "react-i18next": "^15.4.1", "react-router-dom": "^7.5.0", "tailwind-merge": "^3.1.0", "tailwind-scrollbar-hide": "^2.0.0", "tailwindcss": "^4.0.17", "zod": "^3.24.2" }, "devDependencies": { "@tailwindcss/postcss": "^4.1.3", "@types/bcryptjs": "^3.0.0", "@types/express": "^4.17.21", "@types/jest": "^29.5.5", "@types/jsonwebtoken": "^9.0.9", "@types/node": "^20.8.2", "@typescript-eslint/eslint-plugin": "^6.7.4", "@typescript-eslint/parser": "^6.7.4", "@vitejs/plugin-react": "^4.2.1", "concurrently": "^8.2.2", "eslint": "^8.50.0", "jest": "^29.7.0", "prettier": "^3.0.3", "ts-jest": "^29.1.1", "ts-node-dev": "^2.0.0", "tsx": "^4.7.0", "typescript": "^5.2.2", "vite": "^5.2.6" } }