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.
संबंधित सर्वर
Scout Monitoring MCP
प्रायोजकPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
प्रायोजकAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Symbolic Algebra MCP Server
Perform symbolic mathematics and computer algebra using the SymPy library.
MCP Bridge API
A lightweight, LLM-agnostic RESTful proxy that unifies multiple MCP servers under a single API.
React MCP
An MCP server for integrating AI with React applications.
Codex MCP Wrapper
An MCP server that wraps the OpenAI Codex CLI, exposing its functionality through the MCP API.
Mindpilot MCP
Visualize legacy code and inspect complex flows to understand your agent's operations.
FastAPI-MCP
A zero-configuration tool to automatically expose FastAPI endpoints as MCP tools.
Icons8 MCP server
Get access to MCP server SVG and MCP server PNG icons in your vibe-coding projects
IIIF Images Server
A server for working with IIIF (International Image Interoperability Framework) manifests and images.
stdout-mcp-server
Captures and manages stdout logs from multiple processes via a named pipe system for real-time debugging and analysis.
Odoo XML-RPC MCP Server
Interact with Odoo instances using the XML-RPC API. Requires configuration via environment variables or config files.