interactive-mcp

MIT License
116
  • Apple
  • Linux
Integrations
  • Supports running the MCP server on Linux platforms, enabling OS-level interactions like notifications and command-line prompts

  • Supports macOS-specific optimizations with Terminal.app profile settings for improved window management when the MCP server starts and stops

  • Provides a Model Context Protocol server that runs locally alongside MCP clients, with direct access to the user's operating system for notifications and interactive prompts

interaktives-mcp

Ein in Node.js/TypeScript implementierter MCP-Server, der die interaktive Kommunikation zwischen LLMs und Benutzern ermöglicht. Hinweis: Dieser Server ist für den lokalen Betrieb neben dem MCP-Client (z. B. Claude Desktop, VS Code) konzipiert, da er direkten Zugriff auf das Betriebssystem des Benutzers benötigt, um Benachrichtigungen und Eingabeaufforderungen anzuzeigen.

(Hinweis: Dieses Projekt befindet sich noch in der Anfangsphase.)

Möchten Sie einen schnellen Überblick? Lesen Sie den einführenden Blogbeitrag: Stoppen Sie das Raten Ihres KI-Assistenten – Einführung in interactive-mcp

Demo-Video

Werkzeuge

Dieser Server stellt die folgenden Tools über das Model Context Protocol (MCP) bereit:

  • request_user_input : Stellt dem Benutzer eine Frage und gibt dessen Antwort zurück. Kann vordefinierte Optionen anzeigen.
  • message_complete_notification : Sendet eine einfache Betriebssystembenachrichtigung.
  • start_intensive_chat : Startet eine dauerhafte Befehlszeilen-Chatsitzung.
  • ask_intensive_chat : Stellt eine Frage während einer aktiven intensiven Chat-Sitzung.
  • stop_intensive_chat : Schließt eine aktive intensive Chatsitzung.

Demo

Hier sind Demonstrationen der interaktiven Funktionen:

Normale FrageAbschlussbenachrichtigung
Intensiver Chat-StartIntensives Chat-Ende

Anwendungsszenarien

Dieser Server eignet sich ideal für Szenarien, in denen ein LLM direkt mit dem Benutzer auf dessen lokalem Computer interagieren muss, beispielsweise:

  • Interaktive Einrichtungs- oder Konfigurationsprozesse.
  • Sammeln von Feedback während der Codegenerierung oder -änderung.
  • Anweisungen klären oder Aktionen beim Paarprogrammieren bestätigen.
  • Jeder Workflow, der während des LLM-Vorgangs eine Benutzereingabe oder -bestätigung erfordert.

Client-Konfiguration

In diesem Abschnitt wird erläutert, wie MCP-Clients für die Verwendung des interactive-mcp -Servers konfiguriert werden.

Standardmäßig werden Benutzeraufforderungen nach 30 Sekunden abgebrochen. Sie können Serveroptionen wie Timeout oder deaktivierte Tools anpassen, indem Sie bei der Konfiguration Ihres Clients Kommandozeilen-Flags direkt zum Array args hinzufügen.

Bitte stellen Sie sicher, dass Ihnen der Befehl npx zur Verfügung steht.

Verwendung mit Claude Desktop / Cursor

Fügen Sie die folgende minimale Konfiguration zu Ihrer claude_desktop_config.json (Claude Desktop) oder mcp.json (Cursor) hinzu:

{ "mcpServers": { "interactive": { "command": "npx", "args": ["-y", "interactive-mcp"] } } }

Beispiel mit benutzerdefiniertem Timeout (30 s):

{ "mcpServers": { "interactive": { "command": "npx", "args": ["-y", "interactive-mcp", "-t", "30"] } } }

Verwendung mit VS Code

Fügen Sie Ihrer Benutzereinstellungsdatei (JSON) oder .vscode/mcp.json die folgende minimale Konfiguration hinzu:

{ "mcp": { "servers": { "interactive-mcp": { "command": "npx", "args": ["-y", "interactive-mcp"] } } } }
macOS-Empfehlungen

Für ein reibungsloseres Erlebnis unter macOS mit der Terminal.app sollten Sie diese Profileinstellung berücksichtigen:

  • (Registerkarte „Shell“): Wählen Sie unter „Beim Beenden der Shell“ ( Terminal > Einstellungen > Profile > [Ihr Profil] > Shell ) die Option „Schließen, wenn die Shell ordnungsgemäß beendet wurde“ oder „Fenster schließen“ . Dies erleichtert die Verwaltung von Fenstern beim Starten und Stoppen des MCP-Servers.

Entwicklungs-Setup

Dieser Abschnitt richtet sich in erster Linie an Entwickler, die den Server ändern oder ergänzen möchten. Wenn Sie den Server nur mit einem MCP-Client verwenden möchten, lesen Sie den Abschnitt „Client-Konfiguration“ weiter oben.

Voraussetzungen

  • Node.js: Überprüfen Sie package.json auf Versionskompatibilität.
  • pnpm: Wird für die Paketverwaltung verwendet. Die Installation erfolgt über npm install -g pnpm nach der Installation von Node.js.

Installation (Entwickler)

  1. Klonen Sie das Repository:
    git clone https://github.com/ttommyth/interactive-mcp.git cd interactive-mcp
  2. Installieren Sie Abhängigkeiten:
    pnpm install

Ausführen der Anwendung (Entwickler)

pnpm start
Befehlszeilenoptionen

Der interactive-mcp -Server akzeptiert die folgenden Befehlszeilenoptionen. Diese sollten typischerweise in den JSON-Einstellungen Ihres MCP-Clients konfiguriert werden, indem sie direkt zum Array args hinzugefügt werden (siehe Beispiele „Client-Konfiguration“).

OptionAliasBeschreibung
--timeout-tLegt das Standard-Timeout (in Sekunden) für Benutzereingabeaufforderungen fest. Der Standardwert beträgt 30 Sekunden.
--disable-tools-dDeaktiviert bestimmte Tools oder Gruppen (komma-getrennte Liste). Verhindert, dass der Server diese ankündigt oder registriert. Optionen: request_user_input , message_complete_notification , intensive_chat .

Beispiel: Festlegen mehrerer Optionen im Array „Client- args :

// Example combining options in client config's "args": "args": [ "-y", "interactive-mcp", "-t", "30", // Set timeout to 30 seconds "--disable-tools", "message_complete_notification,intensive_chat" // Disable notifications and intensive chat ]

Entwicklungsbefehle

  • Build: pnpm build
  • Flusen: pnpm lint
  • Format: pnpm format

Leitlinien für die Interaktion

Beachten Sie bei der Interaktion mit diesem MCP-Server (z. B. als LLM-Client) die folgenden Grundsätze, um Übersichtlichkeit zu gewährleisten und unerwartete Änderungen zu vermeiden:

  • Priorisieren Sie die Interaktion: Nutzen Sie die bereitgestellten MCP-Tools ( request_user_input , start_intensive_chat usw.) häufig, um mit dem Benutzer zu interagieren.
  • Klärung einholen: Wenn Anforderungen, Anweisungen oder der Kontext unklar sind, stellen Sie immer klärende Fragen, bevor Sie fortfahren. Stellen Sie keine Annahmen an.
  • Aktionen bestätigen: Bevor Sie wichtige Aktionen ausführen (wie das Ändern von Dateien, das Ausführen komplexer Befehle oder das Treffen von Architekturentscheidungen), bestätigen Sie den Plan mit dem Benutzer.
  • Optionen bereitstellen: Stellen Sie dem Benutzer, wenn möglich, über die MCP-Tools vordefinierte Optionen zur Verfügung, um schnelle Entscheidungen zu ermöglichen.

Sie können einem LLM-Client diese Anweisungen wie folgt bereitstellen:

# Interaction - Please use the interactive MCP tools - Please provide options to interactive MCP if possible # Reduce Unexpected Changes - Do not make assumption. - Ask more questions before executing, until you think the requirement is clear enough.

Beitragen

Beiträge sind willkommen! Bitte befolgen Sie die üblichen Entwicklungspraktiken. (Weitere Details können später hinzugefügt werden.)

Lizenz

MIT (Einzelheiten finden Sie in der Datei LICENSE – falls zutreffend, oder geben Sie die Lizenz direkt an).

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Ein Node.js/TypeScript MCP-Server, der die interaktive Kommunikation zwischen LLMs und Benutzern erleichtert und es KI-Assistenten ermöglicht, Benutzereingaben anzufordern, Benachrichtigungen anzuzeigen und Chatsitzungen über die Befehlszeile zu verwalten.

  1. Werkzeuge
    1. Demo
      1. Anwendungsszenarien
        1. Client-Konfiguration
          1. Verwendung mit Claude Desktop / Cursor
          2. Verwendung mit VS Code
        2. Entwicklungs-Setup
          1. Voraussetzungen
          2. Installation (Entwickler)
          3. Ausführen der Anwendung (Entwickler)
        3. Entwicklungsbefehle
          1. Leitlinien für die Interaktion
            1. Beitragen
              1. Lizenz

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  A TypeScript-based server that allows calling other MCP clients from your own MCP client, facilitating task delegation and context window offloading for enhanced multi-agent interactions.
                  Last updated -
                  3
                  14
                  JavaScript
                  MIT License
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  A server for the Machine Chat Protocol (MCP) that provides a YAML-based configuration system for LLM applications, allowing users to define resources, tools, and prompts without writing code.
                  Last updated -
                  5
                  Python
                  MIT License
                  • Linux
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  MCP server enabling LLMs to perform browser tasks via SSE transport, allowing clients like Cursor.ai and Claude to open websites and interact with web content through natural language commands.
                  Last updated -
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  An MCP server that helps novice developers deploy web applications through conversational interfaces, bridging the gap between LLMs and various hosting environments.
                  Last updated -
                  1
                  Python
                  MIT License
                  • Apple

                View all related MCP servers

                ID: uoxv1x0489