Skip to main content
Glama
Fuglys

MCP Server with SSE

by Fuglys

MCP Server with SSE

Een eenvoudige MCP (Model Context Protocol) server met Server-Sent Events (SSE) functionaliteit, geoptimaliseerd voor deployment op Render.com.

Features

  • 🚀 Express.js server - Lightweight en snel

  • 📡 Server-Sent Events (SSE) - Real-time data streaming

  • Timestamp broadcasting - Elke 5 seconden

  • 💓 Keep-alive pings - Elke 30 seconden

  • 🌐 CORS enabled - Cross-origin requests toegestaan

  • 🏥 Health checks - Voor Render.com monitoring

  • 📊 Status endpoints - Server informatie en statistieken

Endpoints

  • GET / - Server informatie en beschikbare endpoints

  • GET /health - Health check voor monitoring

  • GET /sse - Server-Sent Events stream

  • GET /mcp/status - Uitgebreide server status

Local Development

  1. Installeer dependencies:

    npm install
  2. Start de server:

    npm start
    # of voor development:
    npm run dev
  3. Test SSE verbinding: Open http://localhost:3000/sse in je browser of gebruik curl:

    curl -N http://localhost:3000/sse

Deployment op Render.com

Automatische Deployment

  1. Connect GitHub repository in Render dashboard

  2. Selecteer deze repository

  3. Render detecteert automatisch de render.yaml configuratie

  4. Deploy - Render gebruikt automatisch de configuratie

Handmatige Deployment

  1. Maak nieuwe Web Service in Render

  2. Configuratie:

    • Build Command: npm install

    • Start Command: npm start

    • Health Check Path: /health

    • Environment: Node.js

    • Plan: Free tier

SSE Data Format

De SSE stream stuurt JSON data in het volgende formaat:

Connection Event

{
  "type": "connection",
  "message": "SSE connection established",
  "timestamp": "2024-01-01T12:00:00.000Z",
  "server": "MCP Server"
}

Timestamp Event (elke 5 seconden)

{
  "type": "timestamp",
  "timestamp": "2024-01-01T12:00:05.000Z",
  "uptime": 123.456,
  "memory": {
    "rss": 12345678,
    "heapTotal": 8765432,
    "heapUsed": 5432109,
    "external": 987654
  }
}

Keep-alive Ping (elke 30 seconden)

: keep-alive 1704110400000

Environment Variables

  • PORT - Server port (default: 3000, Render sets automatically)

  • NODE_ENV - Environment (production/development)

CORS Configuration

De server is geconfigureerd om alle origins toe te staan voor maximale compatibiliteit:

cors({
  origin: '*',
  methods: ['GET', 'POST', 'OPTIONS'],
  allowedHeaders: ['Content-Type', 'Cache-Control', 'Accept'],
  credentials: false
})

Error Handling

  • 500 errors - Gelogd en JSON response

  • 404 errors - Friendly message met beschikbare endpoints

  • SSE disconnects - Automatic cleanup van intervals

  • Graceful shutdown - SIGTERM/SIGINT handling

Monitoring

Health Check

curl https://your-app.onrender.com/health

Server Status

curl https://your-app.onrender.com/mcp/status

Dependencies

  • express - Web framework

  • cors - Cross-origin resource sharing

License

MIT License - Zie LICENSE bestand voor details.

Support

Voor vragen of issues, maak een GitHub issue aan in deze repository: https://github.com/Fuglys/mcp-server

Related MCP Connectors