Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.2.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": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/devtoolsplugin.schema.json",
"preferredBrowser": "Edge"
},
"mockStdioResponsePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.0/mockstdioresponseplugin.schema.json",
"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