Skip to main content
Glama

MCP Interactive Service

Integrations
  • Used as the web framework for the MCP service's web interface, enabling HTTP-based interactions between AI tools and users through a browser.

  • The primary language for the MCP service, providing the foundation for all UI types (CLI, Web, PyQt) and tool implementations.

  • Mentioned as an example implementation option in the select_option tool, allowing AI tools to present PyTorch as an implementation choice to users.

MCP Interactive Service

Dies ist ein MCP-Dienst, der mithilfe der FastMCP-Bibliothek implementiert wurde und für die Interaktion mit KI-Tools wie Cursor, Windsurf usw. konzipiert ist. Wenn KI-Tools beim Aufrufen großer Sprachmodelle Benutzereingaben oder Optionsauswahl benötigen, können sie diesen MCP-Dienst aufrufen.

Hauptzweck

Der Hauptzweck dieses Plugins besteht darin, hochfrequente Kommunikation und Bestätigung zwischen KI-Tools (wie Cursor und Windsurf) und Nutzern zu ermöglichen. Es verbessert die Effizienz und Effektivität von KI-Interaktionen erheblich durch:

  1. Reduzierung verschwendeter Ressourcen : Indem Benutzer den Ansatz der KI bestätigen oder umleiten können, bevor sie sich auf einen möglicherweise falschen Lösungspfad festlegt, minimiert das Plug-In die Verschwendung von API-Aufrufen und Rechenressourcen.
  2. Maximierung der Ressourcennutzung : Jeder API-Aufruf an Cursor oder Windsurf wird produktiver, da die KI ihr Verständnis und ihre Vorgehensweise mit dem Benutzer überprüfen kann, bevor sie fortfährt.
  3. Vermeidung einer Fragmentierung der Aufmerksamkeit : Durch die frühzeitige Bestätigung von Ansätzen hilft das Plug-In dabei, den Fokus auf den richtigen Lösungspfad zu richten, anstatt die Aufmerksamkeit auf falsche Ansätze zu lenken.
  4. Interaktive Entscheidungsfindung ermöglichen : Benutzer können aktiv am Entscheidungsprozess teilnehmen und der KI unmittelbar Feedback und Anleitung geben.
  5. Rationalisierung komplexer Aufgaben : Bei Aufgaben mit mehreren Schritten stellt das Plug-In an jedem kritischen Entscheidungspunkt eine Übereinstimmung zwischen den Erwartungen des Benutzers und der KI-Ausführung sicher.

Merkmale

  • Optionsauswahl : Zeigt eine Liste mit Optionen an, aus denen Benutzer durch Eingabe von Zahlen oder Bereitstellung benutzerdefinierter Antworten auswählen können.
  • Informationsergänzung : Wenn KI-Modelle umfassendere Informationen benötigen, können sie Benutzer auffordern, zusätzliche Informationen direkt einzugeben
  • Mehrere Benutzeroberflächen : Unterstützung für CLI-, Web- und PyQt-Schnittstellen

UI-Typen

Dieses Projekt unterstützt drei verschiedene Benutzeroberflächentypen mit jeweils eigenen Merkmalen:

CLI (Befehlszeilenschnittstelle)

  • Beschreibung : Öffnet ein neues Eingabeaufforderungsfenster zur Benutzerinteraktion
  • Vorteile :
    • Minimale Abhängigkeiten (keine zusätzlichen Pakete erforderlich)
    • Kann mehrere Dialogfenster gleichzeitig verarbeiten
    • Funktioniert gut in Umgebungen ohne grafische Benutzeroberfläche
    • Leicht und schnell zu starten
  • Nachteile :
    • Grundlegende visuelle Präsentation
    • Für nicht-technische Benutzer möglicherweise nicht so intuitiv
  • Am besten geeignet für : Serverumgebungen, Systeme mit begrenzten Ressourcen oder wenn mehrere Dialoge gleichzeitig erforderlich sind

PyQt-Schnittstelle

  • Beschreibung : Bietet eine moderne grafische Benutzeroberfläche mit PyQt
  • Vorteile :
    • Saubere, professionell aussehende Dialoge
    • Vertraute Desktop-Anwendungserfahrung
    • Einfach zu verwenden für alle Benutzertypen
  • Nachteile :
    • Es kann immer nur ein Dialog gleichzeitig angezeigt werden
    • Erfordert PyQt-Abhängigkeiten (größere Installation)
  • Am besten geeignet für : Desktop-Nutzung, bei der die visuelle Attraktivität wichtig ist und jeweils nur ein Dialog benötigt wird

Webschnittstelle

  • Beschreibung : Öffnet Dialoge in einem Webbrowser
  • Vorteile :
    • Kann mehrere Dialogfenster gleichzeitig verarbeiten
    • Von überall über den Webbrowser zugänglich
    • Moderne, anpassbare Benutzeroberfläche
  • Nachteile :
    • Erfordert die Installation eines Webbrowsers
    • Etwas komplexere Einrichtung
  • Am besten geeignet für : Remote-Zugriffsszenarien, Umgebungen, in denen eine Weboberfläche bevorzugt wird oder wenn mehrere gleichzeitige Dialoge erforderlich sind

Benutzerhandbuch

1. Erste Schritte (zwei Optionen)

Option A: Vorkompilierte ausführbare Datei verwenden (empfohlen für Windows)
  1. Laden Sie die neueste vorkompilierte ausführbare Datei von der GitHub-Releases -Seite herunter.
  2. Keine Installation erforderlich – laden Sie einfach die ausführbare Datei herunter und führen Sie sie aus.
  3. Sie können die Funktionalität mit diesen Befehlen testen:
# Test option selection with PyQt interface .\dist\mcp-interactive.exe test select_option --ui pyqt # Test information supplement with PyQt interface .\dist\mcp-interactive.exe test request_additional_info --ui pyqt # You can also specify a file path for testing the request_additional_info tool .\dist\mcp-interactive.exe test request_additional_info --ui pyqt D:\Path\To\Your\File.md
  1. Fahren Sie zur Konfiguration mit Schritt 3 unten fort.
Option B: Vom Quellcode installieren

Dieses Projekt trennt Abhängigkeiten basierend auf verschiedenen UI-Typen:

  • requirements-base.txt : Basisabhängigkeiten, die von allen UI-Typen gemeinsam genutzt werden
  • requirements-pyqt.txt : PyQt5-UI-Abhängigkeiten
  • requirements-web.txt : Web-UI-Abhängigkeiten (Flask)

Sie können zum Installieren von Abhängigkeiten entweder das herkömmliche Pip oder den schnelleren UV-Paketmanager verwenden.

Verwenden von Pip (traditionelle Methode)

Wählen Sie die entsprechende Abhängigkeitsdatei basierend auf dem UI-Typ aus, den Sie verwenden möchten:

cd requirements # CLI UI (minimal dependencies) pip install -r requirements-base.txt # PyQt5 UI pip install -r requirements-pyqt.txt # Web UI pip install -r requirements-web.txt

Hinweis: Jede spezifische UI-Abhängigkeitsdatei enthält bereits einen Verweis auf die Basisabhängigkeiten (über -r requirements-base.txt ), sodass Sie nur eine einzige Datei installieren müssen.

Verwendung von UV (empfohlen, schneller)

Wenn Sie UV bereits installiert haben, können Sie die folgenden Befehle verwenden, um eine virtuelle Umgebung zu erstellen und Abhängigkeiten zu installieren:

# Create a virtual environment uv venv # Activate the virtual environment # Windows .venv\Scripts\activate # macOS / Linux source .venv/bin/activate # Install dependencies based on UI type cd requirements # CLI UI (minimal dependencies) uv pip install -r requirements-base.txt # PyQt5 UI uv pip install -r requirements-pyqt.txt # Web UI uv pip install -r requirements-web.txt

Sie können auch die Datei pyproject.toml des Projekts verwenden, um alle Abhängigkeiten direkt zu installieren:

# Install base dependencies uv pip install -e . # Install specific UI type dependencies uv pip install -e ".[pyqt]" # PyQt5 UI uv pip install -e ".[web]" # Web UI uv pip install -e ".[all]" # All UI types

2. Starten Sie das Programm

Starten Sie verschiedene UI-Antwortmethoden:

# Command line interface (default) python main.py run --ui=cli # Web interface python main.py run --ui=web # PyQt interface python main.py run --ui=pyqt

Andere Optionen zum Starten von Diensten:

# Start the service with default settings (address: 127.0.0.1, port: 7888) python main.py run # Specify host and port python main.py run --host 0.0.0.0 --port 8888 # Specify log level python main.py run --log-level warning

3. Konfigurieren Sie Cursor, Windsurf oder Claude

Verwenden des stdio-Protokolls (empfohlen)

Das stdio-Protokoll ist die stabilste und empfohlene Verbindungsmethode. Es kommuniziert direkt mit Python-Skripten über die Standardeingabe/-ausgabe und bietet die folgenden Vorteile:

  • Höhere Stabilität und Zuverlässigkeit
  • Kann mehrere Dialogfelder gleichzeitig öffnen
  • Einfach und direkt, keine Probleme mit der Netzwerkverbindung nötig
  • Engere Integration mit dem System, schnellere Reaktion

Konfigurationsbeispiele:

Verwendung mit Python (Quellcode)
{ "ai-interaction": { "command": "python", "args": ["path/to/main.py", "run", "--transport", "stdio", "--ui", "cli"], "env": {} } }
Verwendung mit ausführbarer Datei
{ "ai-interaction": { "command": "D:/Path/To/Your/mcp-interactive.exe", "args": ["run", "--transport", "stdio", "--ui", "pyqt"], "env": {} } }
Verwenden des SSE-Protokolls (Alternative)

Wenn Sie über das Netzwerk eine Verbindung zu einem Remote-Server herstellen müssen, können Sie das SSE-Protokoll verwenden:

Lokaler Start:

python main.py run --transport sse

Cursorkonfiguration:

{ "ai-interaction": { "type": "sse", "url": "http://127.0.0.1:8000/sse", "env": {} } }

Windsurf-Konfiguration:

{ "ai-interaction": { "serverUrl": "http://127.0.0.1:7888/sse", "disabled": false } }

4. Konfigurieren Sie KI-Interaktionsregeln

Um die Effektivität der KI-Interaktionen in Cursor und Windsurf zu maximieren, konfigurieren Sie die folgenden Regeln, die die KI bei der Verwendung von MCP befolgen soll:

  1. Wenn die KI bei einer Aufgabe Unklarheiten aufweist oder zusätzliche Informationen benötigt, sollte sie MCP ai-interaction aufrufen, um den Benutzer um eine Klarstellung zu bitten.
  2. Wenn die KI über mehrere mögliche Lösungsansätze verfügt, sollte sie MCP ai-interaction aufrufen, damit der Benutzer den bevorzugten Ansatz auswählen kann.
  3. Nach Abschluss einer Aufgabe sollte die KI MCP ai-interaction aufrufen, um zu bestätigen, ob weitere Aufgaben ausgeführt werden müssen.
  4. Die KI sollte Aufgaben in mehrere Phasen unterteilen und vor dem Starten einer neuen Phase MCP ai-interaction aufrufen, um den Benutzer zu fragen, ob zusätzliche Gedanken oder Überlegungen einfließen müssen.
  5. Die KI sollte MCP proaktiv nutzen, um kritische Entscheidungen zu bestätigen, anstatt Annahmen zu treffen.

Diese Regeln gewährleisten eine qualitativ hochwertige, interaktive KI-Unterstützung und maximieren gleichzeitig den Wert jedes API-Aufrufs.

Weitere Funktionen

Verfügbare Tools anzeigen
python main.py list-tools
Testwerkzeuge
# Test option selection tool python main.py test select_option --ui=cli # Test information supplement tool python main.py test request_additional_info --ui=cli
Interaktiver Testclient

Das Projekt umfasst einen interaktiven Testclient, mit dem Sie den MCP-Dienst mit verschiedenen UI-Typen und -Methoden testen können:

# Run the interactive test client python mcp_client_en.py --host localhost --port 7888 --ui cli

Optionen:

  • --host : Server-Host (Standard: localhost)
  • --port : Server-Port (Standard: 7888)
  • --ui : zu verwendender UI-Typ (CLI, PYQT, Web)

Der Kunde stellt zur Verfügung:

  • Verbindungstest mit MCP-Dienst
  • Auswahl des zu testenden UI-Typs
  • Testen der Methoden select_option und request_additional_info
  • Mehrere Parametervoreinstellungen für jede Methode
  • Vollständige Visualisierung von Anfragen und Antworten

Dies ist besonders nützlich für:

  • Debuggen von UI-Interaktionsproblemen
  • Testen des Verhaltens verschiedener UI-Typen
  • Vorführung des Dienstes für Benutzer
  • Überprüfen der Serverfunktionalität
STDIO-Testclient

Um speziell das stdio-Transportprotokoll zu testen, stellen wir ein Kommandozeilentool zur Verfügung:

# Test stdio connection with default settings python mcp_client_stdio.py # Specify UI type python mcp_client_stdio.py --ui=pyqt # Test specific tools python mcp_client_stdio.py --test=select_option

Weitere Einzelheiten finden Sie im STDIO-Testhandbuch .

UI-Tests
# Test PyQt interface python test_ui.py --ui=pyqt # Test Web interface python test_ui.py --ui=web # Test CLI interface python test_ui.py --ui=cli

Werkzeugbeschreibung

Optionsauswahl (select_option)

Mit diesem Tool wird den Benutzern eine Reihe von Optionen angezeigt, aus denen sie durch die Eingabe von Zahlen oder die Angabe benutzerdefinierter Antworten auswählen können.

Parameter:

  • options : Liste der Optionen, kann eine Liste von Zeichenfolgen oder Wörterbüchern sein
  • prompt : Dem Benutzer angezeigte Eingabeaufforderungsnachricht

Rückgabe: Ein Wörterbuch mit dem Auswahlergebnis im Format:

{ "selected_index": 0, // Index of the user's selection, -1 if custom answer "selected_option": {}, // Content of the user's selected option "custom_input": "", // User's custom input, if any "is_custom": false // Whether it's a custom answer }

Informationsergänzung (request_additional_info)

Dieses Tool wird verwendet, um zusätzliche Informationen von Benutzern anzufordern.

Parameter:

  • prompt : Eingabeaufforderung zum Anfordern von Informationen
  • current_info : Aktuelle Informationen, die den Benutzern als Referenz angezeigt werden

Rückgabe: Die vom Benutzer eingegebenen Zusatzinformationen (String)

Integration mit KI-Tools

Um diesen MCP-Dienst mit KI-Tools zu integrieren, führen Sie die folgenden Schritte aus:

  1. Starten Sie den MCP-Dienst entweder mit der ausführbaren Datei oder dem Python-Quellcode:
    • Ausführbare Datei verwenden: mcp-interactive.exe run
    • Verwenden der Python-Quelle: python main.py run
  2. Konfigurieren Sie den MCP-Endpunkt im KI-Tool und wählen Sie je nach Bedarf entweder das stdio- oder das SSE-Protokoll aus
  3. Rufen Sie das entsprechende MCP-Tool auf, wenn das KI-Modell Benutzereingaben oder eine Optionsauswahl benötigt

Claude Integration

So integrieren Sie Claude in die offiziellen Produkte von Anthropic oder in Apps von Drittanbietern:

  1. Konfigurieren Sie die Standarddio-Verbindung in den Einstellungen Ihres KI-Tools:
    { "mcp-interaction": { "command": "D:/Path/To/Your/mcp-interactive.exe", "args": ["run", "--transport", "stdio", "--ui", "pyqt"], "env": {} } }
  2. Konfigurieren Sie Claude so, dass er den Interaktionsdienst bei Bedarf verwendet, mit Anweisungen wie:
    • „Wenn Sie Benutzereingaben oder Bestätigungen benötigen, verwenden Sie den MCP-Interaktionsdienst.“
    • „Für Multiple-Choice-Optionen rufen Sie das Tool select_option auf.“
    • „Um zusätzliche Benutzerinformationen zu sammeln, rufen Sie das Tool request_additional_info auf.“
  3. Claude kann nun Optionen präsentieren und zusätzliche Informationen direkt über den MCP-Dienst anfordern.

Beispiele

Beispiel für eine Optionsauswahl

from fastmcp import Client async with Client("http://127.0.0.1:8000/sse") as client: options = [ "Option 1: Implement with TensorFlow", "Option 2: Implement with PyTorch", {"title": "Option 3: Implement with JAX", "description": "Better for research purposes"} ] result = await client.call_tool( "select_option", {"options": options, "prompt": "Please select a framework implementation"} ) selected_option = result.json print(f"User selected: {selected_option}")

Beispiel für eine Informationsergänzung

from fastmcp import Client async with Client("http://127.0.0.1:8000/sse") as client: additional_info = await client.call_tool( "request_additional_info", { "prompt": "Please provide specific project requirements", "current_info": "This is a data analysis project" } ) print(f"User provided information: {additional_info.text}")

Entwicklungsnotizen

  • Sofern Sie nicht mehrere UI-Typen entwickeln oder testen müssen, wird empfohlen, nur eine UI-Abhängigkeit zu installieren
  • Wenn Sie neue Abhängigkeiten hinzufügen müssen, fügen Sie diese bitte der entsprechenden Abhängigkeitsdatei hinzu

Aktueller Entwicklungsstand

Bitte beachten Sie folgenden Stand der Umsetzung:

  • Windows : CLI- und PyQt-UI-Versionen sind voll funktionsfähig. Die Web-UI weist noch einige Probleme auf, die behoben werden müssen.
  • Linux/Mac : Diese Plattformen wurden noch nicht gründlich getestet. Ihre Erfahrungen können abweichen.

Wir arbeiten aktiv daran, die Kompatibilität über alle Plattformen und UI-Typen hinweg zu verbessern.

Bau und Vertrieb

Erstellen ausführbarer Dateien

Dieses Projekt enthält ein Skript zum Erstellen einer eigenständigen ausführbaren Datei für Windows:

# Build the Windows executable build_executable.bat

Dadurch wird mcp-interactive.exe im dist -Verzeichnis erstellt, das Sie ohne Python-Installation ausführen können.

Plattformübergreifendes Erstellen

So erstellen Sie ausführbare Dateien für verschiedene Plattformen:

Windows
# Using the batch script build_executable.bat # Or manual PyInstaller command pyinstaller mcp-interactive.spec
macOS
# Ensure PyInstaller is installed pip install pyinstaller # Build using the spec file pyinstaller mcp-interactive.spec
Linux
# Ensure PyInstaller is installed pip install pyinstaller # Build using the spec file pyinstaller mcp-interactive.spec

Hinweis: Sie müssen auf der Zielplattform erstellen (Sie können keine ausführbaren macOS-Dateien von Windows usw. erstellen).

Verteilung über GitHub

So stellen Sie Ihre erstellten ausführbaren Dateien zum Download bereit:

  1. Erstellen Sie eine GitHub-Version für Ihr Projekt
  2. Laden Sie die erstellten ausführbaren Dateien als Release-Assets hoch
  3. Stellen Sie eine klare Dokumentation bereit, welche ausführbare Datei für welche Plattform verwendet werden soll.

Beispielschritte:

  1. Navigieren Sie zu Ihrem GitHub-Repository
  2. Klicken Sie in der rechten Seitenleiste auf „Releases“
  3. Klicken Sie auf „Neue Version erstellen“.
  4. Legen Sie einen Versionstag fest (z. B. v1.0.0).
  5. Fügen Sie einen Titel und eine Beschreibung für Ihre Veröffentlichung hinzu
  6. Ziehen Sie Ihre ausführbaren Dateien per Drag & Drop oder laden Sie sie für verschiedene Plattformen hoch
  7. Klicken Sie auf „Veröffentlichung veröffentlichen“

Benutzer können dann die entsprechende Version für ihr Betriebssystem von der GitHub-Releases-Seite herunterladen.

Lizenz

Dieses Projekt wird unter der MIT-Lizenz veröffentlicht.

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Eine Schnittstelle, die eine Hochfrequenzkommunikation zwischen KI-Tools (wie Cursor und Windsurf) und Benutzern ermöglicht und die Auswahl von Optionen und das Sammeln von Informationen über CLI-, Web- oder PyQt-Schnittstellen gestattet.

  1. Hauptzweck
    1. Merkmale
      1. UI-Typen
        1. CLI (Befehlszeilenschnittstelle)
        2. PyQt-Schnittstelle
        3. Webschnittstelle
      2. Benutzerhandbuch
        1. Erste Schritte (zwei Optionen)
        2. Starten Sie das Programm
        3. Konfigurieren Sie Cursor, Windsurf oder Claude
        4. Konfigurieren Sie KI-Interaktionsregeln
        5. Weitere Funktionen
      3. Werkzeugbeschreibung
        1. Optionsauswahl (select\_option)
        2. Informationsergänzung (request\_additional\_info)
      4. Integration mit KI-Tools
        1. Claude Integration
      5. Beispiele
        1. Beispiel für eine Optionsauswahl
        2. Beispiel für eine Informationsergänzung
      6. Entwicklungsnotizen
        1. Aktueller Entwicklungsstand
          1. Bau und Vertrieb
            1. Erstellen ausführbarer Dateien
            2. Plattformübergreifendes Erstellen
            3. Verteilung über GitHub
          2. Lizenz

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              This server acts as a Message Communication Protocol (MCP) service for integrating Apifox and Cursor, enabling OpenAPI interface implementation through AI-driven interaction.
              Last updated -
              7
              TypeScript
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that enables AI assistants to explore and interact with Cursor IDE's SQLite databases, providing access to project data, chat history, and composer information.
              Last updated -
              10
              Python
              • Apple
            • -
              security
              F
              license
              -
              quality
              A server that connects AI coding assistants like Cursor and Cline to Apifox API definitions, allowing developers to implement API interfaces through natural language commands.
              Last updated -
              832
              1
              • Apple
              • Linux
            • -
              security
              F
              license
              -
              quality
              This server enables AI assistants (CLINE, Cursor, Windsurf, Claude Desktop) to share a common knowledge base through Retrieval Augmented Generation (RAG), providing consistent information access across multiple tools.
              Last updated -
              1
              TypeScript
              • Apple

            View all related MCP servers

            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/DanielZhao1990/interaction-mcp'

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