Wpf Visual Tree MCP Server

An AI agent queries controls by visible text, fills the form, selects a list item, clicks Submit - then explains why the Status box stayed empty by pulling the app's binding errors. Every step is one MCP tool call (or CLI command). Its 28 documented tools cover wpf, element, binding, property.

People who need developer tools tools inside Claude, Cursor, VS Code, or another MCP client. The project is written in C#.

VERIFIED ACTIVE

LAST COMMIT 2026-07-23 · ★ 12 · #136 OF 139 MAINTAINED DEVELOPER TOOLS · VERIFIED 2026-08-25

MIT · C# · how we verify → /methodology

01 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

license MIT - declared in the repository

registry namespace io.github.faze79 is GitHub-verified and matches the repo owner

02 · What Wpf Visual Tree can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can list all running WPF applications, get the visual tree hierarchy (default depth: 25, max: 100), get all dependency properties of an element, and query elements by type, x:Name, visible text, property values and visibility.

The 28 tools it gives your agent

Extracted from the project's README - what wpf-visual-tree lets an agent do.

wpf_list_processes
- List all running WPF applications
wpf_attach
- Attach to a WPF application (supports auto_inject for DLL injection)
wpf_get_visual_tree
- Get the visual tree hierarchy (default depth: 25, max: 100)
wpf_get_element_properties
- Get all dependency properties of an element
wpf_find_elements
- Query elements by type, x:Name, visible text, property values and visibility; results include text, automation id, enabled/visible state and screen bounds
wpf_find_elements_deep
- Same query filters without result limit, across all windows including adorners/popups
wpf_capture_screenshot
- Capture a screenshot of the window or element (returns image); mode='screen' captures real on-screen pixels including open popups, dropdowns and context menus
wpf_get_bindings
- Get data bindings for an element (includes MultiBinding, converter, StringFormat)
wpf_get_binding_errors
- List all captured binding errors
wpf_clear_binding_errors
- Clear the captured binding errors list
wpf_get_data_context
- Get DataContext type, properties, INPC status, and inheritance chain
wpf_get_resources
- Enumerate resource dictionaries
show all 28 tools
wpf_get_styles
- Get applied styles and templates
wpf_watch_property
- Monitor a property for changes
wpf_evaluate_binding
- Explain why a property has its value - value source, and for bindings a hop-by-hop path resolution pinpointing where a broken binding fails
wpf_explain_triggers
- Evaluate Style and ControlTemplate triggers against the current state (condition, current value, active, setters) - 'why doesn't this trigger fire?'; and attrib
wpf_snapshot
- Capture an element subtree's state (layout, visibility, brushes, text) under a label
wpf_diff
- Diff two snapshots - measure exactly what a change moved (property from→to, added/removed)
wpf_set_property
- Live-edit a dependency property at runtime (type-converted), to test a change without rebuilding. State-changing, reversible.
wpf_revert_property
- Undo wpf_set_property edits (one, filtered, or all) - restores the prior binding/value/default.
wpf_highlight_element
- Visually highlight an element
wpf_click_element
- Click a control - UI Automation invoke (Invoke/Toggle/Select/ExpandCollapse) by default, physical=true for a real OS mouse click (auto-scrolls into view), click
wpf_select_item
- Select an item in a ComboBox/ListBox/ListView/TabControl by visible text or index - works with virtualized items. State-changing.
wpf_wait_for
- Wait until an element is visible/exists/enabled/hidden, polling in the target app - no sleep-and-retry loops.
wpf_set_text
- Set text/value of a TextBox/ComboBox/PasswordBox - UI Automation IValueProvider.SetValue by default, physical=true to type via OS keyboard input. State-changing
wpf_send_keys
- Send a keyboard shortcut (Ctrl+S, Alt+F4, F5, Enter, ...) to an element or the focused window. State-changing.
wpf_get_layout_info
- Get layout information
wpf_export_tree
- Export visual tree to XAML or JSON

Latest releases

v0.12.0 · 2026-07-23

[0.12.0] - 2026-07-24 · Added · wpf_explain_triggers / explain-triggers (28th tool) - evaluate an element's triggers · and attribute a value to its source. Lists the Style triggers (walking BasedOn) and the…

v0.11.0 · 2026-07-23

[0.11.0] - 2026-07-24 · Added · wpf_evaluate_binding / evaluate-binding (27th tool) - explain why a property has · its current value. Reports the value source (Local, Style, Binding, Inherited, · Default, ...), the…

v0.10.0 · 2026-07-15

[0.10.0] - 2026-07-15 · Added · wpf_snapshot / snapshot (25th tool) - capture an element subtree's curated state · (visibility, IsEnabled, Opacity, ActualWidth/Height, Margin/Padding, alignment…

03 · Who maintains Wpf Visual Tree

wpf-visual-tree is maintained by faze79. It's the only MCP server we track from this author; the repo dates to Nov 2025.

04 · Facts

category
developer tools - ranked #136 of 139 actively-maintained developer tools servers as of 2026-08-25.
release cadence
7 releases in the last 90 days (latest 2026-07-23)
registry
io.github.faze79/wpf-visual-tree (active, first published 2026-07-12 · 6 versions)
packages
nuget:WpfVisualTreeMcp

05 · Wpf Visual Tree FAQ

Is Wpf Visual Tree still maintained?

Yes - as of 2026-08-25, its last commit was 2026-07-23 and it shipped 7 releases in the last 90 days. We re-verify nightly.

What can Wpf Visual Tree do?

With this server connected, an agent can list all running WPF applications, get the visual tree hierarchy (default depth: 25, max: 100), get all dependency properties of an element, and query elements by type, x:Name, visible text, property values and visibility.

06 · Alternatives to Wpf Visual Tree

More developer tools MCP servers · Abap Adt · Gerrit Code Review · Argot · Aegis · Sentry MCP