Skip to main content
Glama
netcoredbg-mcp

netcoredbg-mcp

by thebtf

ui_take_screenshot

Read-onlyIdempotent

Capture the debugged application's window for AI vision inspection, returning inline WebP with metadata and an HD file path; optionally persist raw PNG evidence.

Instructions

Take a screenshot of the debugged application's window.

Returns inline ImageContent (WebP at max_width resolution) directly to your vision pipeline, plus TextContent with metadata and HD file path.

Set evidence to retain a raw PNG for the active debug session. A probable-black PrintWindow raster may make one independently verified BitBlt attempt through the FlaUI bridge. Its explicit typed_bitblt_fallback evidence grade is a distinct capture authority; strict physical assertions separately validate the caller-supplied target. Crop coordinates require evidence mode and are applied to the accepted raw PNG.

Args: max_width: Maximum image width. Default 1280; max useful is 1568. format: Image format: "webp" (smallest), "jpeg", "png" evidence: Persist the raw PNG as session-scoped evidence. crop_x: Raw-image crop origin X; requires all crop arguments. crop_y: Raw-image crop origin Y; requires all crop arguments. crop_width: Raw-image crop width; requires all crop arguments. crop_height: Raw-image crop height; requires all crop arguments. expected_hwnd: Require this HWND and physical raster size before persisting evidence. expected_physical_width: Required raw raster width in physical pixels with expected_hwnd. expected_physical_height: Required raw raster height in physical pixels with expected_hwnd.

Input Schema

NameRequiredDescriptionDefault
crop_xNo
crop_yNo
formatNowebp
evidenceNo
max_widthNo
crop_widthNo
crop_heightNo
expected_hwndNo
expected_physical_widthNo
expected_physical_heightNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.23.8
    • addedInput schema / properties / expected_hwnd
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Expected Hwnd"
      +}
    • addedInput schema / properties / expected_physical_height
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Expected Physical Height"
      +}
    • addedInput schema / properties / expected_physical_width
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Expected Physical Width"
      +}
  2. Changed5 schema fields changedv0.23.6
    • addedInput schema / properties / crop_height
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Crop Height"
      +}
    • addedInput schema / properties / crop_width
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Crop Width"
      +}
    • addedInput schema / properties / crop_x
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Crop X"
      +}
    • addedInput schema / properties / crop_y
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Crop Y"
      +}
    • addedInput schema / properties / evidence
      Added value: +{
      +  "default": false,
      +  "title": "Evidence",
      +  "type": "boolean"
      +}
  3. First observedv0.17.2

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover read-only/idempotent/local; the description adds substantial behavior: dual return channels (vision-pipeline image + text metadata), the PrintWindow-to-BitBlt fallback via the FlaUI bridge with its distinct typed_bitblt_fallback evidence grade, hwnd/physical-size validation before persisting, and the evidence-mode gating of crops. None of this is derivable from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The Args block is clean and front-loading is good (purpose first), but the middle paragraph is dense, jargon-heavy prose ('distinct capture authority', 'physical assertions separately validate the caller-supplied target') that is hard to parse. Size is defensible for 10 parameters, but the wording does not earn every sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with no output schema and zero schema coverage, the description reasonably covers inputs, return channels, and evidence/crop/hwnd constraints. It leaves the annotated-screenshot alternative and exact failure conditions unaddressed, which is a modest gap rather than a blocking one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage the description must carry all 10 parameters, and it largely does, documenting purpose, defaults, and coupling constraints ('requires all crop arguments', 'required raw raster width with expected_hwnd'). One flaw: it claims max_width 'Default 1280' while the schema default is 1568, a subtle inconsistency that undercuts the parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: taking a screenshot of the debugged application's window, plus what it returns (inline WebP ImageContent and TextContent metadata). However, it never distinguishes itself from the sibling ui_take_annotated_screenshot, so the agent must infer which capture tool to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives conditional guidance for parameters ('crop coordinates require evidence mode', 'expected_hwnd requires physical size'), which is useful. But there is no when-to-use / when-not-to-use guidance relative to the many sibling capture and UI-inspection tools, so tool selection is left implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools