Demonstrates serving binary content (video) via MCP resources using the
base64 blob pattern:
1. Server fetches video from CDN
2. Returns as base64 blob via `videos://{id}` resource template
3. Widget fetches resource and plays in `<video>` element
Includes multiple video sizes for testing (1MB to 150MB).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
30 lines
886 B
JSON
30 lines
886 B
JSON
{
|
|
"name": "video-resource-server",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "cross-env INPUT=mcp-app.html vite build",
|
|
"watch": "cross-env INPUT=mcp-app.html vite build --watch",
|
|
"serve": "bun server.ts",
|
|
"start": "cross-env NODE_ENV=development npm run build && npm run serve",
|
|
"dev": "cross-env NODE_ENV=development concurrently 'npm run watch' 'npm run serve'"
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/ext-apps": "../..",
|
|
"@modelcontextprotocol/sdk": "^1.24.0",
|
|
"zod": "^4.1.13"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.0",
|
|
"@types/node": "^22.0.0",
|
|
"concurrently": "^9.2.1",
|
|
"cors": "^2.8.5",
|
|
"cross-env": "^7.0.3",
|
|
"express": "^5.1.0",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^6.0.0",
|
|
"vite-plugin-singlefile": "^2.3.0"
|
|
}
|
|
}
|