{"_id":"@bryan-thompson/dashboard-client","_rev":"5-17c9093c3a5323c625a70c29cfb69472","name":"@bryan-thompson/dashboard-client","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@bryan-thompson/dashboard-client","version":"0.1.0","author":{"name":"Bryan Thompson"},"license":"MIT","_id":"@bryan-thompson/dashboard-client@0.1.0","maintainers":[{"name":"bryan-thompson","email":"bryan@triepod.ai"}],"homepage":"https://github.com/triepod-ai/dashboard","bugs":{"url":"https://github.com/triepod-ai/dashboard/issues"},"bin":{"mcp-inspector-client":"bin/start.js"},"dist":{"shasum":"f09e0b6a4b595a010c9f65a3e18b0fdcd0f9c456","tarball":"https://registry.npmjs.org/@bryan-thompson/dashboard-client/-/dashboard-client-0.1.0.tgz","fileCount":8,"integrity":"sha512-GEDDVpH9j/4MY+RDKc9yNT0XM+WVvVxuqlDLy4KklRcuslIhZLbhTNcmwCyItLlAkWs0rJ/bY81VzVf3bXFtPQ==","signatures":[{"sig":"MEUCICz/LuBVufJiiXaXxDp18DmvhSF7UkYEhxsxDbFf86HwAiEA4gD+co93GaW/x0hGq0oBeOFdYglXT5m65MIxlnfKVFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":821168},"type":"module","gitHead":"2757372e7e0ff3cf95f644b393c07203b33ad414","scripts":{"dev":"vite --port 6286","lint":"eslint .","test":"jest --config jest.config.cjs","build":"tsc -b && vite build","preview":"vite preview --port 6286","test:e2e":"playwright test e2e && npm run cleanup:e2e","test:watch":"jest --config jest.config.cjs --watch","cleanup:e2e":"node e2e/global-teardown.js"},"_npmUser":{"name":"bryan-thompson","email":"bryan@triepod.ai"},"_npmVersion":"9.2.0","description":"Web client for the MCP Dashboard - multi-server management interface","directories":{},"_nodeVersion":"18.19.0","dependencies":{"ajv":"^6.12.6","zod":"^3.25.76","clsx":"^2.1.1","cmdk":"^1.0.4","react":"^18.3.1","prismjs":"^1.30.0","react-dom":"^18.3.1","lucide-react":"^0.523.0","serve-handler":"^6.1.6","pkce-challenge":"^4.1.0","tailwind-merge":"^2.5.3","@radix-ui/react-slot":"^1.1.0","@radix-ui/react-tabs":"^1.1.1","@radix-ui/react-icons":"^1.3.0","@radix-ui/react-label":"^2.1.0","@radix-ui/react-toast":"^1.2.6","@radix-ui/react-dialog":"^1.1.3","@radix-ui/react-select":"^2.1.2","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-popover":"^1.1.3","@radix-ui/react-tooltip":"^1.1.8","@radix-ui/react-checkbox":"^1.1.4","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.0","react-simple-code-editor":"^0.14.1","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","jest":"^29.7.0","vite":"^6.3.5","eslint":"^9.11.1","globals":"^15.9.0","postcss":"^8.5.6","ts-jest":"^29.4.0","@eslint/js":"^9.11.1","typescript":"^5.5.3","@types/jest":"^29.5.14","@types/node":"^22.17.0","tailwindcss":"^3.4.13","@types/react":"^18.3.23","autoprefixer":"^10.4.20","@types/prismjs":"^1.26.5","@types/react-dom":"^18.3.0","jest-fixed-jsdom":"^0.0.9","typescript-eslint":"^8.38.0","identity-obj-proxy":"^3.0.0","tailwindcss-animate":"^1.0.7","@types/serve-handler":"^6.1.4","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.2.0","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3","eslint-plugin-react-hooks":"^5.1.0-rc.0","eslint-plugin-react-refresh":"^0.4.12"},"_npmOperationalInternal":{"tmp":"tmp/dashboard-client_0.1.0_1760194772546_0.9236492543902994","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bryan-thompson/dashboard-client","version":"0.1.1","author":{"name":"Bryan Thompson"},"license":"MIT","_id":"@bryan-thompson/dashboard-client@0.1.1","maintainers":[{"name":"bryan-thompson","email":"bryan@triepod.ai"}],"homepage":"https://github.com/triepod-ai/dashboard","bugs":{"url":"https://github.com/triepod-ai/dashboard/issues"},"bin":{"mcp-inspector-client":"bin/start.js"},"dist":{"shasum":"83fd3fdb0a055e1555f7f978b965dd2608257473","tarball":"https://registry.npmjs.org/@bryan-thompson/dashboard-client/-/dashboard-client-0.1.1.tgz","fileCount":8,"integrity":"sha512-pQfxwyzvO0EKJ+fi3HEuKhpYVvzQqWcUtB0eTYTfS7ZFVuzAtbM//kvRIjut5IvZWb19xNCm06Tl6C6/KOvMpA==","signatures":[{"sig":"MEUCIA4dc9apxy6bOxi2StyoyWiM4CcE9OP0NxlyuaitU/U5AiEAk1VdWhHzHRJzsafFSihBSQyo8x9b1JXoYn9rctLFOGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":821545},"type":"module","gitHead":"9041c75d3e8efc7785a4724e07ec328fbf02cf51","scripts":{"dev":"vite --port 6286","lint":"eslint .","test":"jest --config jest.config.cjs","build":"tsc -b && vite build","preview":"vite preview --port 6286","test:e2e":"playwright test e2e && npm run cleanup:e2e","test:watch":"jest --config jest.config.cjs --watch","cleanup:e2e":"node e2e/global-teardown.js"},"_npmUser":{"name":"bryan-thompson","email":"bryan@triepod.ai"},"_npmVersion":"9.2.0","description":"Web client for the MCP Dashboard - multi-server management interface","directories":{},"_nodeVersion":"18.19.0","dependencies":{"ajv":"^6.12.6","zod":"^3.25.76","clsx":"^2.1.1","cmdk":"^1.0.4","react":"^18.3.1","prismjs":"^1.30.0","react-dom":"^18.3.1","lucide-react":"^0.523.0","serve-handler":"^6.1.6","pkce-challenge":"^4.1.0","tailwind-merge":"^2.5.3","@radix-ui/react-slot":"^1.1.0","@radix-ui/react-tabs":"^1.1.1","@radix-ui/react-icons":"^1.3.0","@radix-ui/react-label":"^2.1.0","@radix-ui/react-toast":"^1.2.6","@radix-ui/react-dialog":"^1.1.3","@radix-ui/react-select":"^2.1.2","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-popover":"^1.1.3","@radix-ui/react-tooltip":"^1.1.8","@radix-ui/react-checkbox":"^1.1.4","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.0","react-simple-code-editor":"^0.14.1","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","jest":"^29.7.0","vite":"^6.3.5","eslint":"^9.11.1","globals":"^15.9.0","postcss":"^8.5.6","ts-jest":"^29.4.0","@eslint/js":"^9.11.1","typescript":"^5.5.3","@types/jest":"^29.5.14","@types/node":"^22.17.0","tailwindcss":"^3.4.13","@types/react":"^18.3.23","autoprefixer":"^10.4.20","@types/prismjs":"^1.26.5","@types/react-dom":"^18.3.0","jest-fixed-jsdom":"^0.0.9","typescript-eslint":"^8.38.0","identity-obj-proxy":"^3.0.0","tailwindcss-animate":"^1.0.7","@types/serve-handler":"^6.1.4","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.2.0","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3","eslint-plugin-react-hooks":"^5.1.0-rc.0","eslint-plugin-react-refresh":"^0.4.12"},"_npmOperationalInternal":{"tmp":"tmp/dashboard-client_0.1.1_1760195842626_0.8123370403934826","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bryan-thompson/dashboard-client","version":"0.1.2","author":{"name":"Bryan Thompson"},"license":"MIT","_id":"@bryan-thompson/dashboard-client@0.1.2","maintainers":[{"name":"bryan-thompson","email":"bryan@triepod.ai"}],"homepage":"https://github.com/triepod-ai/dashboard","bugs":{"url":"https://github.com/triepod-ai/dashboard/issues"},"bin":{"mcp-inspector-client":"bin/start.js"},"dist":{"shasum":"633cc66541925a348e7c4b009f4ba849b7cdc14f","tarball":"https://registry.npmjs.org/@bryan-thompson/dashboard-client/-/dashboard-client-0.1.2.tgz","fileCount":8,"integrity":"sha512-7rVC2tmOpRPt9Kn6eHHEYWeG3Lzugtc1JT9luL0YC8BSNs3CHKTru6qCLNnUHgc4lTvUimmbnOzI1V927Uw+WQ==","signatures":[{"sig":"MEUCIF2/pXeTitPZW9Y43oLm3h82rj0M8IHrbYfAbjfePX6uAiEA+87E3/ffYo0+yYbyJzTxRCMw6dDq1I07NnBbugoKvLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":822930},"type":"module","gitHead":"045e488e0ed09d077169c35ceb87767327080060","scripts":{"dev":"vite --port 6286","lint":"eslint .","test":"jest --config jest.config.cjs","build":"tsc -b && vite build","preview":"vite preview --port 6286","test:e2e":"playwright test e2e && npm run cleanup:e2e","test:watch":"jest --config jest.config.cjs --watch","cleanup:e2e":"node e2e/global-teardown.js"},"_npmUser":{"name":"bryan-thompson","email":"bryan@triepod.ai"},"_npmVersion":"9.2.0","description":"Web client for the MCP Dashboard - multi-server management interface","directories":{},"_nodeVersion":"18.19.0","dependencies":{"ajv":"^6.12.6","zod":"^3.25.76","clsx":"^2.1.1","cmdk":"^1.0.4","react":"^18.3.1","prismjs":"^1.30.0","react-dom":"^18.3.1","lucide-react":"^0.523.0","serve-handler":"^6.1.6","pkce-challenge":"^4.1.0","tailwind-merge":"^2.5.3","@radix-ui/react-slot":"^1.1.0","@radix-ui/react-tabs":"^1.1.1","@radix-ui/react-icons":"^1.3.0","@radix-ui/react-label":"^2.1.0","@radix-ui/react-toast":"^1.2.6","@radix-ui/react-dialog":"^1.1.3","@radix-ui/react-select":"^2.1.2","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-popover":"^1.1.3","@radix-ui/react-tooltip":"^1.1.8","@radix-ui/react-checkbox":"^1.1.4","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.0","react-simple-code-editor":"^0.14.1","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","jest":"^29.7.0","vite":"^6.3.5","eslint":"^9.11.1","globals":"^15.9.0","postcss":"^8.5.6","ts-jest":"^29.4.0","@eslint/js":"^9.11.1","typescript":"^5.5.3","@types/jest":"^29.5.14","@types/node":"^22.17.0","tailwindcss":"^3.4.13","@types/react":"^18.3.23","autoprefixer":"^10.4.20","@types/prismjs":"^1.26.5","@types/react-dom":"^18.3.0","jest-fixed-jsdom":"^0.0.9","typescript-eslint":"^8.38.0","identity-obj-proxy":"^3.0.0","tailwindcss-animate":"^1.0.7","@types/serve-handler":"^6.1.4","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.2.0","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3","eslint-plugin-react-hooks":"^5.1.0-rc.0","eslint-plugin-react-refresh":"^0.4.12"},"_npmOperationalInternal":{"tmp":"tmp/dashboard-client_0.1.2_1760197014612_0.5113379508833753","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bryan-thompson/dashboard-client","version":"0.1.3","author":{"name":"Bryan Thompson"},"license":"MIT","_id":"@bryan-thompson/dashboard-client@0.1.3","maintainers":[{"name":"bryan-thompson","email":"bryan@triepod.ai"}],"homepage":"https://github.com/triepod-ai/dashboard","bugs":{"url":"https://github.com/triepod-ai/dashboard/issues"},"bin":{"mcp-inspector-client":"bin/start.js"},"dist":{"shasum":"b193e087a770666ef74ed9c5c942f231ac16edf8","tarball":"https://registry.npmjs.org/@bryan-thompson/dashboard-client/-/dashboard-client-0.1.3.tgz","fileCount":8,"integrity":"sha512-wdeJRoX1hjSkCjGeGxiChDgJkze7372WXrUixexH2A6cYDG7vFGaf4j3V2cihc5JCyuDwWGsIy8n101zbOwBSA==","signatures":[{"sig":"MEYCIQD3DHM0iE7HkGkSwodIyKf++dfF6594p3mhBqZkvg9Z3wIhALfFCPbAEEB/lY5D1zBaJxPYBdZoSoKWO8u0+ZFkGiq5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":834926},"type":"module","gitHead":"61e70783391a5cb7f8d5acad1a4e122c3aee067d","scripts":{"dev":"vite --port 6286","lint":"eslint .","test":"jest --config jest.config.cjs","build":"tsc -b && vite build","preview":"vite preview --port 6286","test:e2e":"playwright test e2e && npm run cleanup:e2e","test:watch":"jest --config jest.config.cjs --watch","cleanup:e2e":"node e2e/global-teardown.js"},"_npmUser":{"name":"bryan-thompson","email":"bryan@triepod.ai"},"_npmVersion":"9.2.0","description":"Web client for the MCP Dashboard - multi-server management interface","directories":{},"_nodeVersion":"18.19.0","dependencies":{"ajv":"^6.12.6","zod":"^3.25.76","clsx":"^2.1.1","cmdk":"^1.0.4","react":"^18.3.1","prismjs":"^1.30.0","react-dom":"^18.3.1","lucide-react":"^0.523.0","serve-handler":"^6.1.6","pkce-challenge":"^4.1.0","tailwind-merge":"^2.5.3","@radix-ui/react-slot":"^1.1.0","@radix-ui/react-tabs":"^1.1.1","@radix-ui/react-icons":"^1.3.0","@radix-ui/react-label":"^2.1.0","@radix-ui/react-toast":"^1.2.6","@radix-ui/react-dialog":"^1.1.3","@radix-ui/react-select":"^2.1.2","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-popover":"^1.1.3","@radix-ui/react-tooltip":"^1.1.8","@radix-ui/react-checkbox":"^1.1.4","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.0","react-simple-code-editor":"^0.14.1","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","jest":"^29.7.0","vite":"^6.3.5","eslint":"^9.11.1","globals":"^15.9.0","postcss":"^8.5.6","ts-jest":"^29.4.0","@eslint/js":"^9.11.1","typescript":"^5.5.3","@types/jest":"^29.5.14","@types/node":"^22.17.0","tailwindcss":"^3.4.13","@types/react":"^18.3.23","autoprefixer":"^10.4.20","@types/prismjs":"^1.26.5","@types/react-dom":"^18.3.0","jest-fixed-jsdom":"^0.0.9","typescript-eslint":"^8.38.0","identity-obj-proxy":"^3.0.0","tailwindcss-animate":"^1.0.7","@types/serve-handler":"^6.1.4","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.2.0","jest-environment-jsdom":"^29.7.0","@testing-library/jest-dom":"^6.6.3","eslint-plugin-react-hooks":"^5.1.0-rc.0","eslint-plugin-react-refresh":"^0.4.12"},"_npmOperationalInternal":{"tmp":"tmp/dashboard-client_0.1.3_1760204278719_0.8177411597760835","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@bryan-thompson/dashboard-client","version":"0.1.4","description":"Web client for the MCP Dashboard - multi-server management interface","license":"MIT","author":{"name":"Bryan Thompson"},"homepage":"https://github.com/triepod-ai/dashboard","bugs":{"url":"https://github.com/triepod-ai/dashboard/issues"},"type":"module","bin":{"mcp-inspector-client":"bin/start.js"},"scripts":{"dev":"vite --port 6286","build":"tsc -b && vite build","lint":"eslint .","preview":"vite preview --port 6286","test":"jest --config jest.config.cjs","test:watch":"jest --config jest.config.cjs --watch","test:e2e":"playwright test e2e && npm run cleanup:e2e","cleanup:e2e":"node e2e/global-teardown.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.18.0","@radix-ui/react-checkbox":"^1.1.4","@radix-ui/react-dialog":"^1.1.3","@radix-ui/react-icons":"^1.3.0","@radix-ui/react-label":"^2.1.0","@radix-ui/react-popover":"^1.1.3","@radix-ui/react-select":"^2.1.2","@radix-ui/react-slot":"^1.1.0","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-tabs":"^1.1.1","@radix-ui/react-toast":"^1.2.6","@radix-ui/react-tooltip":"^1.1.8","@radix-ui/react-progress":"^1.1.7","ajv":"^6.12.6","class-variance-authority":"^0.7.0","clsx":"^2.1.1","cmdk":"^1.0.4","lucide-react":"^0.523.0","pkce-challenge":"^4.1.0","prismjs":"^1.30.0","react":"^18.3.1","react-dom":"^18.3.1","react-simple-code-editor":"^0.14.1","serve-handler":"^6.1.6","tailwind-merge":"^2.5.3","zod":"^3.25.76"},"devDependencies":{"@eslint/js":"^9.11.1","@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^16.2.0","@types/jest":"^29.5.14","@types/node":"^22.17.0","@types/prismjs":"^1.26.5","@types/react":"^18.3.23","@types/react-dom":"^18.3.0","@types/serve-handler":"^6.1.4","@vitejs/plugin-react":"^4.7.0","autoprefixer":"^10.4.20","co":"^4.6.0","eslint":"^9.11.1","eslint-plugin-react-hooks":"^5.1.0-rc.0","eslint-plugin-react-refresh":"^0.4.12","globals":"^15.9.0","identity-obj-proxy":"^3.0.0","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","jest-fixed-jsdom":"^0.0.9","postcss":"^8.5.6","tailwindcss":"^3.4.13","tailwindcss-animate":"^1.0.7","ts-jest":"^29.4.0","typescript":"^5.5.3","typescript-eslint":"^8.38.0","vite":"^6.3.5"},"gitHead":"0cc52bb83deef44999a60a9e928ca69ccee3f592","_id":"@bryan-thompson/dashboard-client@0.1.4","_nodeVersion":"18.19.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-T1yiXKbHN+X39XvTFsihKB97WBVrCw75cZguIDs/XGC5wlt8XxAlS9YDFtKDs66DPyf5mkGOaXz8wolL/NwLPA==","shasum":"987a34ffa48d1873dbb0c1a267d481649ba30f8b","tarball":"https://registry.npmjs.org/@bryan-thompson/dashboard-client/-/dashboard-client-0.1.4.tgz","fileCount":8,"unpackedSize":834926,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDmVVBai6KWg5bPem9jQVvEP23plqkhiWcS2HblAtWkXwIhAP6VsOcG8yxm9tHAL4LH2rX+Nd6rMups5R2mNJGPRea/"}]},"_npmUser":{"name":"bryan-thompson","email":"bryan@triepod.ai"},"directories":{},"maintainers":[{"name":"bryan-thompson","email":"bryan@triepod.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dashboard-client_0.1.4_1760204754355_0.43745880721138164"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-11T14:59:32.459Z","modified":"2025-10-11T17:45:54.787Z","0.1.0":"2025-10-11T14:59:32.753Z","0.1.1":"2025-10-11T15:17:22.847Z","0.1.2":"2025-10-11T15:36:54.810Z","0.1.3":"2025-10-11T17:37:58.952Z","0.1.4":"2025-10-11T17:45:54.573Z"},"bugs":{"url":"https://github.com/triepod-ai/dashboard/issues"},"author":{"name":"Bryan Thompson"},"license":"MIT","homepage":"https://github.com/triepod-ai/dashboard","description":"Web client for the MCP Dashboard - multi-server management interface","maintainers":[{"name":"bryan-thompson","email":"bryan@triepod.ai"}],"readme":"# MCP Dashboard Client\n\nWeb-based client interface for the MCP Dashboard - a multi-server management and monitoring tool for Model Context Protocol servers.\n\n## Technology Stack\n\n- **React 18** - UI framework\n- **TypeScript** - Type-safe development\n- **Vite** - Fast build tool and dev server\n- **Tailwind CSS** - Utility-first styling\n- **shadcn/ui** - UI component library\n\n## Development\n\n```bash\n# Install dependencies (from root)\nnpm install\n\n# Start development server\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Run tests\nnpm test\n\n# Lint code\nnpm run lint\n```\n\n## Architecture\n\nThe client uses a modern React architecture with:\n\n- **Component-based design** - Reusable UI components in `src/components/`\n- **Service layer** - Business logic in `src/services/`\n- **Type safety** - Full TypeScript coverage\n- **Real-time updates** - Server-Sent Events (SSE) for live monitoring\n- **Responsive design** - Works on desktop and mobile\n\n## Key Features\n\n- Multi-server connection management\n- Real-time server status monitoring\n- Tool execution interface\n- Resource exploration\n- Dark mode support\n- Modern, accessible UI\n\n## Project Structure\n\n```\nclient/\n├── src/\n│   ├── components/      # React components\n│   │   ├── ui/         # Reusable UI components\n│   │   └── ...         # Feature components\n│   ├── lib/            # Utilities and helpers\n│   ├── services/       # Business logic\n│   ├── hooks/          # Custom React hooks\n│   └── main.tsx        # Application entry point\n├── public/             # Static assets\n└── package.json\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](../CONTRIBUTING.md) in the project root.\n","readmeFilename":"README.md"}