Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Proxy's STDIN/STDOUT/STDERR-communicatie met lokale uitvoerbare bestanden. Deze opdracht is met name handig voor het testen en opsporen van fouten in MCP-servers (Model Context Protocol) en andere OP STDIO gebaseerde toepassingen.
Samenvatting
devproxy stdio [options] <command> [args...]
Description
De stdio opdracht start een onderliggend proces en proxy's alle STDIN/STDOUT/STDERR-communicatie. Hiermee kunt u het volgende doen:
- Berichten controleren die stromen tussen clients (zoals VS Code) en MCP-servers
- Gesimuleerde antwoorden om clientgedrag te testen zonder werkelijke serverlogica uit te voeren
- Communicatieproblemen opsporen met Chrome DevTools
- Foutafhandeling testen door mock-antwoorden of blokkeringsaanvragen te injecteren
- Latentie simuleren op STDIO-communicatie
Usage
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Arguments
| Naam | Description | Verplicht |
|---|---|---|
<command> |
De opdracht die moet worden uitgevoerd | yes |
[args...] |
Argumenten die moeten worden doorgegeven aan de opdracht | no |
Options
| Naam | Description | Toegestane waarden | Verstek |
|---|---|---|---|
-c, --config-file <configFile> |
Het pad naar het configuratiebestand | Lokaal bestandspad | devproxyrc.json |
--no-stdio-mocks |
Het laden van STDIO-mockantwoorden uitschakelen | n/a | n/a |
--stdio-mocks-file <file> |
Pad naar het bestand met STDIO-mockantwoorden | Lokaal bestandspad | - |
--log-level <loglevel> |
Niveau van berichten dat moet worden vastgelegd |
trace
debug, information, warningerror |
information |
-?, -h, --help |
Help- en gebruiksgegevens weergeven | n/a | n/a |
Voorbeelden
Een MCP-server starten met Dev Proxy
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Een aangepast configuratiebestand opgeven
devproxy stdio --config-file ./my-config.json npx my-server
Een aangepast mocks-bestand opgeven
devproxy stdio --stdio-mocks-file ./my-mocks.json npx my-server
Stdio-mocks uitschakelen
devproxy stdio --no-stdio-mocks npx my-server
Configuratievoorbeeld
Als u de stdio opdracht wilt gebruiken met invoegtoepassingen, maakt u een configuratiebestand:
Bestand: 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"
}
}
Ondersteunde invoegtoepassingen
De volgende invoegtoepassingen ondersteunen STDIO-interceptie:
| Invoegtoepassing | Description |
|---|---|
| MockStdioResponsePlugin | Mock STDIN/STDOUT/STDERR-antwoorden |
| DevToolsPlugin | STDIO-verkeer inspecteren in Chrome DevTools |
| LatencyPlugin | Kunstmatige latentie toevoegen aan STDIO-communicatie |
Architecture
Wanneer u de stdio opdracht gebruikt, fungeert Dev Proxy als een middleman tussen het bovenliggende proces (zoals VS Code) en het onderliggende proces (zoals een MCP-server):
┌─────────────────┐ STDIN ┌──────────────────┐ STDIN ┌─────────────────┐
│ Parent Process │ ─────────────▶ │ Dev Proxy │ ─────────────▶ │ Child Process │
│ (VS Code) │ │ │ │ (MCP Server) │
│ │ ◀───────────── │ ┌────────────┐ │ ◀───────────── │ │
└─────────────────┘ STDOUT │ │ Plugins │ │ STDOUT └─────────────────┘
│ └────────────┘ │
└──────────────────┘
Invoegtoepassingen worden op volgorde aangeroepen:
-
BeforeStdinAsync- Voordat stdin naar onderliggend item wordt doorgestuurd -
AfterStdoutAsync- Na ontvangst van stdout van kind -
AfterStderrAsync- Na ontvangst van stderr van kind
DevTools-integratie
Wanneer u DevToolsPlugin inschakelt, kunt u STDIO-verkeer inspecteren in Chrome DevTools:
- Berichten worden weergegeven met
stdio://command-nameURL's - Aanvragen worden weergegeven als
STDINmethode - Antwoorden worden weergegeven als
STDOUT(200 status) ofSTDERR(500 status) - Berichtteksten worden indien van toepassing opgemaakt als JSON