ID

infragistics-developer-tools/wpf-mcp

Developer tools
20 stars 0 forks Quality 62 Trend 31

MCP server for Infragistics NetAdvantage for WPF - component registry, XAML namespace lookup, and full API reference (properties, types, enum values).

Overview

MCP server for — component registry, XAML namespace lookup, full API reference with property types and enum values, keyword search across 6,900+ types, and named-theme setup with palette re-coloring. Distributed as a NuGet dotnet tool, Infragistics.Wpf.Mcp — currently in (0.1.0-beta.0). From the first stable release it will also be listed in the MCP Registry as io.github.Infragistics-Developer-Tools/wpf-mcp. All tools are read-only (readOnlyHint: true, openWorldHint: false) — none of them modify your project, filesystem, or any external system. Requires the or newer (Windows, macOS or Linux) — dotnet tool install and dnx are SDK commands, so the .NET 10 runtime alone is not enough. All Infragistics data ships inside the package and nothing is downloaded at runtime. the package is a prerelease, so every command below needs --prerelease or an exact @0.1.0-beta.0 version — without one, NuGet reports the package as "not found". Update with dotnet tool update -g Infragistics.Wpf.

README

wpf-mcp

MCP server for Infragistics Ultimate UI for WPF — component registry, XAML namespace lookup, full API reference with property types and enum values, keyword search across 6,900+ types, and named-theme setup with palette re-coloring.

Distributed as a NuGet dotnet tool, Infragistics.Wpf.Mcp — currently in beta (0.1.0-beta.0). From the first stable release it will also be listed in the MCP Registry as io.github.Infragistics-Developer-Tools/wpf-mcp.

Tools

All tools are read-only (readOnlyHint: true, openWorldHint: false) — none of them modify your project, filesystem, or any external system.

Tool Description
list_wpf_components List all 191 Xam* controls with canonical XAML namespace URIs, NuGet packages, and descriptions. Always call this first before writing XAML.
get_wpf_project_scaffold Generate ready-to-run dotnet new + dotnet add package + dotnet restore commands and xmlns declarations for a new WPF project. Pass component names resolved via list_wpf_components.
search_wpf_api Search across all 6,900+ types by keyword — matches type names, summaries, and member names. Use when you don’t know the exact type name.
get_wpf_api_reference Full API reference for any type: properties with types and enum values, events, methods, and inherited members grouped by base class. Large types are compacted to stay under ~25K characters (events and methods first, then inherited members, are listed by name only); the optional member filter (case-insensitive name substring, e.g. "YAxis") returns full details for just the members you need.
setup_wpf_theme List available named themes and the raw XAML files backing them, covering both theming mechanisms (legacy embedded-BAML Theme="..." and newer ThemeManager). Returns ready-to-paste apply steps. Call first for any theming task.
get_wpf_theme_resource Retrieve the full raw XAML of one theme/style resource-dictionary file (real Style/ControlTemplate/brush definitions) to copy and override. Use the exact path from setup_wpf_theme.
get_wpf_theme_palette Return a newer-family (ThemeManager) theme’s centralized color/brush palette — exact resource keys, values, and a ready-to-merge override skeleton — for re-coloring a theme without creating a new one.
search_wpf_docs Search 2,600+ how-to documentation topics by keyword and/or control name — layouts, styling, data binding, filtering/sorting/grouping, exporting, performance, known issues, etc.
get_wpf_doc Full text (including XAML samples) of one documentation topic by slug. Use the slug from a search_wpf_docs result.

Installation

Requires the .NET 10 SDK or newer (Windows, macOS or Linux) — dotnet tool install and dnx are SDK commands, so the .NET 10 runtime alone is not enough. All Infragistics data ships inside the package and nothing is downloaded at runtime.

Beta: the package is a prerelease, so every command below needs --prerelease or an exact @0.1.0-beta.0 version — without one, NuGet reports the package as “not found”.

Option A: global install (gives you a wpf-mcp command on PATH)

dotnet tool install -g Infragistics.Wpf.Mcp --prerelease

Update with dotnet tool update -g Infragistics.Wpf.Mcp --prerelease, remove with dotnet tool uninstall -g Infragistics.Wpf.Mcp.

Option B: run on demand with dnx (downloads and caches the package on first use, nothing to install or update by hand)

dnx [email protected] --yes
# or always the newest prerelease:
dnx Infragistics.Wpf.Mcp --prerelease --yes

Check that it starts. Run wpf-mcp (or the dnx command above) in a terminal. It prints a line like this to stderr and then waits for an MCP client on stdin:

Infragistics WPF MCP server 0.1.0-beta.0 ready (data: Infragistics 26.1.21, built )

Press Ctrl+C to stop it. To try the tools without an AI client, open it in the MCP Inspector: npx @modelcontextprotocol/inspector wpf-mcp.

MCP client configuration

Visual Studio — add .mcp.json next to your solution (or %USERPROFILE%\.mcp.json for all solutions):

{
  "servers": {
    "infragistics-wpf": {
      "type": "stdio",
      "command": "wpf-mcp"
    }
  }
}

VS Code (Copilot) — add to .vscode/mcp.json:

{
  "servers": {
    "infragistics-wpf": {
      "type": "stdio",
      "command": "wpf-mcp"
    }
  }
}

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "infragistics-wpf": {
      "command": "wpf-mcp"
    }
  }
}

Claude Code — from a terminal:

claude mcp add infragistics-wpf -- wpf-mcp

To use dnx instead of a global install, set "command": "dnx" and "args": ["[email protected]", "--yes"] (Claude Code: claude mcp add infragistics-wpf -- dnx [email protected] --yes). Add "--debug" to args for any client to log every tool call/response to wpf-mcp.log in your system temp folder (override with the WPF_MCP_LOG environment variable) — see Troubleshooting.

To run from a source checkout instead, build it first (see DEVELOPMENT.md) and point command/args at dotnet and path/to/wpf-mcp/server/bin/Debug/net10.0/wpf-mcp.dll.

Troubleshooting

  • infragistics.wpf.mcp is not found in NuGet feeds — the command is missing --prerelease (or an exact @0.1.0-beta.0 version); see Installation.
  • Settings file 'DotnetToolSettings.xml' was not found in the package — the active .NET SDK is older than 10 (check dotnet --version; a global.json in the current folder can pin an older one). Install the .NET 10 SDK.
  • Which Infragistics version is the data from? The server prints it to stderr on startup: Infragistics WPF MCP server 0.1.0-beta.0 ready (data: Infragistics 26.1.21, built ). Every release regenerates the data from the version pinned in nuget/WpfDocs.csproj.
  • Run the server with --debug (add it to your MCP client config’s args, see above) to log every tool call’s input/output/timing to wpf-mcp.log in your system temp folder — useful for reproducing an agent’s exact tool-calling sequence after the fact. The exact path is printed to stderr on startup, and can be overridden with the WPF_MCP_LOG environment variable.
  • wpf-mcp is not found after dotnet tool install -g — the global tools folder (%USERPROFILE%\.dotnet\tools on Windows, ~/.dotnet/tools elsewhere) is not on the PATH of the process that launches the client. Restart the client, or use the full path as command.
  • A tool call succeeded but the answer looks wrong or a control seems missing — this is usually stale/outdated data from Infragistics’ own NuGet package (summaries, base types) rather than a bug in this server. Cross-check against the pinned version above before assuming the MCP itself is at fault.
  • A tool returns “no topics found” / “no themes found” for everything on a source build — the data pipeline didn’t complete. Re-run npm run build:all and read the output; it either reports real counts or aborts with a 🚨 banner saying exactly what’s missing. Published packages are validated against these counts before release, so this can’t happen with a NuGet install.

Contributing

Build pipeline, data updates, adding tools, versioning and the publish process are documented in DEVELOPMENT.md. The published C# server lives in server/. A TypeScript implementation in src/ reads the same generated data; it is frozen and not published, and newer behavior (such as the get_wpf_api_reference size guard) exists only in the C# server.

License

MIT

View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →

Configuration

{ "mcpServers": { "infragistics-wpf": { "command": "wpf-mcp" } } }