Microsoft.UI.Reactor.Devtools 0.1.0-preview.5

Prefix Reserved
This is a prerelease version of Microsoft.UI.Reactor.Devtools.
dotnet add package Microsoft.UI.Reactor.Devtools --version 0.1.0-preview.5
                    
NuGet\Install-Package Microsoft.UI.Reactor.Devtools -Version 0.1.0-preview.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.UI.Reactor.Devtools" Version="0.1.0-preview.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Microsoft.UI.Reactor.Devtools" Version="0.1.0-preview.5" />
                    
Directory.Packages.props
<PackageReference Include="Microsoft.UI.Reactor.Devtools" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Microsoft.UI.Reactor.Devtools --version 0.1.0-preview.5
                    
#r "nuget: Microsoft.UI.Reactor.Devtools, 0.1.0-preview.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Microsoft.UI.Reactor.Devtools@0.1.0-preview.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Microsoft.UI.Reactor.Devtools&version=0.1.0-preview.5&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Microsoft.UI.Reactor.Devtools&version=0.1.0-preview.5&prerelease
                    
Install as a Cake Tool

Microsoft.UI.Reactor.Devtools

Optional developer-loop devtools host for Microsoft.UI.Reactor — live element-tree inspection, hot reload, preview, and an agent-friendly MCP surface.

About

Microsoft.UI.Reactor.Devtools adds an opt-in, developer-loop tooling surface to a Reactor app. It hosts a loopback Model Context Protocol (MCP) server that exposes reactor.* tools (inspect the element tree, capture screenshots, click, read state, fire handlers) plus the mur devtools supervisor and a rolling per-call log.

It is designed strictly for the inner development loop — not for production endpoints. See the security model below.

How to Use

Install the package into your Reactor app (typically as a Debug-only reference):

dotnet add package Microsoft.UI.Reactor.Devtools

Enable the build-time capability gate (keep it Debug-conditional so Release/AOT builds carry no devtools surface):

<ItemGroup Condition="'$(Configuration)' == 'Debug'">
  <RuntimeHostConfigurationOption Include="Reactor.DevtoolsSupport" Value="true" Trim="true" />
</ItemGroup>

Then launch the devtools supervisor for your app:

mur devtools run

To wire an agent (Claude Code, VS Code, GitHub Copilot) to the MCP surface, print a ready-to-paste config fragment:

mur devtools --print-config --mcp-port 5000

The tool prints the JSON fragment — it never writes to disk; you paste it into your agent's config yourself.

Security model

The devtools surface is developer-loop only and ships with hard gates:

  1. Opt in at build time and launch time. The Reactor.DevtoolsSupport MSBuild switch is the build-time gate; mur devtools run / mur devtools app is the session-time gate. Both must be present before the MCP server, capture server, logger, or in-app dev menu is enabled.
  2. Loopback-only binding. The MCP HttpListener binds to http://127.0.0.1:{port}/ and is never exposed on a non-loopback adapter.
  3. No authentication in v1. Any local process can connect to the MCP port. Do not run mur devtools in an environment with untrusted local processes, do not enable Reactor.DevtoolsSupport in Release builds that ship to end users, and do not expose the MCP surface beyond localhost (reverse proxy, remote-binding SSH tunnel, or 0.0.0.0 container forwarding).

Key Features

  • MCP tool surfacereactor.tree, reactor.screenshot, reactor.click, reactor.state, reactor.fire, and more.
  • mur devtools supervisor — launches and supervises the devtools session for your app.
  • Rolling call log — one line per tool call to %LOCALAPPDATA%/Reactor/devtools/{pid}.log, rolling at 10 MB with five archives kept.
  • ETW trace correlation — emits a Microsoft-UI-Reactor EventSource for correlated Reactor + WinUI timelines (see INTERNALS.md).
  • Agent config generationmur devtools --print-config emits MCP config fragments for popular agents.

Best Practices

  • Reference it Debug-only. Wrap the PackageReference and the Reactor.DevtoolsSupport switch in a '$(Configuration)' == 'Debug' condition so Release and AOT builds carry no devtools surface at all.
  • Never ship devtools to end users. The MCP port has no authentication in v1; treat it as a local development tool only.
  • Keep it on loopback. Don't expose the MCP port through a reverse proxy, remote-binding tunnel, or 0.0.0.0 container forwarding.
  • Run only with trusted local processes. Any process on the same machine can call the MCP tools while the session is active.

Additional Documentation

Feedback & Contributing

Microsoft.UI.Reactor.Devtools is part of the open-source Reactor project. File issues, ask questions, and contribute on GitHub. See CONTRIBUTING.md to get started.

Support Policy

This package is currently released as a preview and is provided under the MIT License. APIs may change between preview releases.

Product Compatible and additional computed target framework versions.
.NET net10.0-windows10.0.22621 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.5 39 6/12/2026
0.1.0-preview.4 110 6/11/2026
0.1.0-preview.3 51 6/10/2026