MCP HTTP Proxy
MCP HTTP-Proxy
Macht jeden stdio-basierten MCP-Server (wie @browsermcp/mcp) über HTTP/SSE-Transport im Internet verfügbar. Perfekt für Remote-Agenten, die über ein Netzwerk auf MCP-Tools zugreifen müssen.
Funktionen
🌐 Standard MCP SSE-Transport - Folgt der MCP HTTP-Transportspezifikation
🔐 API-Schlüssel-Authentifizierung - Sicherer Zugriff mit Bearer-Token
🚀 Mehrere Bereitstellungsoptionen - Tailscale, ngrok, Cloudflare Tunnel
🔄 Sitzungsverwaltung - Mehrere gleichzeitige Sitzungen werden unterstützt
📦 Funktioniert mit jedem MCP-Server - Standardmäßig auf
@browsermcp/mcpeingestellt
Related MCP server: MCP SSE Proxy
Schnellstart
1. Abhängigkeiten installieren
npm install2. Konfiguration (Optional)
cp .env.example .env
# Edit .env to set your API keyGenerieren Sie einen sicheren API-Schlüssel:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"3. Erstellen und Ausführen
npm run build
npm startOder für die Entwicklung:
npm run devAPI-Endpunkte (Standard MCP SSE-Transport)
Endpunkt | Methode | Beschreibung |
| GET | SSE-Verbindung herstellen (gibt Endpunkt-URL zurück) |
| POST | JSON-RPC-Nachrichten senden |
| GET | Gesundheitsprüfung (keine Authentifizierung erforderlich) |
| GET | Aktive Sitzungen auflisten (Authentifizierung erforderlich) |
Bereitstellung im Internet
Option 1: Tailscale (Empfohlen für privaten Zugriff)
Tailscale bietet sicheren, privaten Zugriff, ohne das Gerät dem öffentlichen Internet auszusetzen.
# Install Tailscale if not already installed
# Then serve via Tailscale
tailscale serve --bg --http 3000Oder verwenden Sie direkt Ihre Tailscale-IP:
tailscale status # Find your Tailscale IPIhr MCP-Server ist verfügbar unter:
https://your-machine.tailnet-name.ts.net(via serve)http://your-tailscale-ip:3000(direkte IP)
Verwendung von Ihrem Agenten aus:
{
"mcpServers": {
"browser-remote": {
"url": "http://your-tailscale-ip:3000/sse",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}Option 2: ngrok (Öffentliche URL)
# Install ngrok if not already installed
ngrok http 3000ngrok stellt eine öffentliche URL wie https://abc123.ngrok.io bereit.
Option 3: Cloudflare Tunnel
# Install cloudflared if not already installed
cloudflared tunnel --url http://localhost:3000Funktionsweise des SSE-Transports
Client führt GET auf
/sseaus - Server erstellt Sitzung, sendetendpoint-Ereignis mit Nachrichten-URLClient führt POST auf
/message?sessionId=xxxaus - Server leitet JSON-RPC an den MCP-Prozess weiterServer streamt Antworten - MCP-Antworten werden als SSE-
message-Ereignisse gesendet
Anwendungsbeispiele
Gesundheitsprüfung testen
curl http://localhost:3000/healthAntwort:
{
"status": "healthy",
"sessions": 0,
"uptime": 10.5,
"transport": "sse",
"endpoints": {
"sse": "/sse (GET - establishes SSE connection)",
"message": "/message?sessionId=xxx (POST - send JSON-RPC messages)"
}
}Verbindung via SSE (JavaScript)
const eventSource = new EventSource('http://localhost:3000/sse', {
headers: { 'Authorization': 'Bearer your-api-key' }
});
eventSource.addEventListener('endpoint', (e) => {
console.log('Message endpoint:', e.data);
// e.data = "/message?sessionId=xxx"
});
eventSource.addEventListener('message', (e) => {
console.log('MCP response:', JSON.parse(e.data));
});MCP-Anfrage senden
curl -X POST "http://localhost:3000/message?sessionId=your-session-id" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Konfiguration
Umgebungsvariable | Beschreibung | Standard |
| Server-Port |
|
| Zu bindender Host |
|
| API-Schlüssel für Authentifizierung | (keiner) |
| Befehl zum Ausführen des MCP-Servers |
|
| JSON-Array der Argumente |
|
Verwendung verschiedener MCP-Server
Sie können diesen Proxy mit jedem stdio-basierten MCP-Server verwenden:
# Example: Use a custom MCP server
MCP_COMMAND=node
MCP_ARGS=["/path/to/your/mcp-server/dist/index.js"]
# Example: Use Python MCP server
MCP_COMMAND=python
MCP_ARGS=["-m", "your_mcp_server"]Sicherheitshinweise
Verwenden Sie immer eine API-Schlüssel-Authentifizierung, wenn Sie den Server im Internet bereitstellen
Verwenden Sie HTTPS (Tailscale, ngrok und Cloudflare bieten dies alle an)
Tailscale wird empfohlen für den privaten Zugriff innerhalb Ihres Tailnets
Rotieren Sie API-Schlüssel regelmäßig
Überwachen Sie Sitzungen über den
/sessions-Endpunkt
Fehlerbehebung
MCP-Server startet nicht
Überprüfen Sie die Konsolenprotokolle auf Fehler. Das stderr des MCP-Servers wird an die Konsole des Proxys weitergeleitet.
Verbindung verweigert
Stellen Sie sicher, dass der Server läuft:
curl http://localhost:3000/healthÜberprüfen Sie die Tailscale-Konnektivität:
tailscale status
Authentifizierung fehlgeschlagen
Überprüfen Sie, ob der API-Schlüssel in
.envmit Ihrem Anforderungs-Header übereinstimmtStellen Sie sicher, dass das Präfix "Bearer " im Authorization-Header enthalten ist
SSE funktioniert nicht
Stellen Sie sicher, dass Sie eine Verbindung zum
/sse-Endpunkt herstellen (nicht nur zur Basis-URL)Überprüfen Sie, ob der Authorization-Header auch bei der GET-Anfrage gesendet wird
Lizenz
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Streamable HTTP MCP server exposing planner flows, tasks, and squads.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables interaction with remote MCP servers using SSE transport instead of STDIO for enhanced communication capabilities.1200,973 PyPI2,786PythonMIT
- FlicenseNot gradedqualityNot gradedmaintenanceBridges STDIO-based MCP clients with SSE-based MCP servers, allowing applications like Claude Desktop to connect to remote MCP servers that use SSE transport.9-
- FlicenseNot gradedqualityDmaintenanceExposes a local MCP server via ngrok with SSE and Streamable HTTP transports for use in Kiro Web.-
- FlicenseNot gradedqualityDmaintenanceA standalone MCP server that exposes API endpoints as tools for AI assistants, using SSE transport.-