MCP Lab Workshop Server
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 Workshop Servertoggle dark mode on the dashboard"
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: MCP Access OAuth Server
โจ 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 TWO workers:
mcp-demo-app(dashboard) andmcp-server(MCP tools)โ Give you live URLs instantly
Important: The deployment creates two separate workers. Make sure both are deployed successfully!
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
# Install dependencies
npm install
# Login to Cloudflare
npx wrangler login
# Run deploy script (creates KV namespace and deploys both workers)
npm run deployThis will deploy:
โ
mcp-demo-app- The monitoring dashboard UIโ
mcp-server- The MCP tools server
๐ฎ Using the MCP Server
Once deployed, you'll get ONE worker with multiple endpoints:
Dashboard:
https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/MCP Server:
https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp
Both the dashboard and MCP server run in the same worker using path-based routing
Connect to MCP Server
Add the MCP server to your OpenCode or MCP client:
{
"mcpServers": {
"demo": {
"url": "https://REPO-NAME-mcp.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
Maintenance
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
- Alicense-qualityDmaintenanceA Cloudflare Workers-deployed MCP server that provides secure remote access to MCP tools through GitHub OAuth authentication. Includes example tools for basic math operations, user info retrieval, and image generation with configurable user access controls.Last updated371Apache 2.0
- Flicense-qualityCmaintenanceA Cloudflare Workers-based MCP server that enables secure remote connections using built-in OAuth authentication via Cloudflare Access. It provides identity-based access control for MCP tools and supports persistent state management through Durable Objects and SSE.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-qualityCmaintenanceThis is an MCP server deployed on Cloudflare Workers with OAuth authentication, enabling remote MCP clients to connect and use tools.Last updated
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personalโฆ
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
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/MattDMitch/mcp-lab-workshop'
If you have feedback or need assistance with the MCP directory API, please join our Discord server