MCP Lab Workshop
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Lab Workshopset the dashboard message to 'Hello Workshop!'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š MCP Lab Workshop
Learn Model Context Protocol (MCP) with Cloudflare Workers
šÆ What is This?
An interactive workshop for SE interns to learn about Model Context Protocol (MCP) servers. Deploy a live dashboard app that can be controlled in real-time via MCP tools.
What You'll Build
šØ Interactive Dashboard - A beautiful dark-themed web app with real-time stats
š§ MCP Server - A fully functional MCP server with 8 tools to control the dashboard
š” Real-time Connection - Watch the dashboard update live as you call MCP tools
Related MCP server: worker-mcp
⨠Features
Demo App
š Dark-themed beautiful UI with Cloudflare branding
š Live statistics that update in real-time
šļø Feature toggles (Analytics, Notifications, Dark Mode, Animations)
š” Activity feed showing all MCP actions
ā” Server-Sent Events for instant updates
MCP Server
š ļø 8 MCP Tools for controlling the dashboard
š No authentication required - perfect for learning
š Edge deployed - runs on Cloudflare's global network
š¦ KV storage for state management
š Quick Deploy
One-Click Deploy
Click the button above to deploy to your Cloudflare account:
The deploy process will:
ā Clone the repo to your GitHub
ā Create a KV namespace automatically
ā Deploy both workers to Cloudflare
ā Give you live URLs instantly
Manual Deploy
If you prefer to deploy manually:
# Clone the repo
git clone https://github.com/MattDMitch/mcp-lab-workshop.git
cd mcp-lab-workshop
# Login to Cloudflare
wrangler login
# Deploy (KV namespace will be created automatically)
wrangler deployš® Using the MCP Server
Once deployed, you'll get two URLs:
Dashboard:
https://mcp-demo-app.YOUR-SUBDOMAIN.workers.devMCP Server:
https://mcp-server.YOUR-SUBDOMAIN.workers.dev
Connect to MCP Server
Add the MCP server to your OpenCode or MCP client:
{
"mcpServers": {
"demo": {
"url": "https://mcp-server.YOUR-SUBDOMAIN.workers.dev"
}
}
}Available Tools
Tool | Description | Example |
| Toggle features on/off | Toggle dark mode |
| Change dashboard numbers | Set visitors to 9999 |
| Update banner message | "Hello Interns! š" |
| View current app state | Get all settings |
| Reset to defaults | Clean slate |
| Generate fake activity | Simulate high traffic |
| Turn on all features | Enable everything |
| Turn off all features | Disable everything |
š” Try These Examples
Toggle Dark Mode
curl -X POST https://mcp-server.YOUR-SUBDOMAIN.workers.dev/mcp/tools/call \
-H "Content-Type: application/json" \
-d '{
"tool": "toggle_feature",
"arguments": {"feature": "darkMode"}
}'Set Custom Message
curl -X POST https://mcp-server.YOUR-SUBDOMAIN.workers.dev/mcp/tools/call \
-H "Content-Type: application/json" \
-d '{
"tool": "set_message",
"arguments": {"message": "Welcome SE Interns! š"}
}'Simulate High Traffic
curl -X POST https://mcp-server.YOUR-SUBDOMAIN.workers.dev/mcp/tools/call \
-H "Content-Type: application/json" \
-d '{
"tool": "simulate_traffic",
"arguments": {"amount": "high"}
}'Update Stats
curl -X POST https://mcp-server.YOUR-SUBDOMAIN.workers.dev/mcp/tools/call \
-H "Content-Type: application/json" \
-d '{
"tool": "update_stats",
"arguments": {"stat": "visitors", "value": 9999}
}'šļø Architecture
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Demo App Worker ā
ā - Dark-themed dashboard ā
ā - Server-Sent Events ā
ā - Real-time updates ā
āāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāā
ā
ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Cloudflare KV Namespace ā
ā - App state storage ā
ā - Activity logs ā
āāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāā
ā
ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP Server Worker ā
ā - 8 MCP tools ā
ā - Tool execution ā
ā - State management ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāš Workshop Guide
Part 1: Deploy (10 min)
Click "Deploy to Cloudflare"
Authorize GitHub and Cloudflare
Get your live URLs
Part 2: Explore the Dashboard (10 min)
Open the dashboard URL
See the dark-themed interface
Observe the stats and features
Part 3: Connect MCP Client (10 min)
Add MCP server to OpenCode
List available tools
Verify connection
Part 4: Control the Dashboard (15 min)
Toggle dark mode
Update statistics
Change the message
Simulate traffic
Watch real-time updates!
Part 5: Explore the Code (15 min)
Review MCP server implementation
Understand tool schemas
See KV storage in action
Learn about SSE for real-time updates
š Learning Objectives
After this workshop, you'll understand:
ā What MCP is and why it's useful
ā How to build an MCP server
ā Tool schemas and execution
ā Real-time web applications with SSE
ā Cloudflare Workers and KV storage
ā Edge computing concepts
š ļø Tech Stack
Cloudflare Workers - Serverless execution
Workers KV - Edge storage
MCP Protocol - Tool calling interface
Server-Sent Events - Real-time updates
Vanilla JS - No framework complexity
š Project Structure
mcp-lab-complete/
āāā README.md # This file
āāā wrangler.toml # Cloudflare config
āāā package.json # Project metadata
āāā demo-app/
ā āāā index.js # Dashboard worker
āāā mcp-server/
āāā index.js # MCP server workeršØ Customization Ideas
For Students:
Add new MCP tools
Create custom themes
Add more statistics
Build a notification system
Add WebSocket support
For Instructors:
Create coding challenges
Add quiz questions
Build team competitions
Create extension exercises
š Resources
š License
MIT License - Free to use for educational purposes
š Credits
Built for Cloudflare SE Intern Workshops
Made with ā¤ļø and ā
Ready to learn MCP?
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceA deployable MCP server on Cloudflare Workers that provides tools without requiring authentication, allowing users to connect from Cloudflare AI Playground or Claude Desktop.Last updated
- Flicense-qualityDmaintenanceA high-performance MCP server for Cloudflare Workers/Pages with a web dashboard and built-in tools including web search, URL reading, and structured problem-solving.Last updated
- Flicense-qualityDmaintenanceA remote MCP server deployed on Cloudflare Workers that provides Cloudflare observability tools (zone analytics, workers analytics, web analytics) and basic calculator functions, without requiring authentication.Last updated
- Flicense-qualityBmaintenanceA minimal remote MCP server running on Cloudflare Workers, exposing a test tool that echoes a message and returns server metadata.Last updated
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Cloudflare Workers MCP server: crypto-signal
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jdocherty23/mcp-demo-app'
If you have feedback or need assistance with the MCP directory API, please join our Discord server