Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Proxys STDIN/STDOUT/STDERR-Kommunikation mit lokalen ausführbaren Dateien. Dieser Befehl eignet sich besonders zum Testen und Debuggen von MCP-Servern (Model Context Protocol) und anderen STDIO-basierten Anwendungen.
Zusammenfassung
devproxy stdio [options] <command> [args...]
Description
Der stdio Befehl startet einen untergeordneten Prozess und proxys alle STDIN/STDOUT/STDERR-Kommunikationen. Dies ermöglicht Ihnen Folgendes:
- Überprüfen von Nachrichten, die zwischen Clients (z. B. VS Code) und MCP-Servern fließen
- Simulierte Antworten zum Testen des Clientverhaltens ohne Ausführung der tatsächlichen Serverlogik
- Debuggen von Kommunikationsproblemen mithilfe von Chrome DevTools
- Testen der Fehlerbehandlung durch Einfügen simulierter Antworten oder Blockieren von Anforderungen
- Simulieren der Latenz bei DER STDIO-Kommunikation
Usage
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Arguments
| Name | Description | Erforderlich |
|---|---|---|
<command> |
Der auszuführende Befehl | ja |
[args...] |
Argumente, die an den Befehl übergeben werden sollen | nein |
Options
| Name | Description | Zulässige Werte | Standard |
|---|---|---|---|
-c, --config-file <configFile> |
Der Pfad zur Konfigurationsdatei | Lokaler Dateipfad | devproxyrc.json |
--no-stdio-mocks |
Deaktivieren des Ladens von STDIO-Pseudoantworten | n/a | n/a |
--stdio-mocks-file <file> |
Pfad zur Datei mit STDIO-Mockantworten | Lokaler Dateipfad | - |
--log-level <loglevel> |
Ebene der zu protokollierenden Nachrichten |
trace, , debuginformation, , warningerror |
information |
-?, -h, --help |
Anzeigen von Hilfe- und Nutzungsinformationen | n/a | n/a |
Examples
Starten eines MCP-Servers mit Dev Proxy
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Angeben einer benutzerdefinierten Konfigurationsdatei
devproxy stdio --config-file ./my-config.json npx my-server
Angeben einer benutzerdefinierten Mocks-Datei
devproxy stdio --stdio-mocks-file ./my-mocks.json npx my-server
Deaktivieren von Stdio-Mocks
devproxy stdio --no-stdio-mocks npx my-server
Konfigurationsbeispiel
Um den stdio Befehl mit Plug-Ins zu verwenden, erstellen Sie eine Konfigurationsdatei:
Datei: devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.1.0/rc.schema.json",
"plugins": [
{
"name": "MockStdioResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "mockStdioResponsePlugin"
},
{
"name": "DevToolsPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "devTools"
}
],
"devTools": {
"preferredBrowser": "Edge"
},
"mockStdioResponsePlugin": {
"mocksFile": "stdio-mocks.json"
}
}
Unterstützte Plug-Ins
Die folgenden Plug-Ins unterstützen STDIO Interception:
| Plug-In | Description |
|---|---|
| MockStdioResponsePlugin | Simulierte STDIN/STDOUT/STDERR-Antworten |
| DevToolsPlugin | Überprüfen von STDIO-Datenverkehr in Chrome DevTools |
| LatencyPlugin | Hinzufügen einer künstlichen Latenz zur STDIO-Kommunikation |
Architektur
Bei Verwendung des stdio Befehls fungiert Dev Proxy als Vermittler zwischen dem übergeordneten Prozess (z. B. VS Code) und dem untergeordneten Prozess (z. B. einem MCP-Server):
┌─────────────────┐ STDIN ┌──────────────────┐ STDIN ┌─────────────────┐
│ Parent Process │ ─────────────▶ │ Dev Proxy │ ─────────────▶ │ Child Process │
│ (VS Code) │ │ │ │ (MCP Server) │
│ │ ◀───────────── │ ┌────────────┐ │ ◀───────────── │ │
└─────────────────┘ STDOUT │ │ Plugins │ │ STDOUT └─────────────────┘
│ └────────────┘ │
└──────────────────┘
Plugins werden in der Reihenfolge aufgerufen:
-
BeforeStdinAsync- Vor dem Weiterleiten von Stdin an das Kind -
AfterStdoutAsync- Nach Erhalt von Stdout von Kind -
AfterStderrAsync- Nach Erhalt von Stderr von Kind
DevTools-Integration
Wenn Sie devToolsPlugin aktivieren, können Sie DEN STDIO-Datenverkehr in Chrome DevTools überprüfen:
- Nachrichten werden mit
stdio://command-nameURLs angezeigt - Anforderungen werden als
STDINMethode angezeigt - Antworten werden als
STDOUT(200 Status) oderSTDERR(500 Status) angezeigt. - Nachrichtentexte werden bei Bedarf als JSON formatiert.