KI-Kundensupport-Bot – MCP-Server
Ein Model Context Protocol (MCP)-Server, der KI-gestützten Kundensupport mithilfe der Cursor AI- und Glama.ai-Integration bietet.
Merkmale
Echtzeit-Kontextabruf von Glama.ai
KI-gestützte Antwortgenerierung mit Cursor AI
Unterstützung der Stapelverarbeitung
Prioritätswarteschlange
Ratenbegrenzung
Verfolgung der Benutzerinteraktion
Gesundheitsüberwachung
MCP-Protokoll-Konformität
Related MCP server: MCP Starter
Voraussetzungen
Python 3.8+
PostgreSQL-Datenbank
Glama.ai API-Schlüssel
Cursor AI API-Schlüssel
Installation
Klonen Sie das Repository:
git clone <repository-url>
cd <repository-name>Erstellen und aktivieren Sie eine virtuelle Umgebung:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateInstallieren Sie Abhängigkeiten:
pip install -r requirements.txtErstellen Sie eine
.envDatei basierend auf.env.example:
cp .env.example .envKonfigurieren Sie Ihre
.envDatei mit Ihren Anmeldeinformationen:
# API Keys
GLAMA_API_KEY=your_glama_api_key_here
CURSOR_API_KEY=your_cursor_api_key_here
# Database
DATABASE_URL=postgresql://user:password@localhost/customer_support_bot
# API URLs
GLAMA_API_URL=https://api.glama.ai/v1
# Security
SECRET_KEY=your_secret_key_here
# MCP Server Configuration
SERVER_NAME="AI Customer Support Bot"
SERVER_VERSION="1.0.0"
API_PREFIX="/mcp"
MAX_CONTEXT_RESULTS=5
# Rate Limiting
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_PERIOD=60
# Logging
LOG_LEVEL=INFORichten Sie die Datenbank ein:
# Create the database
createdb customer_support_bot
# Run migrations (if using Alembic)
alembic upgrade headAusführen des Servers
Starten Sie den Server:
python app.pyDer Server ist unter http://localhost:8000 verfügbar.
API-Endpunkte
1. Root-Endpunkt
GET /Gibt grundlegende Serverinformationen zurück.
2. MCP-Version
GET /mcp/versionGibt unterstützte MCP-Protokollversionen zurück.
3. Fähigkeiten
GET /mcp/capabilitiesGibt Serverfunktionen und unterstützte Features zurück.
4. Anfrage bearbeiten
POST /mcp/processVerarbeiten Sie eine einzelne Abfrage mit Kontext.
Beispielanfrage:
curl -X POST http://localhost:8000/mcp/process \
-H "Content-Type: application/json" \
-H "X-MCP-Auth: your-auth-token" \
-H "X-MCP-Version: 1.0" \
-d '{
"query": "How do I reset my password?",
"priority": "high",
"mcp_version": "1.0"
}'5. Stapelverarbeitung
POST /mcp/batchVerarbeiten Sie mehrere Abfragen in einer einzigen Anfrage.
Beispielanfrage:
curl -X POST http://localhost:8000/mcp/batch \
-H "Content-Type: application/json" \
-H "X-MCP-Auth: your-auth-token" \
-H "X-MCP-Version: 1.0" \
-d '{
"queries": [
"How do I reset my password?",
"What are your business hours?",
"How do I contact support?"
],
"mcp_version": "1.0"
}'6. Gesundheitscheck
GET /mcp/healthÜberprüfen Sie die Serverintegrität und den Dienststatus.
Ratenbegrenzung
Der Server implementiert die Ratenbegrenzung mit den folgenden Standardwerten:
100 Anfragen pro 60 Sekunden
Informationen zur Ratenbegrenzung sind im Integritätsprüfungsendpunkt enthalten
Antworten bei Überschreitung des Ratenlimits umfassen die Rücksetzzeit
Fehlerbehandlung
Der Server gibt strukturierte Fehlerantworten im folgenden Format zurück:
{
"code": "ERROR_CODE",
"message": "Error description",
"details": {
"timestamp": "2024-02-14T12:00:00Z",
"additional_info": "value"
}
}Häufige Fehlercodes:
RATE_LIMIT_EXCEEDED: Ratenlimit überschrittenUNSUPPORTED_MCP_VERSION: Nicht unterstützte MCP-VersionPROCESSING_ERROR: Fehler bei der Verarbeitung der AnfrageCONTEXT_FETCH_ERROR: Fehler beim Abrufen des Kontexts von Glama.aiBATCH_PROCESSING_ERROR: Fehler bei der Verarbeitung der Batch-Anforderung
Entwicklung
Projektstruktur
.
├── app.py # Main application file
├── database.py # Database configuration
├── middleware.py # Middleware (rate limiting, validation)
├── models.py # Database models
├── mcp_config.py # MCP-specific configuration
├── requirements.txt # Python dependencies
└── .env # Environment variablesNeue Funktionen hinzufügen
Aktualisieren Sie
mcp_config.pymit neuen KonfigurationsoptionenFügen Sie bei Bedarf neue Modelle in
models.pyhinzuErstellen Sie neue Endpunkte in
app.pyAktualisieren Sie den Endpunkt der Funktionen, um neue Funktionen zu berücksichtigen
Sicherheit
Alle MCP-Endpunkte erfordern eine Authentifizierung über
X-MCP-AuthHeaderUm Missbrauch zu verhindern, wird eine Ratenbegrenzung implementiert.
Datenbankanmeldeinformationen sollten sicher aufbewahrt werden
API-Schlüssel sollten niemals der Versionskontrolle übergeben werden
Überwachung
Der Server bietet Integritätsprüfungsendpunkte zur Überwachung:
Dienststatus
Ratenbegrenzungsnutzung
Verbundene Dienste
Bearbeitungszeiten
Beitragen
Forken Sie das Repository
Erstellen eines Feature-Zweigs
Übernehmen Sie Ihre Änderungen
Push zum Zweig
Erstellen einer Pull-Anforderung
Verifizierungsabzeichen
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .
Unterstützung
Für Support erstellen Sie bitte ein Problem im Repository oder wenden Sie sich an das Entwicklungsteam.