MCP Talk Demo Files
A collection of demo files for MCP servers and clients, illustrating various transport protocols and server capabilities using Python.
MCP Talk Demo Files
This folder contains practical examples for the "Beyond the Basics: Unlocking the Power of MCP" presentation at the 10x Developers Meetup.
🚀 Quick Setup (Recommended)
Option 1: Automated Setup (Recommended)
macOS/Linux:
cd /Users/davidhague/source/mcp-talk
chmod +x setup.sh
./setup.sh
Windows:
cd \Users\davidhague\source\mcp-talk
setup.bat
Option 2: Manual Setup
cd /Users/davidhague/source/mcp-talk
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt
# Test setup
python test_setup.py
📁 Demo Files
1. 01_python_client_demo.py
Simple MCP Python Client
- Demonstrates how to connect to any MCP server from Python
- Shows tool discovery, resource access, and general MCP interactions
- Perfect for showing the developer experience
To run:
source venv/bin/activate # Activate venv first!
# Terminal 1 - Start MCP server
npx -y @modelcontextprotocol/server-filesystem /tmp
# Terminal 2 - Run client
python 01_python_client_demo.py
2. 02_system_monitor_server.py
Complete MCP Server from Scratch
- System monitoring server with all three MCP capabilities
- Tools: CPU usage, memory info, disk usage, processes, network
- Resources: System overview, platform information
- Shows how to build a full MCP server
To run:
source venv/bin/activate
python 02_system_monitor_server.py
To connect with Claude Desktop:
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"system-monitor": {
"command": "python",
"args": ["/Users/davidhague/source/mcp-talk/02_system_monitor_server.py"],
"env": {
"PATH": "/Users/davidhague/source/mcp-talk/venv/bin:/usr/bin:/bin"
}
}
}
}
3. 03_sse_server_complete.py
MCP with Server-Sent Events (SSE) - Pseudocode Reference
- LEGACY TRANSPORT - Educational purposes only
- Shows SSE endpoint structure (GET /sse + POST /messages)
- Demonstrates why Streamable HTTP is preferred
Note: This is pseudocode for understanding SSE concepts.
For working implementations, use 04_https_streamable.py
4. 04_https_streamable.py
Next-Generation Streamable HTTP MCP
- Demonstrates the latest MCP transport protocol
- Unified endpoint architecture
- Production-ready streaming implementation
To run:
source venv/bin/activate
python 04_https_streamable.py
5. 05_http_client_demo.py
HTTP MCP Client Demo
- Demonstrates connecting to HTTP MCP servers instead of stdio
- Shows the same LLM integration but over HTTP transport
- Perfect companion to show stdio vs HTTP client differences
To run:
source venv/bin/activate
# Terminal 1 - Start HTTP MCP server
python 04_https_streamable.py
# Terminal 2 - Run HTTP client
python 05_http_client_demo.py
🎯 Presentation Flow
Demo 1: Python Client (stdio) (5 minutes)
- "Here's how easy it is to connect to any MCP server from Python"
- Run the stdio client against filesystem server
- Show tool discovery and execution with LLM integration
Demo 2: Build Custom Server (10 minutes)
- "Let's build an MCP server from scratch"
- Walk through the system monitor server code
- Show tools and resources capabilities
- Connect it to Claude Desktop
Demo 3: HTTP Transport (8 minutes)
- "Now let's make servers truly standalone with HTTP"
- Run the HTTP streamable server
- Show the unified endpoint architecture
- Demonstrate HTTP client connecting to it
Demo 4: SSE Concepts (2 minutes)
- "For context, here's the legacy SSE approach"
- Show the pseudocode structure
- Explain why Streamable HTTP is preferred
🔧 Key Technical Points
MCP Architecture
┌─────────────┐ MCP Protocol ┌─────────────┐
│ Client │ ◄─────────────────► │ Server │
│ (Claude, │ │ (Your App) │
│ Cursor, │ • Tools │ │
│ Custom) │ • Resources │ │
└─────────────┘ • Prompts └─────────────┘
Transport Evolution
- STDIO → Local, simple, process-based
- SSE → Remote, dual-endpoint (GET /sse + POST /messages)
- Streamable HTTP → New unified, single endpoint
Three Capabilities
- Tools (Model-controlled): Functions the AI can call
- Resources (App-controlled): Data the AI can read
- Prompts (User-controlled): Templates users select
🐍 Virtual Environment Notes
Why use a virtual environment?
- Isolated Python dependencies
- Reproducible demo environment
- No conflicts with system packages
- Professional development practice
Managing the venv:
# Activate (do this before running demos)
source venv/bin/activate
# Check it's working
which python # Should show venv/bin/python
# Install additional packages if needed
pip install some-package
# Deactivate when done
deactivate
If you see import errors:
- Make sure venv is activated (
source venv/bin/activate) - Run
python test_setup.pyto verify setup - Reinstall with
pip install -r requirements.txt
📚 Additional Resources
- MCP Documentation
- MCP Python SDK
- MCP Servers Collection
- MCP Inspector - Great for testing
🚀 Next Steps for Audience
- Start Simple: Use existing MCP servers with Claude Desktop
- Build Custom: Create MCP servers for your specific needs
- Go Remote: Deploy SSE servers for team/production use
- Explore Transports: Try different transport protocols for your use case
💡 Talk Takeaways
- MCP is the "USB-C for AI" - universal protocol
- Three capabilities: tools, resources, and prompts unlock real workflows
- Multiple transport options for different deployment scenarios
- Production-ready with proper session management
- Open standard with growing ecosystem
🔧 Troubleshooting
Common Issues:
- ModuleNotFoundError: Activate venv first (
source venv/bin/activate) - Permission denied on setup.sh: Run
chmod +x setup.sh - Node.js not found: Install from nodejs.org for filesystem server demo
- Port 8000 in use: Change port in SSE server or kill existing process
- Claude Desktop not connecting: Check config file path and restart Claude Desktop
These demos show practical, working examples of MCP's power beyond basic tutorials.
相关服务器
Alpha Vantage MCP Server
赞助Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Mobile Xray MCP
Take screenshots and analyze mobile apps with AI assistance directly from your IDE.
Figma (Oficial)
The Figma MCP server brings Figma directly into your workflow by providing important design information and context to AI agents generating code from Figma design files.
GitLab MR & Confluence Linker
Analyzes GitLab merge requests and links them to Confluence documentation.
claude-token-analyzer
Diagnoses token waste in Claude Code sessions with 6 anomaly types and severity scoring. Fully local.
CAD-Query MCP Server
A server for generating and verifying CAD models using the CAD-Query Python library.
Rainfall
200+ production tools for AI agents via Remote MCP. GitHub, Slack, Notion, Linear, Figma, Stripe, web search, OCR, document conversion, semantic memory/recall, Finviz, SEC filings, image generation, and more.
ButterKit
Ship App Store screenshots from your AI coding agent: generate, localize to all 50 App Store languages, and upload to App Store Connect
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers, without authentication.
Game Asset Generator
Generate 2D and 3D game assets using AI models hosted on Hugging Face Spaces.
Serencp
VM serial console viewer