Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Proksi komunikasi STDIN/STDOUT/STDERR dengan executable lokal. Perintah ini sangat berguna untuk menguji dan men-debug server Model Context Protocol (MCP) dan aplikasi berbasis STDIO lainnya.
Sinopsis
devproxy stdio [options] <command> [args...]
Description
Perintah stdio memulai proses turunan dan menproksi semua komunikasi STDIN/STDOUT/STDERR. Ini memungkinkan Anda untuk:
- Memeriksa pesan yang mengalir antara klien (seperti VS Code) dan server MCP
- Respons tiruan untuk menguji perilaku klien tanpa menjalankan logika server aktual
- Men-debug masalah komunikasi menggunakan Chrome DevTools
- Uji penanganan kesalahan dengan menyuntikkan respons tiruan atau memblokir permintaan
- Mensimulasikan latensi pada komunikasi STDIO
Usage
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Arguments
| Nama | Description | Diperlukan |
|---|---|---|
<command> |
Perintah yang akan dijalankan | yes |
[args...] |
Argumen untuk diteruskan ke perintah | no |
Opsi
| Nama | Description | Nilai yang diizinkan | Bawaan |
|---|---|---|---|
-c, --config-file <configFile> |
Jalur ke file konfigurasi | Jalur file lokal | devproxyrc.json |
--no-stdio-mocks |
Menonaktifkan pemuatan respons tiruan STDIO | n/a | n/a |
--stdio-mocks-file <file> |
Jalur ke file yang berisi respons tiruan STDIO | Jalur file lokal | - |
--log-level <loglevel> |
Tingkat pesan yang akan dicatat |
trace
debug
information
warning
error
|
information |
-?, -h, --help |
Perlihatkan bantuan dan informasi penggunaan | n/a | n/a |
Examples
Memulai server MCP dengan Dev Proxy
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Tentukan file konfigurasi kustom
devproxy stdio --config-file ./my-config.json npx my-server
Tentukan file tiruan kustom
devproxy stdio --stdio-mocks-file ./my-mocks.json npx my-server
Menonaktifkan tiruan stdio
devproxy stdio --no-stdio-mocks npx my-server
Contoh konfigurasi
Untuk menggunakan stdio perintah dengan plugin, buat file konfigurasi:
File: 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 yang didukung
Plugin berikut mendukung intersepsi STDIO:
| Modul tambahan | Description |
|---|---|
| MockStdioResponsePlugin | Respons Mock STDIN/STDOUT/STDERR |
| DevToolsPlugin | Memeriksa lalu lintas STDIO di Chrome DevTools |
| LatensiPlugin | Menambahkan latensi buatan ke komunikasi STDIO |
Architecture
Saat menggunakan stdio perintah , Dev Proxy bertindak sebagai perantara antara proses induk (seperti Visual Studio Code) dan proses turunan (seperti server MCP):
┌─────────────────┐ STDIN ┌──────────────────┐ STDIN ┌─────────────────┐
│ Parent Process │ ─────────────▶ │ Dev Proxy │ ─────────────▶ │ Child Process │
│ (VS Code) │ │ │ │ (MCP Server) │
│ │ ◀───────────── │ ┌────────────┐ │ ◀───────────── │ │
└─────────────────┘ STDOUT │ │ Plugins │ │ STDOUT └─────────────────┘
│ └────────────┘ │
└──────────────────┘
Plugin dipanggil secara berurutan:
-
BeforeStdinAsync- Sebelum meneruskan stdin ke anak -
AfterStdoutAsync- Setelah menerima stdout dari anak-anak -
AfterStderrAsync- Setelah menerima stderr dari anak
Integrasi DevTools
Saat mengaktifkan DevToolsPlugin, Anda dapat memeriksa lalu lintas STDIO di Chrome DevTools:
- Pesan muncul dengan
stdio://command-nameURL - Permintaan ditampilkan sebagai
STDINmetode - Respons ditampilkan sebagai
STDOUT(status 200) atauSTDERR(status 500) - Badan pesan diformat sebagai JSON jika berlaku