Skip to main content
Glama
by bbajor

MCPO - MCP over HTTP Proxy für Cursor

Ein MCP (Model Context Protocol) Server, der Cursor-Tools als HTTP-API bereitstellt und mit Open WebUI und n8n integriert werden kann.

Features

  • 🚀 MCP Server mit Cursor-Tools (codebase_search, file operations, etc.)

  • 🌐 HTTP-API via mcpo (MCP over HTTP Proxy)

  • 🐳 Podman/Docker Support für einfaches Deployment

  • 🔧 PowerShell Install-Script für Windows

  • 📡 Open WebUI Integration ready

  • 🔄 n8n kompatibel für Workflow-Automation

Quick Start

Windows (PowerShell)

# Installations-Script ausführen .\mcpo_install.ps1

Das Script:

  1. Prüft Voraussetzungen (Podman, Node.js)

  2. Installiert Dependencies

  3. Startet Podman-Compose als Daemon

  4. MCP Server ist unter http://localhost:8000 verfügbar

Manuell

# 1. Dependencies installieren npm install # 2. Environment konfigurieren cp .env.example .env # .env bearbeiten und API-Keys setzen # 3. Mit Podman starten podman-compose up -d # 4. Status prüfen podman-compose ps

Konfiguration

Environment Variables

Kopiere .env.example nach .env und passe an:

# MCPO Configuration MCPO_PORT=8000 MCPO_API_KEY=dein-geheimer-api-key-hier # Workspace (wird als Volume gemountet) WORKSPACE_PATH=D:\workspace\pvs # MCP Server MCP_SERVER_NAME=cursor-mcp MCP_SERVER_VERSION=1.0.0

API-Key generieren

# PowerShell: Zufälligen API-Key generieren -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 32 | ForEach-Object {[char]$_})

Verwendung

API-Endpunkte

Nach dem Start:

  • API Base: http://localhost:8000

  • OpenAPI Docs: http://localhost:8000/docs

  • Health Check: http://localhost:8000/health

Open WebUI Integration

  1. Open WebUI → Admin → Settings → External Tools

  2. MCP Server hinzufügen:

    • Type: MCP (Streamable HTTP)

    • URL: http://localhost:8000 (oder Docker-Hostname)

    • API Key: Wert aus MCPO_API_KEY in .env

  3. Tools aktivieren und speichern

n8n Integration

HTTP Request Node in n8n:

{ "method": "POST", "url": "http://localhost:8000/api/tools/codebase_search", "headers": { "Authorization": "Bearer DEIN_API_KEY", "Content-Type": "application/json" }, "body": { "query": "Wie funktioniert die Patient-Suche?", "target_directories": [] } }

Verfügbare Tools

codebase_search

Semantische Suche im Codebase.

Input:

{ "query": "Wie wird die Patient-Suche implementiert?", "target_directories": ["src/main/java"] }

file_read

Liest Dateien aus dem Workspace.

Input:

{ "path": "src/main/java/de/bbajor/pvs/patient/service/PatientService.java" }

file_list

Listet Verzeichnisinhalte.

Input:

{ "directory": "src/main/java", "recursive": false }

Entwicklung

Lokale Entwicklung (ohne Docker)

# 1. Node.js Dependencies npm install # 2. MCP Server starten node cursor-mcp-server.js # 3. In anderem Terminal: mcpo starten uvx mcpo --port 8000 --api-key "test-key" -- node cursor-mcp-server.js

Logs ansehen

# Podman-Compose Logs podman-compose logs -f mcp-cursor-proxy # Nur MCP Server Logs podman-compose logs -f mcp-server

Container neu bauen

podman-compose build --no-cache podman-compose up -d

Troubleshooting

Port bereits belegt

# Prüfen, was Port 8000 nutzt netstat -ano | findstr :8000 # In .env anderen Port setzen (z.B. 8001)

Podman nicht gefunden

# Prüfen, ob Podman installiert ist podman --version # Falls nicht: Podman Desktop installieren # https://podman-desktop.io/

MCP Server startet nicht

# Logs prüfen podman-compose logs mcp-server # Container-Shell öffnen podman-compose exec mcp-server sh # Manuell testen node cursor-mcp-server.js

Projekt-Struktur

mcpo/ ├── cursor-mcp-server.js # MCP Server (Node.js) ├── package.json # Node.js Dependencies ├── Dockerfile # MCP Server Container ├── podman-compose.yml # Podman-Compose Config ├── mcpo_install.ps1 # Installations-Script ├── .env.example # Environment Template ├── .gitignore └── README.md

Lizenz

MIT License - siehe LICENSE Datei (falls vorhanden)

Beitragen

PRs sind willkommen! Bitte:

  1. Fork erstellen

  2. Feature-Branch (cursor/feature/mein-feature)

  3. Commit & Push

  4. PR gegen main erstellen

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bbajor/mcpo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server