ikoskela avatar

Precision Desktop

ikoskela/precision-desktop

If you're building Windows desktop automation and your AI agent's clicks keep missing targets on high-DPI displays, this is the fix. Windows silently uses two coordinate systems (physical pixels vs DPI-scaled logical coordinates), and most automation tools mix them without warning. This server sits alongside tools like windows-mcp and provides calibration from reference points, bidirectional coordinate conversion between physical and logical space, and UI element finding via Windows UI Automation that returns physical coordinates ready for clicking. It also tracks calibration freshness and verifies companion MCP patch status. Essential for any Windows automation workflow running on laptops or 4K monitors where DPI scaling is above 100 percent.

tools
10
transport
STDIO
env var
1
last updated
Feb 13, 2026

Tools

10 tools

Public tool metadata for what this MCP can expose to an agent.

calibrateCompute DPI scale factors from 2+ reference points with known physical and logical coordinates

Compute DPI scale factors from 2+ reference points with known physical and logical coordinates

No parameter schema in public metadata yet.

calibrate_verifyMark calibration as verified after confirming a test click landed correctly

Mark calibration as verified after confirming a test click landed correctly

No parameter schema in public metadata yet.

get_calibrationRead current calibration state (scale factors, verification status, age)

Read current calibration state (scale factors, verification status, age)

No parameter schema in public metadata yet.

convert_coordinatesConvert a coordinate pair between physical and logical systems

Convert a coordinate pair between physical and logical systems

No parameter schema in public metadata yet.

find_ui_elementFind a single UI element by name using Windows UI Automation. Returns physical coordinates

Find a single UI element by name using Windows UI Automation. Returns physical coordinates

No parameter schema in public metadata yet.

find_all_ui_elementsFind all UI elements matching a name. Returns list with physical coordinates

Find all UI elements matching a name. Returns list with physical coordinates

No parameter schema in public metadata yet.

list_ui_elementsList all named interactive elements (buttons, text fields, etc.) in a window

List all named interactive elements (buttons, text fields, etc.) in a window

No parameter schema in public metadata yet.

find_windowFind a window handle (hwnd) by title substring

Find a window handle (hwnd) by title substring

No parameter schema in public metadata yet.

health_checkRun environment checks: calibration freshness, UI Automation, companion MCP status

Run environment checks: calibration freshness, UI Automation, companion MCP status

No parameter schema in public metadata yet.

patch_statusCheck which DPI-aware patches are applied to the companion MCP

Check which DPI-aware patches are applied to the companion MCP

No parameter schema in public metadata yet.

Sponsors

Configuration

WINDOWS_MCP_PATH

Path to windows-mcp installation directory. Auto-detected if not set.

Readme

precision-desktop

mcp-name: io.github.ikoskela/precision-desktop

A companion MCP server that fixes DPI coordinate scaling for Windows desktop automation.

Windows DPI scaling silently breaks every MCP tool that clicks, types, or hovers on the desktop. precision-desktop detects and corrects the coordinate mismatch so your AI agent's clicks actually land where they should.

The Problem

Windows has two coordinate systems and doesn't tell you which one you're using.

When Windows DPI scaling is set above 100% (which it is on most modern laptops and monitors), different Windows APIs return coordinates in different systems:

Coordinate SystemUsed ByExample: Point at 50% across a 4K display
Physical (pixels)Mouse events, SetCursorPos, UI Automation*1920, 1080
Logical (DPI-scaled)GetWindowRect, Cursor.Position, .NET, screenshots1097, 617 (at 175% scaling)

* UI Automation returns physical on DPI-aware processes, logical on others — yet another inconsistency.

The ratio between them is your DPI scale factor (e.g., 1.25x, 1.5x, 1.75x, 2.0x).


View the full README on GitHub

Details

Repository
github.com/ikoskela/precision-desktop
Category
Automation & Workflows
Package
precision-desktop
Transport
STDIO
Registry
MCP registry, active

More from ikoskela

Related Automation & Workflows MCP servers

View all
1br0ski777 avatarCrontab Generator APIbr0ski777/crontab-generator-x402Natural language to cron expression converter. x402 micropayment.0stars
2infoinlet-marketplace avatarMcp Timeinfoinlet-marketplace/marketplaceTime & date for AI agents — timezones, conversion, date math, diffs, cron, business days.0stars
3markswendsen-code avatarYelpmarkswendsen-code/mcp-yelpMCP server for Yelp - search businesses, read reviews, make reservations0stars
4pipeworx-io avatarTwiliopipeworx-io/mcp-twilioTwilio MCP Pack — send SMS, list messages, make calls via Twilio REST API.0stars
5rog0x avatarTimerog0x/mcp-time-toolsTimezone, dates, cron, timestamps for AI agents0stars
6speakai avatarSpeak AIspeakai/speakai-mcpSearch recordings, summarize meetings, create clips, and automate workflows from your AI assistant.0stars