Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yerel yürütülebilir dosyalarla proxy'ler STDIN/STDOUT/STDERR iletişimi. Bu komut özellikle Model Bağlam Protokolü (MCP) sunucularını ve diğer STDIO tabanlı uygulamaları test etme ve hata ayıklama için kullanışlıdır.
Özet
devproxy stdio [options] <command> [args...]
Description
Komut stdio bir alt işlem başlatır ve tüm STDIN/STDOUT/STDERR iletişimini proxy'ler. Bu, şunları yapmanızı sağlar:
- İstemciler (VS Code gibi) ve MCP sunucuları arasında akan iletileri inceleme
- Gerçek sunucu mantığını çalıştırmadan istemci davranışını test etmek için sahte yanıtlar
- Chrome DevTools kullanarak iletişim sorunlarını ayıklama
- Sahte yanıtlar ekleyerek veya istekleri engelleyerek hata işlemeyi test etme
- STDIO iletişiminde gecikme süresi simülasyonu
Usage
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Arguments
| İsim | Description | Gerekli |
|---|---|---|
<command> |
Yürütülecek komut | yes |
[args...] |
Komuta geçirecek bağımsız değişkenler | no |
Options
| İsim | Description | İzin verilen değerler | Varsayılan |
|---|---|---|---|
-c, --config-file <configFile> |
Yapılandırma dosyasının yolu | Yerel dosya yolu | devproxyrc.json |
--no-stdio-mocks |
STDIO sahte yanıtlarını yüklemeyi devre dışı bırakma | Yok | Yok |
--stdio-mocks-file <file> |
STDIO sahte yanıtlarını içeren dosyanın yolu | Yerel dosya yolu | - |
--log-level <loglevel> |
Günlüğe kaydedilecek ileti düzeyi |
trace, debug, information, warning, , error |
information |
-?, -h, --help |
Yardım ve kullanım bilgilerini gösterme | Yok | Yok |
Örnekler
Dev Proxy ile BIR MCP sunucusu başlatma
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Özel yapılandırma dosyası belirtme
devproxy stdio --config-file ./my-config.json npx my-server
Özel bir sahte dosya belirtme
devproxy stdio --stdio-mocks-file ./my-mocks.json npx my-server
Stdio sahtelerini devre dışı bırakma
devproxy stdio --no-stdio-mocks npx my-server
Yapılandırma örneği
Komutunu eklentilerle kullanmak stdio için bir yapılandırma dosyası oluşturun:
Dosya: 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"
}
}
Desteklenen eklentiler
Aşağıdaki eklentiler STDIO kesme işlemini destekler:
| Eklenti | Description |
|---|---|
| MockStdioResponsePlugin | Sahte STDIN/STDOUT/STDERR yanıtları |
| DevToolsPlugin | Chrome DevTools'ta STDIO trafiğini inceleme |
| Gecikme Süresi Eklentisi | STDIO iletişimine yapay gecikme süresi ekleme |
Architecture
Dev Proxy komutu kullanılırken stdio üst işlem (VS Code gibi) ile alt işlem (mcp sunucusu gibi) arasında aracı görevi görür:
┌─────────────────┐ STDIN ┌──────────────────┐ STDIN ┌─────────────────┐
│ Parent Process │ ─────────────▶ │ Dev Proxy │ ─────────────▶ │ Child Process │
│ (VS Code) │ │ │ │ (MCP Server) │
│ │ ◀───────────── │ ┌────────────┐ │ ◀───────────── │ │
└─────────────────┘ STDOUT │ │ Plugins │ │ STDOUT └─────────────────┘
│ └────────────┘ │
└──────────────────┘
Eklentiler sırayla çağrılır:
-
BeforeStdinAsync- Stdin'i alt öğeye iletmeden önce -
AfterStdoutAsync- Alt öğeden stdout aldıktan sonra -
AfterStderrAsync- Çocuktan stderr aldıktan sonra
DevTools tümleştirmesi
DevToolsPlugin'i etkinleştirdiğinizde, Chrome DevTools'ta STDIO trafiğini inceleyebilirsiniz:
- İletiler URL'lerle
stdio://command-namegörüntülenir - İstekler yöntem olarak
STDINgöster - Yanıtlar (200 durum) veya
STDERR(500 durum) olarakSTDOUTgösterilir - İleti gövdeleri uygun olduğunda JSON olarak biçimlendirilir