Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Proxyservrar STDIN/STDOUT/STDERR-kommunikation med lokala körbara filer. Det här kommandot är särskilt användbart för att testa och felsöka MCP-servrar (Model Context Protocol) och andra STDIO-baserade program.
Sammanfattning
devproxy stdio [options] <command> [args...]
Description
Kommandot stdio startar en underordnad process och proxyservrar all STDIN/STDOUT/STDERR-kommunikation. På så sätt kan du:
- Inspektera meddelanden som flödar mellan klienter (till exempel VS Code) och MCP-servrar
- Falska svar för att testa klientbeteende utan att köra faktisk serverlogik
- Felsöka kommunikationsproblem med Chrome DevTools
- Testa felhantering genom att mata in falska svar eller blockera begäranden
- Simulera svarstid för STDIO-kommunikation
Usage
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Arguments
| Namn | Description | Krävs |
|---|---|---|
<command> |
Kommandot som ska köras | yes |
[args...] |
Argument som ska skickas till kommandot | no |
Options
| Namn | Description | Tillåtna värden | Förinställning |
|---|---|---|---|
-c, --config-file <configFile> |
Sökvägen till konfigurationsfilen | Sökväg till lokal fil | devproxyrc.json |
--no-stdio-mocks |
Inaktivera inläsning av STDIO-falska svar | Inte tillämpligt | Inte tillämpligt |
--stdio-mocks-file <file> |
Sökväg till filen som innehåller STDIO-falska svar | Sökväg till lokal fil | - |
--log-level <loglevel> |
Nivå av meddelanden som ska loggas | **
trace, debug, information, warning, error |
information |
-?, -h, --help |
Visa hjälp- och användningsinformation | Inte tillämpligt | Inte tillämpligt |
Examples
Starta en MCP-server med Dev Proxy
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Ange en anpassad konfigurationsfil
devproxy stdio --config-file ./my-config.json npx my-server
Ange en anpassad mocks-fil
devproxy stdio --stdio-mocks-file ./my-mocks.json npx my-server
Inaktivera stdio mocks
devproxy stdio --no-stdio-mocks npx my-server
Konfigurationsexempel
Om du vill använda stdio kommandot med plugin-program skapar du en konfigurationsfil:
Fil: 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"
}
}
Plugin-program som stöds
Följande plugin-program stöder STDIO-avlyssning:
| Plugin | Description |
|---|---|
| MockStdioResponsePlugin | Mock STDIN/STDOUT/STDERR-svar |
| DevToolsPlugin | Inspektera STDIO-trafik i Chrome DevTools |
| LatencyPlugin | Lägga till artificiell svarstid i STDIO-kommunikation |
Architecture
När du använder stdio kommandot fungerar Dev Proxy som en mellanhand mellan den överordnade processen (till exempel VS Code) och den underordnade processen (till exempel en MCP-server):
┌─────────────────┐ STDIN ┌──────────────────┐ STDIN ┌─────────────────┐
│ Parent Process │ ─────────────▶ │ Dev Proxy │ ─────────────▶ │ Child Process │
│ (VS Code) │ │ │ │ (MCP Server) │
│ │ ◀───────────── │ ┌────────────┐ │ ◀───────────── │ │
└─────────────────┘ STDOUT │ │ Plugins │ │ STDOUT └─────────────────┘
│ └────────────┘ │
└──────────────────┘
Plugin-program anropas i ordning:
-
BeforeStdinAsync- Innan du vidarebefordrar stdin till barn -
AfterStdoutAsync- Efter att ha fått stdout från underordnad -
AfterStderrAsync- Efter att ha fått stderr från barn
DevTools-integrering
När du aktiverar DevToolsPlugin kan du inspektera STDIO-trafik i Chrome DevTools:
- Meddelanden visas med
stdio://command-nameURL:er - Begäranden visas som
STDINmetod - Svaren visas som
STDOUT(200 status) ellerSTDERR(500 status) - Meddelandekroppar formateras som JSON när det är tillämpligt