Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Proxy servery STDIN/STDOUT/STDERR komunikují s místními spustitelnými soubory. Tento příkaz je zvlášť užitečný pro testování a ladění serverů PROTOKOLU MCP (Model Context Protocol) a dalších aplikací založených na STDIO.
Přehled
devproxy stdio [options] <command> [args...]
Description
Příkaz stdio spustí podřízený proces a proxy server všechny komunikace STDIN/STDOUT/STDERR. To vám umožní:
- Kontrola toků zpráv mezi klienty (jako je VS Code) a servery MCP
- Napodobení odpovědí na testování chování klienta bez spuštění skutečné logiky serveru
- Ladění problémů s komunikací pomocí nástrojů Pro vývojáře v Chromu
- Zpracování chyb testů vložením napodobených odpovědí nebo blokováním požadavků
- Simulace latence komunikace STDIO
Usage
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Arguments
| Název | Description | Povinné |
|---|---|---|
<command> |
Příkaz, který se má provést | yes |
[args...] |
Argumenty pro předání příkazu | no |
Možnosti
| Název | Description | Povolené hodnoty | Výchozí |
|---|---|---|---|
-c, --config-file <configFile> |
Cesta ke konfiguračnímu souboru | Cesta k lokálnímu souboru | devproxyrc.json |
--no-stdio-mocks |
Zákaz načítání napodobených odpovědí STDIO | není k dispozici | není k dispozici |
--stdio-mocks-file <file> |
Cesta k souboru obsahujícímu odpovědi napodobení STDIO | Cesta k lokálnímu souboru | - |
--log-level <loglevel> |
Úroveň zpráv, které se mají protokolovat |
trace, debug, information, , warningerror |
information |
-?, -h, --help |
Zobrazení informací o nápovědě a využití | není k dispozici | není k dispozici |
Examples
Spuštění serveru MCP pomocí dev proxy serveru
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Zadání vlastního konfiguračního souboru
devproxy stdio --config-file ./my-config.json npx my-server
Zadání vlastního souboru napodobení
devproxy stdio --stdio-mocks-file ./my-mocks.json npx my-server
Zakázání výsměchů stdio
devproxy stdio --no-stdio-mocks npx my-server
Příklad konfigurace
Pokud chcete použít stdio příkaz s moduly plug-in, vytvořte konfigurační soubor:
Soubor: 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"
}
}
Podporované pluginy
Následující moduly plug-in podporují průsečík STDIO:
| Plugin | Description |
|---|---|
| MockStdioResponsePlugin | Napodobení odpovědí STDIN/STDOUT/STDERR |
| DevToolsPlugin | Kontrola provozu STDIO v Chrome DevTools |
| LatencyPlugin | Přidání umělé latence do komunikace STDIO |
Architecture
Při použití stdio příkazu funguje dev proxy jako prostředník mezi nadřazeným procesem (například VS Code) a podřízeným procesem (například serverEM MCP):
┌─────────────────┐ STDIN ┌──────────────────┐ STDIN ┌─────────────────┐
│ Parent Process │ ─────────────▶ │ Dev Proxy │ ─────────────▶ │ Child Process │
│ (VS Code) │ │ │ │ (MCP Server) │
│ │ ◀───────────── │ ┌────────────┐ │ ◀───────────── │ │
└─────────────────┘ STDOUT │ │ Plugins │ │ STDOUT └─────────────────┘
│ └────────────┘ │
└──────────────────┘
Moduly plug-in jsou vyvolány v pořadí:
-
BeforeStdinAsync- Před předáním stdin do dítěte -
AfterStdoutAsync- Po přijetí stdoutu od dítěte -
AfterStderrAsync- Po přijetí stderru od dítěte
Integrace DevTools
Když povolíte DevToolsPlugin, můžete zkontrolovat provoz STDIO v Chrome DevTools:
- Zprávy se zobrazují s adresami
stdio://command-nameURL - Žádosti se zobrazují jako
STDINmetoda - Odpovědi se zobrazují jako
STDOUT(stav 200) neboSTDERR(500) - Texty zpráv se formátují jako JSON, pokud je to možné.