Wire up 13 MCP Apps servers from the @modelcontextprotocol/server-* packages:
- budget-allocator: Interactive budget allocation UI
- cohort-heatmap: Customer retention heatmap
- customer-segmentation: Scatter chart with clustering
- map: Interactive 3D globe viewer (CesiumJS)
- pdf: Interactive PDF viewer
- scenario-modeler: SaaS business projections dashboard
- shadertoy: Real-time GLSL shader renderer
- sheet-music: ABC notation to sheet music visualizer
- system-monitor: Real-time OS metrics display
- threejs: 3D scene renderer
- transcript: Live speech transcription
- video-resource: Binary video streaming via MCP resources
- wiki-explorer: Wikipedia link graph visualization
Each server is mounted at /{slug}/mcp and shares the same OAuth
authentication as the main MCP server.
Also updates the splash page to dynamically list all available
example servers.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
79 lines
3.3 KiB
JSON
79 lines
3.3 KiB
JSON
{
|
|
"name": "mcp-server-example-remote",
|
|
"version": "1.0.0",
|
|
"description": "MCP Feature Reference Server with OAuth - Unified Implementation",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"dev": "tsx watch --inspect src/index.ts",
|
|
"dev:internal": "AUTH_MODE=internal tsx watch --inspect src/index.ts",
|
|
"dev:external": "concurrently \"AUTH_MODE=auth_server PORT=3001 BASE_URI=http://localhost:3001 tsx watch src/index.ts\" \"sleep 3 && AUTH_MODE=external AUTH_SERVER_URL=http://localhost:3001 tsx watch --inspect src/index.ts\"",
|
|
"build": "tsc && npm run copy-static && npm run build:apps",
|
|
"build:apps": "INPUT=src/apps/hello-world/mcp-app.html vite build",
|
|
"copy-static": "mkdir -p dist/static dist/modules/auth/static && cp -r src/static/* dist/static/ 2>/dev/null || true && cp src/modules/auth/static/mcp.png dist/modules/auth/static/ 2>/dev/null || true",
|
|
"start": "node dist/index.js",
|
|
"start:internal": "AUTH_MODE=internal npm start",
|
|
"start:external": "concurrently \"AUTH_MODE=auth_server PORT=3001 BASE_URI=http://localhost:3001 node dist/index.js\" \"sleep 3 && AUTH_MODE=external AUTH_SERVER_URL=http://localhost:3001 node dist/index.js\"",
|
|
"test": "NODE_OPTIONS=--experimental-vm-modules jest",
|
|
"test:e2e:internal": "./scripts/test-e2e-internal.sh",
|
|
"test:e2e:external": "./scripts/test-e2e-external.sh",
|
|
"test:e2e": "./scripts/test-e2e-all.sh",
|
|
"lint": "eslint src/",
|
|
"typecheck": "tsc --noEmit",
|
|
"clean": "rm -rf dist"
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/ext-apps": "^0.4.0",
|
|
"@modelcontextprotocol/sdk": "^1.24.2",
|
|
"@modelcontextprotocol/server-budget-allocator": "^0.4.1",
|
|
"@modelcontextprotocol/server-cohort-heatmap": "^0.4.1",
|
|
"@modelcontextprotocol/server-customer-segmentation": "^0.4.1",
|
|
"@modelcontextprotocol/server-map": "^0.4.1",
|
|
"@modelcontextprotocol/server-pdf": "^0.4.1",
|
|
"@modelcontextprotocol/server-scenario-modeler": "^0.4.1",
|
|
"@modelcontextprotocol/server-shadertoy": "^0.4.1",
|
|
"@modelcontextprotocol/server-sheet-music": "^0.4.1",
|
|
"@modelcontextprotocol/server-system-monitor": "^0.4.1",
|
|
"@modelcontextprotocol/server-threejs": "^0.4.1",
|
|
"@modelcontextprotocol/server-transcript": "^0.4.1",
|
|
"@modelcontextprotocol/server-video-resource": "^0.4.1",
|
|
"@modelcontextprotocol/server-wiki-explorer": "^0.4.1",
|
|
"@redis/client": "^1.6.0",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^16.4.7",
|
|
"express": "^4.21.2",
|
|
"express-rate-limit": "^8.0.1",
|
|
"raw-body": "^3.0.0",
|
|
"react": "^19.2.1",
|
|
"react-dom": "^19.2.1",
|
|
"zod": "^3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.15.0",
|
|
"@types/content-type": "^1.1.8",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/express": "^5.0.0",
|
|
"@types/jest": "^29.5.14",
|
|
"@types/node": "^22.10.0",
|
|
"@types/react": "^19.2.5",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react": "^4.7.0",
|
|
"concurrently": "^8.2.0",
|
|
"jest": "^29.7.0",
|
|
"ts-jest": "^29.2.5",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.7.2",
|
|
"typescript-eslint": "^8.18.0",
|
|
"vite": "^5.4.21",
|
|
"vite-plugin-singlefile": "^2.3.0"
|
|
},
|
|
"overrides": {
|
|
"@types/express": "^5.0.0",
|
|
"@types/express-serve-static-core": "^5.0.2"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.16.0 || >=22.3.0"
|
|
},
|
|
"author": "",
|
|
"license": "MIT"
|
|
}
|