Skip to main content
Glama
Switch 2 Emulator Diagnostics MCP Server

Switch 2 Emulator Diagnostics MCP Server

by JayceeB1

emulator_diagnose_game

Diagnose Switch 2 emulator performance bottlenecks—CPU-bound, GPU compute, and shader stalls—and identify causes using an optional emulator directory path.

Instructions

Perform comprehensive automated diagnosis of bottlenecks (CPU bound, GPU compute, Shader stall).

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_diagnose_game"
  }
}

Input Schema

NameRequiredDescriptionDefault
emulator_dirNoOptional path to emulator base directory.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.0

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and does not meet it. It does not say whether the diagnosis is read-only or actively runs/simulates the game, how long it takes, whether the emulator must already be running, or what 'comprehensive automated' actually does under the hood. Only the word 'diagnose' hints at non-mutating behavior, which is not enough.

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?

One front-loaded sentence with the core action and the target conditions, no filler or repetition. It is efficient, though its brevity borders on under-specification for a tool with no annotations.

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?

No output schema and no annotations, so the description should explain what a diagnosis returns (verdict, metrics, per-category findings) and any prerequisites. It leaves the agent guessing about both result shape and required emulator state.

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?

There is a single optional parameter and the schema already documents it at 100% coverage, so the baseline applies. The description adds no meaning about emulator_dir, such as how it is resolved or what happens when it is omitted.

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 (diagnose) and resource (bottlenecks) and enumerates the failure classes it targets (CPU bound, GPU compute, Shader stall). That makes it distinguishable in intent from the sibling getters such as emulator_get_performance and emulator_get_shader_stats, though it never explicitly contrasts itself with them.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given, and no alternative is named. An agent cannot tell from the description whether this should be preferred over emulator_get_performance or emulator_get_shader_stats, or whether it is a heavier analysis to run only after those report something suspicious.

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