AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

ReactiveUIMcp Server

mcp-chrispulman-reactiveuimcp-server · by ChrisPulman

ReactiveUI ecosystem guidance MCP server for AI-assisted code generation, review, and package/platform recommendations.

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add mcp-chrispulman-reactiveuimcp-server

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-chrispulman-reactiveuimcp-server)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of ReactiveUIMcp Server? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

ReactiveUI MCP Server

Give your coding agent current, opinionated ReactiveUI ecosystem guidance while it designs, generates, reviews, or migrates .NET applications and libraries.

The server runs locally over MCP stdio. It gives tools such as Codex, Claude Code, GitHub Copilot, VS Code, Visual Studio, and other MCP clients a searchable inventory of ReactiveUI repositories, packages, APIs, configuration choices, source generators, compatibility constraints, and migration paths.

[](https://vscode.dev/redirect/mcp/install?name=reactiveui-mcp-server&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22dnx%22%2C%22args%22%3A%5B%22CP.ReactiveUI.Mcp.Server%400.%22%2C%22--yes%22%5D%7D) [](https://insiders.vscode.dev/redirect/mcp/install?name=reactiveui-mcp-server&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22dnx%22%2C%22args%22%3A%5B%22CP.ReactiveUI.Mcp.Server%400.%22%2C%22--yes%22%5D%7D&quality=insiders) [](https://vs-open.link/mcp-install?%7B%22name%22%3A%22CP.ReactiveUI.Mcp.Server%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22dnx%22%2C%22args%22%3A%5B%22CP.ReactiveUI.Mcp.Server%400.*%22%2C%22--yes%22%5D%7D)

What it does

ReactiveUI MCP helps an agent answer practical questions such as:

  • Which ReactiveUI and companion packages should this application or library reference?
  • Which source generator should replace handwritten properties, commands, bindings, or DI registration?
  • How should ReactiveUI be initialized for WPF, WinForms, WinUI, MAUI, Blazor, Avalonia, or Uno?
  • Which Splat resolver, DI adapter, logging adapter, drawing package, or monitoring integration fits this project?
  • How should a project migrate from System.Reactive to ReactiveUI.Primitives?
  • When is a .Reactive compatibility package actually required?
  • How should a legacy Fody or older ReactiveUI project be modernized?
  • Does a proposed architecture follow current activation, disposal, binding, validation, routing, caching, networking, and testing guidance?
  • What would a new multi-platform ReactiveUI solution look like, and can the starter files be generated?

The server provides structured answers rather than relying on whichever library details happen to be present in the model's training data.

Guidance defaults

The MCP server deliberately applies these defaults:

  1. Prefer ReactiveUI.SourceGenerators for supported reactive properties, observable-as-property helpers, commands, view models, and views.
  2. Prefer the generators included with ReactiveUI.Binding for supported static observation and binding paths.
  3. Prefer Splat.DependencyInjection.SourceGenerator for statically analyzable service graphs. Use manual registration for dynamic discovery, plugins, unsupported open generics, or intentional container-specific behavior.
  4. Prefer Refit's generated clients over its opt-in reflection fallback.
  5. Prefer ReactiveUI.Primitives over System.Reactive for new code.
  6. Use ReactiveUI.Primitives.Reactive and matching .Reactive platform packages only when full System.Reactive compatibility is required at an API or package boundary.

These are recommendations, not hidden rewrites. The tools return the packages, trade-offs, risks, and migration actions so the calling agent can explain its choices.

Quick start

Install the .NET 10 SDK or later, then register this local stdio command in your MCP client:

Command: dnx
Arguments: CP.ReactiveUI.Mcp.Server@0.* --yes

The client launches and manages the process. You do not need to start the server in a separate terminal.

Codex

Add the server from a terminal:

codex mcp add reactiveui -- dnx CP.ReactiveUI.Mcp.Server@0.* --yes

Confirm that Codex can see it:

codex mcp list

You can instead add it to ~/.codex/config.toml, or to .codex/config.toml in a trusted project:

[mcp_servers.reactiveui]
command = "dnx"
args = ["CP.ReactiveUI.Mcp.Server@0.*", "--yes"]

The Codex CLI, Codex IDE extension, and ChatGPT desktop app share this MCP configuration. See the official Codex MCP documentation.

Claude Code

Register the server for your user account:

claude mcp add --scope user --transport stdio reactiveui -- dnx CP.ReactiveUI.Mcp.Server@0.* --yes

Verify the connection with:

claude mcp list
claude mcp get reactiveui

For a configuration shared with a project, add .mcp.json:

{
  "mcpServers": {
    "reactiveui": {
      "command": "dnx",
      "args": ["CP.ReactiveUI.Mcp.Server@0.*", "--yes"]
    }
  }
}

Run Claude Code in the project, approve the project server when prompted, and use /mcp to inspect its status. See the official Claude Code MCP documentation.

GitHub Copilot in VS Code

Use one of the install buttons above, run MCP: Add Server from the command palette, or create .vscode/mcp.json:

{
  "servers": {
    "reactiveui": {
      "type": "stdio",
      "command": "dnx",
      "args": ["CP.ReactiveUI.Mcp.Server@0.*", "--yes"]
    }
  }
}

After saving the file:

  1. Run MCP: List Servers and start reactiveui if it is not already running.
  2. Open Copilot Chat and select Agent mode.
  3. Open the tools picker and confirm that the ReactiveUI tools are enabled.

Organization-managed Copilot accounts may require the MCP servers in Copilot policy to be enabled. See the GitHub Copilot MCP documentation.

GitHub Copilot in Visual Studio

In a supported Visual Studio version:

  1. Open GitHub Copilot Chat and select Agent mode.
  2. Open the tools picker, select +, and choose Add custom MCP server.
  3. Select stdio.
  4. Set the command to dnx.
  5. Set the arguments to CP.ReactiveUI.Mcp.Server@0.* --yes.
  6. Save, start the server, and enable its tools.

See Microsoft's Visual Studio MCP server guide for supported versions, trust prompts, and configuration locations.

Other MCP clients

For any client that supports local stdio servers, register these values using that client's configuration format:

| Setting | Value | | --- | --- | | Name | reactiveui | | Transport | stdio | | Command | dnx | | Arguments | CP.ReactiveUI.Mcp.Server@0.*, --yes |

Configuration property names vary between MCP clients. Some use servers; others use mcpServers. Use the schema documented by your client rather than copying a different client's wrapper object.

Bundled agent skill

The NuGet package includes a portable Agent Skill at skills/reactiveui-mcp/SKILL.md. It teaches Codex, Claude Code, and other skill-aware agents how to select the right MCP operation, preserve source-backed guidance, and run the solution generator safely.

Codex-specific discovery metadata is included separately at skills/reactiveui-mcp/agents/openai.yaml; clients that do not use that metadata can ignore it. Both files are packaged at the NuGet archive root and inside the .NET tool payload. When installing the skill manually, copy the complete skills/reactiveui-mcp directory to the skill directory supported by the agent so its layout remains intact. The MCP server must also be registered and available to the agent.

Running from source

Clone this repository and replace the packaged command with:

Command: dotnet
Arguments: run --project /src/ReactiveUIMcp.Server/CP.ReactiveUIMcp.Server.csproj

For example, a generic stdio server entry would use:

{
  "command": "dotnet",
  "args": [
    "run",
    "--project",
    "C:/Projects/ReactiveUIMcp.Server/src/ReactiveUIMcp.Server/CP.ReactiveUIMcp.Server.csproj"
  ]
}

Build and test the repository with:

dotnet build src/ReactiveUIMcpServer.slnx -c Release
dotnet test src/ReactiveUIMcp.Tests/ReactiveUIMcp.Tests.csproj -c Release

How to use it

Once the server is connected, ask your agent to use the ReactiveUI MCP tools explicitly or let the agent select them when relevant.

Example requests:

Use the ReactiveUI MCP server to recommend packages and startup patterns for a new Avalonia desktop application with validation, Refit, and Akavache.
Create a migration plan from System.Reactive to ReactiveUI.Primitives for this WPF library. Preserve System.Reactive only if its public API requires full compatibility.
Show me the complete Splat package inventory, explain the Global and Instance GenericFirst resolver trade-off, and prefer generated DI registrations where possible.
Review this ReactiveUI implementation plan for activation, disposal, binding, scheduler, service-location, and testing problems.
Create a ReactiveUI solution plan with WPF and MAUI endpoints, shared view models, generated bindings, Splat DI, Refit, Akavache, validation, and TUnit tests.

Available tools

| Tool | Use it for | | --- | --- | | reactiveui_catalog_list | List known platforms and ecosystem areas. | | reactiveui_catalog_search | Search packages, APIs, patterns, platforms, or keywords. | | reactiveui_catalog_get | Retrieve one complete catalog manifest by stable ID. | | reactiveui_repository_inventory_list | List the 15 current source repositories and their complete inventories. | | reactiveui_repository_inventory_get | Retrieve features, functions, options, packages, compatibility, and migration guidance for one repository. | | reactiveui_recommend | Recommend packages and implementation patterns for a platform and feature set. | | reactiveui_review_plan | Review proposed or generated guidance for ReactiveUI-specific problems. | | reactiveui_compare | Compare two ecosystem areas or implementation choices. | | reactiveui_scaffold_prompt | Produce a detailed implementation prompt for another coding agent. | | reactiveui_project_blueprint | Design a new application, library, or test-project structure. | | reactiveui_migration_plan | Plan Fody, legacy ReactiveUI, testing, or System.Reactive-to-Primitives migration. | | reactiveui_create_solution | Run a multi-step solution wizard and optionally generate starter files on disk. |

The server also exposes reusable prompts for application scaffolding, TUnit test-project creation, and legacy migration.

Available resources

| Resource | Contents | | --- | --- | | reactiveui://catalog | Complete ecosystem catalog. | | reactiveui://ecosystem/{id} | One catalog manifest by stable ID. | | reactiveui://source-repositories | Current source repositories and complete inventories. | | reactiveui://best-practices/project-generation | Focused project-generation and modernization guidance. |

Repository coverage

The current source-repository inventory contains:

  • Akavache
  • Fusillade
  • Maui.Plugins.Popup
  • Primitives
  • punchclock
  • ReactiveUI
  • ReactiveUI.Avalonia
  • ReactiveUI.Binding.SourceGenerators
  • ReactiveUI.SourceGenerators
  • ReactiveUI.Uno
  • ReactiveUI.Validation
  • refit
  • Sextant
  • Splat
  • Splat.DI.SourceGenerator

Each record includes supported application and library types, features, callable APIs, configuration options, package selection, source-generator guidance, compatibility notes, and migration guidance.

The broader catalog also covers platform packages, DynamicData, ReactiveUI.Testing, and legacy migration topics that are useful when generating or modernizing applications.

Splat package coverage

Splat is represented as a full package family rather than only the base Splat package:

| Area | Packages | | --- | --- | | Core and composition | Splat, Splat.Core, Splat.Builder, Splat.Logging | | Drawing and images | Splat.Drawing, Splat.SkiaSharp | | DI adapters | Splat.Autofac, Splat.DryIoc, Splat.Microsoft.Extensions.DependencyInjection, Splat.Ninject, Splat.Prism, Splat.SimpleInjector | | Logging adapters | Splat.Log4Net, Splat.Microsoft.Extensions.Logging, Splat.NLog, Splat.Serilog | | Monitoring adapters | Splat.ApplicationInsights, Splat.ApplicationInsightsV3, Splat.Exceptionless, Splat.Raygun | | Generated DI companion | Splat.DependencyInjection.SourceGenerator |

The generated DI companion is maintained in the separate Splat.DI.SourceGenerator repository. The MCP server recommends it first for static graphs while retaining runtime Splat registration for genuinely dynamic cases.

Troubleshooting

The server does not appear

  • Confirm that dnx is available from the same environment that launches your agent.
  • Run the client's MCP list or status command.
  • Check that the package ID is exactly CP.ReactiveUI.Mcp.Server.
  • Check that the argument list keeps CP.ReactiveUI.Mcp.Server@0.* and --yes as separate arguments.
  • Restart or reload the client after changing its configuration.

The server starts and immediately fails

  • Update the .NET SDK.
  • Try the exact packaged command from a terminal to expose package-resolution errors.
  • If running from source, use an absolute project path and confirm that it points to CP.ReactiveUIMcp.Server.csproj.

Copilot cannot use MCP tools

Check whether an organization or enterprise policy disables MCP servers, then confirm the tools are enabled in Agent mode.

An agent gives generic ReactiveUI advice without using the server

Ask it directly: Use the ReactiveUI MCP server to .... You can also name a specific tool, such as reactiveui_recommend, reactiveui_repository_inventory_get, or reactiveui_migration_plan.

Package and server identity

  • MCP server: io.github.chrispulman/reactiveui-mcp-server
  • NuGet package: CP.ReactiveUI.Mcp.Server
  • Transport: local stdio
  • License: MIT

See [.mcp/server.json](.mcp/server.json) for registry metadata.

License

This project is licensed under the [MIT License](LICENSE).

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.