fenestra-mcp
fenestra-mcp
A Model Context Protocol server that lets an
AI assistant render and verify native UIs described as
fenestra fenestra/1 JSON.
Install
cargo install fenestra-mcpThe server speaks MCP over stdio — point your MCP client at the fenestra-mcp
binary.
Related MCP server: precision-desktop
Tools
describe_vocabulary— the description grammar: every node type with a minimal example, and the theme color roles a color may name. Call this first.describe_schema— the formal JSON Schema for afenestra/1description, the machine-checkable complement todescribe_vocabulary.render_ui— render to a typed access tree, a downscaled preview image, and automatic accessibility warnings.query_ui— find nodes by a semantic selector (role, name, value, or id); a miss returns the nearest candidates to guide a retry.interact— drive scripted interactions (click, type, key, tab, hover, wheel, drag) by semantic selector, never coordinates.check_a11y— theme contrast, labeling of every interactive control, and per-text-node APCA + WCAG 2 legibility.focus_order— the keyboard focus order: the refs a Tab cycle visits, in order, honoring a modal focus trap.check_layout— layout geometry from the real frame: interactive targets below the minimum hit size, and signal-bearing nodes clipped off-screen.match_aria_snapshot— assert an expected accessibility snapshot (partial / strict / regex).match_screenshot— compare against a baseline PNG, pixel by pixel, with an optional tolerance, differing-pixel budget, and mask rectangles to ignore.validate— validate a description without rendering; problems come back path-pointed.run_scenario— drive a description + optional steps through a whole bundle of expectations (emitted intents, a11y, aria, screenshot, queries) in one pass, asserted against the post-interaction frame.film_ui— drive optional steps (applied first, so a click can trigger the transition to watch), then capture frames with real motion on and compose them into one captioned filmstrip. The one tool that turns reduced motion off — every other tool stays reduced-motion for deterministic pixels.
Each tool leads with a typed structured result — query_ui, check_a11y,
focus_order, check_layout, match_aria_snapshot, and describe_vocabulary
carry a formal outputSchema so a client knows the result shape up front. The
visual tools also attach a downscaled preview image and a resource_link to
the full-resolution PNG (a file:// temp path), so a large image never
bloats the response yet stays one fetch away.
Registry
MCP Registry name:
mcp-name: io.github.richer-richard/fenestra-mcp
License
Licensed under either of MIT or Apache-2.0 at your option.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityFmaintenanceAn experimental MCP server providing full control over the macOS user interface through mouse, keyboard, and window management tools. It enables AI assistants to automate desktop tasks by utilizing native accessibility APIs and OCR for real-time screen comprehension.Last updated7Creative Commons Zero v1.0 Universal
- Alicense-qualityDmaintenanceMCP server that fixes Windows DPI coordinate scaling for AI desktop automation. Provides UI element finding via Windows Accessibility APIs and coordinate conversion between physical and logical coordinate systems.Last updatedMIT
- Alicense-qualityBmaintenanceAn MCP server that gives any AI assistant eyes and hands on your desktop — screenshots, clicking, typing, OCR, window management, accessibility-tree queries, workflow recording.Last updated5Apache 2.0
- FlicenseAqualityBmaintenanceA Windows-only MCP server for controlling a real browser using native screenshots, Windows accessibility, and node-interception mouse/keyboard input, without CDP or Playwright.Last updated4
Related MCP Connectors
MCP (Model Context Protocol) server for Appwrite
Read-only MCP server for the WebAssembly spec: instructions, types, sections, search, proposals.
Persistent project context — Rust-native MCP server. IANA-registered .faf format.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/richer-richard/fenestra'
If you have feedback or need assistance with the MCP directory API, please join our Discord server