About Workshop
Workshop is an MCP server published by stevermeister in the Developer Tools category: mCP server: Workshop.
The repository has 1 stars and 0 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/stevermeister/mcp-workshopThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (4)
**Claude Desktop**latest
Parameters not published.
**MCP Inspector**latest
Parameters not published.
**Node.js**v18+
Parameters not published.
**ngrok**latest
Parameters not published.
Ask AI
Ask AI about Workshop
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
🍕 MCP Workshop – Build a Pizza Ordering AI Agent
A hands-on 2-hour workshop for intermediate developers: build a real MCP server from scratch and order pizza via an LLM assistant.
🧠 What You'll Learn
- What MCP (Model Context Protocol) is and why it matters
- How to build an MCP server with the official TypeScript SDK
- How to expose tools to Claude Desktop via stdio transport
- How to serve an MCP server over HTTP with ngrok
- How to add interactive UI with the MCP Apps extension (
ext-apps)
🗂️ Repo Structure
mcp-workshop/
├── sdk-pizza/ # Step 1 – MCP server using @modelcontextprotocol/sdk (stdio)
├── fastmcp-pizza/ # Bonus – same server built with FastMCP (less boilerplate)
└── apps-pizza/ # Step 2 – HTTP server with interactive pizza order UI (MCP Apps)
✅ Prerequisites
Make sure you have these installed before the workshop:
| Tool | Version | Install |
|---|---|---|
| Node.js | v18+ | nodejs.org |
| ngrok | latest | ngrok.com/download |
| MCP Inspector | latest | npx @modelcontextprotocol/inspector |
| Claude Desktop | latest | claude.ai/download |
Verify your setup:
node --version
ngrok --version
🚀 Workshop Steps
Step 1 – stdio MCP Server (plain text)
The simplest MCP server: runs as a local process, communicates via stdin/stdout.
cd sdk-pizza
npm install
Test with MCP Inspector:
npx @modelcontextprotocol/inspector npx tsx index.ts
Connect to Claude Desktop – add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"sdk-pizza": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/sdk-pizza/index.ts"]
}
}
}
Available tools:
get_menu– returns the Domino's pizza menuplace_order– places an order (pizza_id, customer_name, address)
Try it in Claude:
"Show me the pizza menu and order a Margherita for John Doe at 123 Main St"
Bonus – FastMCP variant
Same functionality, less boilerplate using FastMCP:
cd fastmcp-pizza
npm install
npx @modelcontextprotocol/inspector npx tsx index.ts
Step 2 – HTTP + MCP Apps (interactive UI)
Serves the MCP server over HTTP and renders an interactive order form inside Claude using the ext-apps extension.
cd apps-pizza
npm install
npm run build # builds the mcp-app.html UI
npx tsx index.ts # starts server on http://localhost:3001
Expose via ngrok:
ngrok http 3001
⚠️ Important: Claude Desktop does not support remote MCP servers via claude_desktop_config.json. Add the ngrok URL through the Claude UI (Settings → Integrations).
Available tools:
order_pizza– opens the interactive order form UIplace_order– submits the order programmatically
🔧 Claude Desktop Config Reference
{
"mcpServers": {
"sdk-pizza": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/sdk-pizza/index.ts"]
},
"fastmcp-pizza": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/fastmcp-pizza/index.ts"]
}
}
}
Remote HTTP servers (
apps-pizza) must be added via the Claude Desktop UI, not the config file.
🧩 Tech Stack
@modelcontextprotocol/sdk– official MCP TypeScript SDK@modelcontextprotocol/ext-apps– MCP Apps extension for interactive UIfastmcp– high-level MCP server frameworkzod– schema validation for tool inputsexpress+ngrok– HTTP transport layer
📚 Resources
👨💻 Author
Stepan Suvorov – Google Developer Expert in Angular, conference speaker, MCP enthusiast
🐦 @stevermeister · 💼 LinkedIn · 🐙 GitHub
README fetched from the repository 7 days ago. The original is authoritative.