trackmcp
Back to directory

MCP Talk Demo Files

2 stars PythonOthers Updated Apr 28, 2026

Documentation

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.

macOS/Linux:

bash
cd /Users/davidhague/source/mcp-talk
chmod +x setup.sh
./setup.sh

Windows:

cmd
cd \Users\davidhague\source\mcp-talk
setup.bat

Option 2: Manual Setup

bash
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:

bash
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:

bash
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`):

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:

bash
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:

bash
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

code
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    MCP Protocol    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Client    โ”‚ โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ โ”‚   Server    โ”‚
โ”‚ (Claude,    โ”‚                     โ”‚ (Your App)  โ”‚
โ”‚  Cursor,    โ”‚   โ€ข Tools           โ”‚             โ”‚
โ”‚  Custom)    โ”‚   โ€ข Resources       โ”‚             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ€ข Prompts         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Transport Evolution

1. STDIO โ†’ Local, simple, process-based

2. SSE โ†’ Remote, dual-endpoint (GET /sse + POST /messages)

3. 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:

bash
# 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.py` to verify setup
  • Reinstall with `pip install -r requirements.txt`

๐Ÿ“š Additional Resources

๐Ÿš€ Next Steps for Audience

1. Start Simple: Use existing MCP servers with Claude Desktop

2. Build Custom: Create MCP servers for your specific needs

3. Go Remote: Deploy SSE servers for team/production use

4. 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:

1. ModuleNotFoundError: Activate venv first (`source venv/bin/activate`)

2. Permission denied on setup.sh: Run `chmod +x setup.sh`

3. Node.js not found: Install from nodejs.org for filesystem server demo

4. Port 8000 in use: Change port in SSE server or kill existing process

5. 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.*

Frequently asked questions

What is mcp-talk?

mcp-talk is MCP Talk Demo Files

How do I install mcp-talk?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-talk open source?

Yes โ€” it is hosted on GitHub at https://github.com/davehague/mcp-talk and has 2 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP