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.
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Moatless MCP Server
An advanced code analysis and editing server with semantic search capabilities using vector embeddings.
Chromium Helper
Access Chromium and PDFium source code repositories using Google's official CodeSearch APIs, supporting advanced search, Gerrit integration, and issue tracking.
MCP Prompt Collector
Tools for logging, analyzing, and improving Claude Desktop prompts to enhance prompt engineering skills.
PGYER
MCP Server for PGYER platform, supports uploading, querying apps, etc.
Read Docs MCP
Enables AI agents to access and understand package documentation from local or remote repositories.
Scanpy-MCP
A natural language interface for single-cell RNA sequencing (scRNA-Seq) analysis using the Scanpy library.
Quantum Simulator MCP Server
A quantum circuit simulator with noise models and OpenQASM 2.0 support, accessible via the Model Context Protocol (MCP).
Claude Code Buddy (CCB)
Add persistent project memory and smart task routing to Claude Code. Stop repeating context every session - Claude finally remembers your architecture, decisions, and patterns forever. 100% local, 17 MCP tools.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
Ant Design Components
Provides Ant Design component documentation to large language models (LLMs), allowing them to explore and understand the components.