Skip to content

Conversation

@mmcc007
Copy link

@mmcc007 mmcc007 commented Nov 17, 2025

Summary

  • Add comprehensive development environment setup guide for testing MCP servers with ChatGPT
  • Document evaluation of three tunneling approaches (ngrok, Cloudflare, SSH reverse tunnel)
  • Provide example configurations and scripts for SSH tunnel + nginx approach
  • Add MCP protocol testing framework

Changes

  • docs/DEVELOPMENT.md: Complete guide covering tunneling approaches and setup process
  • docs/setup/README.md: Step-by-step setup instructions with troubleshooting
  • docs/setup/example-*.conf: Generic nginx configuration templates for development
  • docs/setup/example-tunnel.service: systemd service template for persistent SSH tunnels
  • docs/setup/vm-setup.sh: Automated VM setup script
  • tests/test-mcp.ts: MCP protocol validation test suite
  • tests/README.md: Testing documentation

Key Learnings Documented

  • ngrok free tier blocked by interstitial warning page
  • Cloudflare Tunnels buffer SSE streams (incompatible with MCP)
  • SSH reverse tunnel + nginx works without SSE buffering
  • Port conflict resolution strategies
  • CAA DNS record requirements for Let's Encrypt
  • nginx SSE optimization requirements

Architecture

Supports both single-server and two-server architectures:

  • Single-server: MCP protocol and assets in one server
  • Two-server: Separate MCP server and static asset server

Target Audience

Developers who want to test their MCP servers locally with ChatGPT before production deployment.

Test Plan

  • Documentation is clear and complete
  • Example configurations are generic (not app-specific)
  • Scripts are reusable for any MCP server
  • Tests run successfully against example configurations

This commit adds comprehensive documentation and tooling for setting up
a development environment to test MCP servers with ChatGPT over HTTPS.

## Overview

Testing MCP servers with ChatGPT requires HTTPS with SSE support. This
guide documents three tunneling approaches and provides a working solution
using SSH reverse tunnels with nginx.

## Changes

**Documentation:**
- `docs/DEVELOPMENT.md` - Generic guide for MCP server development setup
- `docs/setup/README.md` - Detailed step-by-step setup instructions
- Includes concrete pizzaz example as implementation reference

**Setup Scripts and Configs:**
- `docs/setup/example-nginx-dev.conf` - nginx config with SSE optimization
- `docs/setup/example-nginx-temp.conf` - Temporary config for SSL setup
- `docs/setup/example-tunnel.service` - Systemd service for persistent tunneling
- `docs/setup/vm-setup.sh` - Automated VM setup script

**Testing Tools:**
- `tests/test-mcp.ts` - MCP protocol validation suite
- `tests/README.md` - Testing documentation and usage

## Key Features

- **Generic approach**: Works with any MCP server in this repository
- **Three tunneling approaches evaluated**: ngrok, Cloudflare Tunnels, SSH+nginx
- **SSE-optimized nginx configuration**: Critical settings for MCP protocol
- **Automated setup**: Scripts for quick VM configuration
- **Pizzaz example**: Concrete implementation showing two-server architecture
- **Security considerations**: Firewall, SSL, encrypted tunnels

## Lessons Documented

- Port conflict resolution strategies
- CAA DNS record requirements for Let's Encrypt
- SSL certificate acquisition workflow
- SSE buffering issues with various tunnel services
- Firewall configuration for cloud VMs

This enables developers to quickly set up a development environment for
testing any MCP server in this repository with ChatGPT.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants