WPF DevTools MCP Server
Search Results for

    架構總覽

    本專案使用四層式設計:

    AI Client
      -> MCP over STDIO
    MCP Server
      -> named pipes
    Native bootstrapper + managed inspector
      -> WPF Dispatcher and in-process APIs
    Target WPF application
    

    資料流

    MCP 端透過官方 C# SDK 使用 STDIO。connect() 附加或重用 target-side host 之後,Inspector 會透過 Named Pipes 與 MCP Server 通訊,並使用帶有 4-byte little-endian length prefix 的自訂 length-prefixed JSON request/response messages。

    為什麼需要這種架構

    像是 binding introspection、dependency property precedence、template-aware tree analysis 這類 WPF 檢查能力,都必須在行程內執行。這也是為什麼設計上刻意採用 injected inspector,而不是只依賴 out-of-process UI automation。

    當你擁有 target application 時,prefer SDK-hosted reuse。raw injection remains the fallback path for zero-instrumentation diagnostics,以及無法修改的 target。

    主要元件

    • WpfDevTools.Mcp.Server/:STDIO transport、工具路由、session 管理、回應整形
    • WpfDevTools.Injector/:目標行程驗證、runtime 選擇、bootstrap orchestration
    • WpfDevTools.Bootstrapper/:切進正確 managed runtime 的 native bridge
    • WpfDevTools.Inspector/:在目標行程內執行 WPF 分析與互動邏輯
    • WpfDevTools.Inspector.Sdk/:由擁有 target app source code 的使用者主動啟用的 SDK-hosted Inspector 入口
    • WpfDevTools.Shared/:IPC 契約、enum、共用 helper 與安全型別

    設計目標

    • 維持 AI-Friendly 的 MCP 契約。
    • 保持低延遲的本機通訊。
    • 盡量降低「看似已連線、其實尚未 ready」的假成功狀態。
    • 讓 runtime 與架構選擇顯式可見。
    • 讓正式發佈的 injection path 預設即為 hardened,而 SDK-host reuse 需要明確協調 transport 設定。
    • Edit this page
    In this article
    Back to top WPF DevTools MCP Server documentation for users, operators, and contributors.