
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.
Related MCP server: Linear
Demo
Hier sind Demonstrationen der interaktiven Funktionen:
Normale Frage | Abschlussbenachrichtigung |
|
|
Intensiver Chat-Start | Intensives 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 > ) 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.jsonauf Versionskompatibilität.pnpm: Wird für die Paketverwaltung verwendet. Die Installation erfolgt über
npm install -g pnpmnach der Installation von Node.js.
Installation (Entwickler)
Klonen Sie das Repository:
git clone https://github.com/ttommyth/interactive-mcp.git cd interactive-mcpInstallieren Sie Abhängigkeiten:
pnpm install
Ausführen der Anwendung (Entwickler)
pnpm startBefehlszeilenoptionen
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“).
Option | Alias | Beschreibung |
|
| Legt das Standard-Timeout (in Sekunden) für Benutzereingabeaufforderungen fest. Der Standardwert beträgt 30 Sekunden. |
|
| Deaktiviert bestimmte Tools oder Gruppen (komma-getrennte Liste). Verhindert, dass der Server diese ankündigt oder registriert. Optionen: |
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 buildFlusen:
pnpm lintFormat:
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_chatusw.) 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).




