Skip to main content
Glama
Switch 2 Emulator Diagnostics MCP Server

Switch 2 Emulator Diagnostics MCP Server

by JayceeB1

emulator_capture_screenshot

Captures emulator viewport screenshots so multimodal AI can visually inspect live gameplay and diagnose rendering issues.

Instructions

Capture screenshot of the emulator viewport for multimodal AI visual inspection.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "emulator_capture_screenshot"
  }
}

Input Schema

NameRequiredDescriptionDefault
save_nameNoFilename ending in .png.emulator_frame.png
emulator_dirNoOptional path to emulator base directory.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.0

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full disclosure burden, yet it says nothing about side effects: the default save_name implies a file is written (possibly overwriting an existing emulator_frame.png), but the description never states where the image lands, whether the image is returned inline to the agent or only persisted to disk, or whether capture requires a live emulator session. These are exactly the behavioral facts an agent needs before calling a capture tool.

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

Conciseness4/5

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

A single front-loaded sentence with no filler and the resource named immediately. It is efficient, though it is arguably too terse for a tool whose output model is undocumented, so it is not a model of well-structured completeness.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and a file-writing side effect, the definition leaves the most important question unanswered: does the caller receive the screenshot image itself or just a path? Two zero-required parameters keep the call simple, but the return contract and overwrite behavior are missing.

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

Parameters3/5

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

Schema description coverage is 100%, with both save_name ("Filename ending in .png", with default) and emulator_dir ("Optional path to emulator base directory") documented in the schema. The description adds no parameter meaning beyond that, so the baseline 3 applies; it would earn more only by explaining how save_name interacts with emulator_dir path resolution.

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 and resource ("Capture screenshot of the emulator viewport") plus a rationale ("for multimodal AI visual inspection"), which distinguishes it clearly from the read-only diagnostics siblings like emulator_get_status or emulator_get_performance. It does not explicitly name a sibling it supersedes, so it stops short of a 5.

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?

The phrase "for multimodal AI visual inspection" implies the use case (call it when you need to see the rendered frame rather than log/stats data), which is enough to pick it over the metric-oriented siblings. However, there is no explicit when/when-not guidance, no mention of how it relates to emulator_get_rendering_defects, and no prerequisites such as needing a running emulator.

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