Skip to main content
Glama

👾🦀 MiSTerClaw — MCP Remote Control for MiSTer-FPGA

MiSTerClaw is the first MCP server for MiSTer-FPGA. Control your MiSTer from any AI agent.

Version Go License Platform

What is this?

MiSTerClaw lets AI agents — Claude, ChatGPT, OpenClaw, Hermes, Cursor, and others — control a MiSTer-FPGA over the network. Launch games, search your ROM library, take screenshots, read and modify core settings and DIP switches, navigate the OSD menu using conf_str-based position calculation (experimental, not yet reliable for all cores), query detailed system information, manage the system, and even set up Tailscale VPN for secure remote access from anywhere. Floppy-disk cores (PC8801, MSX, etc.) support PostLaunch auto-reset for seamless game loading. It uses the Model Context Protocol (MCP) standard, so any MCP-compatible client works out of the box. For agents without MCP support, a CLI client is also included.

Related MCP server: go_computer_use_mcp_server

MCP Setup

Add MiSTerClaw to your MCP client config:

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "misterclaw": {
      "command": "/path/to/misterclaw-mcp",
      "args": ["--host", "mister-fpga"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "misterclaw": {
      "command": "/path/to/misterclaw-mcp",
      "args": ["--host", "mister-fpga"]
    }
  }
}

MCP Tools

Tool

Description

mister_status

What's currently playing

mister_launch

Launch a game by search or path

mister_search

Search the ROM library

mister_systems

List all available systems with ROM counts

mister_screenshot

Take a screenshot (returns PNG image)

mister_info

System info (hostname, IP, temp, RAM, disks, uptime)

mister_input

Send keyboard input (OSD navigation, named keys)

mister_osd_info

Query OSD menu structure from CONF_STR database

mister_osd_visible

Show only visible OSD menu items based on current config

mister_cfg_read

Read core settings (options + DIP switches)

mister_cfg_write

Modify core settings with automatic backup

mister_reload

Reload current core to apply config changes

mister_osd_navigate

Navigate to a specific OSD menu item by name

mister_system_info

Get system config, notes, and OSD menu for a system

mister_rescan

Rescan ROM library (optionally for specific drive)

mister_tailscale

Manage Tailscale VPN

mister_shell

Execute shell commands

Example Conversations

Once configured, just talk to your agent:

You: "What games do I have for SNES?"
Agent: You have 13,435 SNES ROMs! Here are some highlights...

You: "Launch Street Fighter 2"
Agent: 🎮 Launched Street Fighter II Turbo on SNES!

You: "Take a screenshot and show me"
Agent: [screenshot of the game running]

You: "What systems do I have?"
Agent: Your MiSTer has 70+ systems! Top ones:
  - SNES: 13,435 ROMs
  - C64: 46,736 ROMs
  - Amiga: 55,793 ROMs
  ...

You: "Set up Tailscale so I can reach the MiSTer from anywhere"
Agent: Installing Tailscale... Done!
       Please authenticate: https://login.tailscale.com/a/xxx
       After that your MiSTer is reachable from anywhere.

You: "What settings does R-Type have?"
Agent: R-Type (M72 core) has these settings:
       Core Options:
         - No Death Mode: Off
         - Service Mode: Off
       DIP Switches:
         - Difficulty: Medium
         - Coin A: 1 Coin / 1 Credit
         - Lives: 3
         - Demo Sounds: On
         - Continue: Yes

You: "Enable No Death Mode"
Agent: ⚙️ Set "No Death Mode" to On in R-Type.
       The core reloads automatically — change is live!

You: "Navigate to the Reset option in the OSD"
Agent: Navigated to Reset in the SNES core OSD.

You: "What do I need to know about the PC8801 system?"
Agent: PC8801 uses the PC8801 core with .d88 floppy disk images.
       Notes: After loading a disk, press F12 → Reset to boot.
       OSD Menu: FDD0, FDD1, Reset, CPU Speed, ...

CLI Client

For agents that have shell access (like OpenClaw, Codex, or Claude Code), the CLI client can be more efficient than MCP — no tool schemas in context, just call it when needed. It's also useful for shell scripts and automation.

# Check what's playing
misterclaw-send -H mister-fpga status

# Search for games
misterclaw-send -H mister-fpga search "zelda" --limit 5
misterclaw-send -H mister-fpga search "sonic" --system MegaDrive

# Launch a game
misterclaw-send -H mister-fpga launch "super mario world" --system SNES

# List all systems with ROM counts
misterclaw-send -H mister-fpga systems

# Take a screenshot
misterclaw-send -H mister-fpga screenshot -o game.png

# System info (CPU, memory, storage, uptime)
misterclaw-send -H mister-fpga info

# Run shell commands — configure MiSTer.ini, run updates, manage files
misterclaw-send -H mister-fpga shell "cat /media/fat/MiSTer.ini"
misterclaw-send -H mister-fpga shell "/media/fat/Scripts/update_all.sh"

# Send keyboard input (OSD navigation)
misterclaw-send -H mister-fpga input key osd
misterclaw-send -H mister-fpga input combo leftalt f12

# Query OSD menu structure
misterclaw-send -H mister-fpga osd-info
misterclaw-send -H mister-fpga osd-info --core SNES

# Navigate to a specific OSD menu item
misterclaw-send -H mister-fpga osd-navigate Reset
misterclaw-send -H mister-fpga osd-navigate "Aspect ratio"

# Get detailed system info (config, notes, OSD menu)
misterclaw-send -H mister-fpga system-info PC8801
misterclaw-send -H mister-fpga system-info SNES

# Read core settings (options + DIP switches)
misterclaw-send -H mister-fpga cfg-read

# Modify settings
misterclaw-send -H mister-fpga cfg-write --option "Free Play" --value On

# Reload core to apply changes
misterclaw-send -H mister-fpga reload

# Rescan ROM library (after adding new games)
misterclaw-send -H mister-fpga rescan
misterclaw-send -H mister-fpga rescan --location usb0

# JSON output for scripting
misterclaw-send -H mister-fpga status --json
misterclaw-send -H mister-fpga systems --json

All commands support --json for machine-readable output.

Installation

Three binaries:

Binary

Runs on

Purpose

misterclaw

MiSTer (ARM7)

Server — runs on the MiSTer itself

misterclaw-send

Anywhere

CLI client for direct commands

misterclaw-mcp

Your machine

MCP server — bridges AI agents to MiSTer

Quick install on MiSTer

scp misterclaw root@<mister-ip>:/media/fat/Scripts/
ssh root@<mister-ip> "/media/fat/Scripts/misterclaw --install"

Or self-install: copy the binary to MiSTer, then run misterclaw --install. This copies to /media/fat/Scripts/, configures autostart on boot, and is idempotent.

To uninstall: /media/fat/Scripts/misterclaw --uninstall

Security

⚠️ Do not expose port 9900 to the internet. The ClawExec protocol has no authentication or encryption.

  • Tailscale VPN (recommended) — encrypted, authenticated, works from anywhere

  • Local network only — keep port 9900 accessible within your LAN

  • Never forward port 9900 through your router or firewall

Architecture

Agent ←MCP→ misterclaw-mcp ←TCP→ MiSTer:9900 (misterclaw server)
Agent ←CLI→ misterclaw-send ←TCP→ MiSTer:9900 (misterclaw server)

The MCP server and CLI client communicate with the MiSTer over the ClawExec protocol (newline-delimited JSON over TCP, port 9900).

Dynamic System Detection

MiSTerClaw auto-detects all systems by scanning ROM folders, installed cores, and MGL files. No configuration needed — a well-stocked MiSTer typically has 70+ systems. Discovery results (including full ROM file listings) are cached to disk. First startup scans and builds the cache; subsequent starts load instantly. Use the rescan command after adding new games or drives.

Building from Source

# MiSTer server (ARM7)
GOOS=linux GOARCH=arm GOARM=7 go build -ldflags="-s -w" -o misterclaw ./cmd/misterclaw/

# CLI client
go build -ldflags="-s -w" -o misterclaw-send ./cmd/misterclaw-send/

# MCP server
go build -ldflags="-s -w" -o misterclaw-mcp ./cmd/misterclaw-mcp/

License

MIT

Available Tools

17 tools
mister_cfg_readA

Read the current CFG file for the running core/game. Returns the raw hex data and decoded option values (e.g. 'Aspect Ratio = Original'). CFG files store per-game/core settings as bit fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
coreNoCore name. If omitted, uses the currently loaded core.

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses that it returns raw hex and decoded values, which is appropriate for a read tool. However, no annotations are provided, so the description carries the full burden. It does not mention idempotency, rate limits, or error cases (e.g., no core loaded). Adequate but not detailed.

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

Conciseness5/5

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

Two sentences, no wasted words. Front-loaded with action and returns, then context. Efficient and clear.

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?

The description explains what the tool returns (raw hex and decoded options) and the nature of CFG files. For a simple read tool with one optional parameter and no output schema, this is largely sufficient. Minor gap: no mention of what happens if no core is loaded (schema says 'if omitted, uses currently loaded core', but the description could reinforce that).

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?

The input schema covers the single parameter 'core' with a clear description. The tool description adds context about CFG files being bit fields but does not enhance parameter semantics beyond the schema. With 100% schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool reads the current CFG file, specifies it returns raw hex data and decoded option values with an example. It distinguishes from the sibling write tool (mister_cfg_write) by focusing on reading, and uses specific verb 'Read' and resource 'CFG file'.

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 description implies usage for reading config settings but does not explicitly state when to use vs alternatives (e.g., write tool) or provide prerequisites. No guidance on when not to use.

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

mister_cfg_writeA

Set a core option by name and value. Automatically backs up the CFG file before writing. Use cfg_read first to see available options and their current values. Example: option='Free Play', value='On'. After writing, use mister_reload to apply changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionYesOption name (e.g. 'Aspect Ratio', 'Free Play', 'Region')
valueYesValue name (e.g. 'Original', 'On', 'US')

TDQS

A4.4/5.0
Behavior4/5

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

Discloses that it 'automatically backs up the CFG file before writing', providing useful behavioral context. No annotations exist, so description carries full burden; it also mentions the need to apply changes via reload. Lacks details on error handling or permissions, but adequate.

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

Conciseness5/5

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

Three sentences: purpose, backup behavior, usage guidance with example. No fluff, every sentence adds value, well-structured.

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?

Covers purpose, usage, behavior, and post-action. No output schema, so return value explanation not required. Could mention handling of invalid inputs, but overall complete for a simple write tool.

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?

Schema coverage is 100% (both parameters described in the schema). Description adds concrete examples ('option='Free Play', value='On'') and explains the pattern, adding value beyond the schema.

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

Purpose5/5

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

The description uses a specific verb ('Set') and resource ('core option by name and value'), clearly distinguishing it from the sibling tool 'mister_cfg_read' which is for reading.

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

Usage Guidelines4/5

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

Explicitly advises to use 'cfg_read first to see available options and their current values', and provides an example and post-write action ('use mister_reload'). Missing explicit when-not-to-use, but context is clear.

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

mister_infoA

Get MiSTer-FPGA system information including hostname, IP address, CPU temperature, RAM usage, disk space for all mounted volumes, and uptime. Useful for monitoring device health.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It lists the information returned but does not disclose behavioral traits such as read-only nature, performance impact, or any prerequisites.

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

Conciseness5/5

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

Two concise sentences front-load the purpose and list key data points with no unnecessary details.

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 simple information retrieval tool with no parameters, the description adequately covers the returned data. It could mention that no parameters are needed, but it's implied.

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?

There are no parameters, so schema coverage is 100%. The description adds value by listing the fields returned, which compensates for the lack of an output schema.

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?

The description clearly states the verb 'Get' and the resource 'MiSTer-FPGA system information', listing specific data items. However, it does not differentiate from sibling tool 'mister_system_info', which likely serves a similar purpose.

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 'Useful for monitoring device health' implies context but provides no explicit guidance on when to use this tool versus alternatives, nor when not to use it.

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

mister_inputA

Send input to MiSTer-FPGA via virtual keyboard. Use 'key' for named keyboard keys (osd, menu, confirm, up, down, left, right, coin, start). Use 'raw' for Linux keycodes. Use 'combo' for key combinations (e.g. ['leftalt', 'f12']). Use 'text' to type a string character by character with correct keycodes and shift handling (e.g. 'LOAD"*",8,1\n').

ParametersJSON Schema
NameRequiredDescriptionDefault
buttonNoGamepad button to press (a, b, x, y, start, select, l, r, coin)
comboNoKey combination to press (e.g. ['leftalt', 'f12'])
dpadNoGamepad d-pad direction (up, down, left, right)
keyNoNamed keyboard key to press (e.g. 'osd', 'menu', 'confirm', 'core_select')
rawNoRaw Linux keycode to press (e.g. 28 for Enter)
textNoText string to type character by character with automatic shift handling (e.g. 'LOAD"*",8,1\n'). Supports full US keyboard layout.

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It explains that text typing uses correct keycodes and shift handling, but doesn't disclose side effects, required state (e.g., core loaded), or return behavior. This is adequate but not thorough.

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

Conciseness5/5

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

The description is a single paragraph with clear, front-loaded purpose. Each input method is described in one concise sentence with examples. No redundant information.

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

Completeness3/5

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

The description covers keyboard inputs well but omits the gamepad inputs (button, dpad) from the textual guidance, causing a completeness gap. No mention of return value or constraints (e.g., parameter mutual exclusivity) given no output schema.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by mapping parameters to usage scenarios and providing examples (e.g., 'LOAD"*",8,1\n' for text) beyond schema descriptions.

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

Purpose5/5

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

The description clearly states the tool sends input to MiSTer-FPGA via virtual keyboard, listing four input methods (key, raw, combo, text). It distinguishes from sibling tools that handle config, launching, etc., by focusing on input dispatch.

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

Usage Guidelines4/5

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

The description provides concrete guidance on when to use each input method with examples (e.g., 'Use 'combo' for key combinations'). However, it does not explicitly address when not to use the tool or contrast with alternatives, and the gamepad inputs (button, dpad) are not covered in the usage advice.

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

mister_launchA

Launch a game on MiSTer-FPGA by search query or direct ROM path. Use 'query' for fuzzy search (e.g. 'sonic 2') or 'path' for exact ROM path. Optionally filter by 'system' (e.g. 'SNES', 'MegaDrive', 'PSX'). Either 'query' or 'path' is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoDirect ROM file path (requires 'system' to also be set)
queryNoFuzzy search query (e.g. 'super mario world')
systemNoSystem filter (e.g. 'SNES', 'MegaDrive', 'PSX', 'NES', 'GBA')

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It explains the parameter constraints (path requires system) but does not describe side effects like whether the tool closes an existing game, if it requires a certain system state, or what happens on failure. The term 'launch' implies execution, but more detail would improve transparency.

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

Conciseness5/5

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

The description is two sentences long and under 50 words. It front-loads the primary action 'Launch a game on MiSTer-FPGA' and immediately provides usage details. Every sentence contributes information without redundancy.

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?

Given the tool has 3 parameters, no output schema, and no annotations, the description covers the essential usage: it explains the purpose, the two ways to specify the game, and the optional filter. It does not describe return values or error handling, but for a launch tool, the core functionality is adequately explained.

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?

The input schema provides descriptions for all three parameters (100% coverage), but the description adds clarifying context: query is for fuzzy search, path is for exact path, and path requires system to be set. This extra rule is not explicitly stated in the schema, adding value beyond the schema alone.

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

Purpose5/5

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

The description clearly states the tool launches a game on MiSTer-FPGA, using 'launch' as the action and specifying the target resource (game). It distinguishes from sibling tools like 'mister_info' or 'mister_reload' by focusing on launching a game, not configuration or system operations.

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

Usage Guidelines4/5

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

The description provides explicit instructions on how to use the tool: use 'query' for fuzzy search or 'path' for direct ROM path, with optional 'system' filter. It also states that either 'query' or 'path' is required, but does not explicitly mention when not to use this tool or suggest alternatives.

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

mister_osd_infoA

Get the OSD (On-Screen Display) menu structure for the currently loaded core or a specified core. Returns the parsed CONF_STR menu items including options, triggers, file loaders, and sub-pages. Useful for understanding what settings a core supports and what the OSD menu looks like.

ParametersJSON Schema
NameRequiredDescriptionDefault
coreNoCore name to look up (e.g. 'SNES', 'Genesis', 'NES'). If omitted, uses the currently loaded core.

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that it returns parsed CONF_STR menu items with options, triggers, etc., but does not mention side effects, read-only nature, or performance implications.

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

Conciseness5/5

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

Two concise sentences: first states purpose, second details return content. No fluff, every sentence is informative.

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 simple tool with one optional parameter and no output schema, the description adequately explains what is returned. Could mention if there are any limitations or dependencies on core loading.

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 coverage is 100% with a detailed parameter description. The description adds minimal extra meaning beyond the schema, only restating that the core can be specified or defaults to current.

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

Purpose5/5

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

Description clearly states it retrieves OSD menu structure for a core, using specific verbs ('Get', 'Returns'). It distinguishes from sibling tools like mister_osd_navigate and mister_osd_visible by focusing on information retrieval.

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

Usage Guidelines4/5

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

The description explains when to use ('useful for understanding what settings a core supports'), but does not mention when not to use or alternatives, such as other OSD-related tools.

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

mister_osd_navigateA

Navigate to a specific OSD menu item by name (experimental — not yet reliable for all cores). Opens the OSD (F12) and navigates to the target item using conf_str-based position calculation. Works for Reset, options, file mounts, triggers etc. Uses the currently loaded core. Note: cores with runtime-hidden items may cause incorrect positioning.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesMenu item name to navigate to (e.g. 'Reset', 'FDD0', 'Aspect ratio')

TDQS

A4.6/5.0
Behavior5/5

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

Since no annotations are provided, the description carries full burden. It discloses experimental status, reliability concerns, method (conf_str-based position), core dependency, and runtime-hidden items caveat. No contradictions with annotations.

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?

The description is a single paragraph of four sentences, front-loaded with the main purpose. It is reasonably concise, though some phrases like 'experimental (not yet reliable for all cores)' could be slightly tighter.

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

Completeness5/5

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

For a simple tool with one parameter and no output schema, the description explains the core functionality, method, core dependency, and known limitations. It provides sufficient context for the agent to decide usage without needing additional details.

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?

The schema already describes the 'target' parameter, but the description adds value with concrete examples (e.g., 'Reset', 'FDD0', 'Aspect ratio') and usage context, which helps the agent understand acceptable values beyond the schema's generic description.

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

Purpose5/5

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

The description clearly states the action 'Navigate to a specific OSD menu item by name' and specifies the resource (OSD menu item). It differentiates from sibling tools like mister_osd_info and mister_osd_visible by its specific navigation action.

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

Usage Guidelines4/5

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

The description provides context for usage (opens OSD, uses conf_str-based positioning, works for various items) and notes limitations (experimental, unreliable for some cores, hidden items cause issues). However, it does not explicitly compare to alternatives or provide when-not conditions.

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

mister_osd_visibleA

Get only the visible OSD menu items for the current core, based on the current CFG state. This shows exactly what the user would see on screen — items hidden by H/h flags are filtered out. Use this instead of osd_info when you want to know what options are actually available right now.

ParametersJSON Schema
NameRequiredDescriptionDefault
coreNoCore name. If omitted, uses the currently loaded core.

TDQS

A4.4/5.0
Behavior4/5

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

Explains filtering based on H/h flags and that output reflects current CFG state. No annotations provided, but description adequately conveys read-only nature and behavior. Could be slightly more detailed about return format.

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

Conciseness5/5

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

Two sentences, front-loaded with core action, no wasted words. Efficient and to the point.

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 simple tool with one optional parameter and no output schema, description covers purpose, usage, and filtering behavior. Missing return format detail, but overall complete enough for effective use.

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 already describes core parameter fully (100% coverage). Description adds no new semantic information beyond schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

Clearly states it retrieves visible OSD menu items, filtering out hidden ones. Explicitly distinguishes from sibling tool mister_osd_info by advising when to use this instead.

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

Usage Guidelines5/5

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

Provides explicit guidance: 'Use this instead of osd_info when you want to know what options are actually available right now.' This helps the agent choose correctly.

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

mister_reloadA

Reload the current core on MiSTer-FPGA. Use after changing settings with mister_cfg_write to apply changes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. 'Reload' implies a disruptive operation (restarting the core), but the description does not explicitly state consequences like lost unsaved state, required permissions, or duration. It is adequate but not thorough.

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

Conciseness5/5

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

The description is two sentences with no wasted words. It front-loads the action ('Reload the current core') and immediately provides context. Every sentence earns its place.

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

Completeness5/5

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

Given the tool's simplicity (0 params, no output schema), the description fully covers what an agent needs to know: what the tool does and when to invoke it. It is complete for its complexity.

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?

The tool has zero parameters, and the description adds value by explaining when to use it (after config write). With no parameters needed, this is sufficient. Baseline for 0 params is 4, and the description meets it.

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

Purpose5/5

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

The description clearly states the verb 'reload' and the resource 'current core on MiSTer-FPGA'. It also explains the purpose: applying changes after config write. This distinguishes it from siblings like mister_cfg_write or mister_launch.

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

Usage Guidelines4/5

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

The description explicitly says 'Use after changing settings with mister_cfg_write to apply changes', providing a clear usage context and a specific predecessor tool. It could mention unnecessary reloads, but the guidance is direct and helpful.

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

mister_rescanA

Rescan ROM library to detect new games. Optionally specify location (sd, usb0, usb1, ...) to scan only one drive.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNoStorage location to rescan (e.g. 'sd', 'usb0', 'usb1'). If omitted, rescans all locations.

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description should disclose behavioral traits. It only states the action but fails to mention safety (e.g., whether it modifies existing data), permissions needed, or side effects. The description is too sparse for full transparency.

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

Conciseness5/5

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

Two sentences, front-loaded with the main purpose, followed by the optional parameter detail. Every word earns its place; no redundancy or filler.

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 simple tool with one optional parameter and no output schema, the description is mostly complete. It explains the action and the parameter. However, it could mention that it only detects new games (not re-scan existing) and what happens after scanning, but given the lack of output schema, this is acceptable.

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?

The schema already covers the single parameter with 100% description. The description adds value by providing concrete examples (sd, usb0, usb1) and clarifying that omitting the parameter rescans all locations, which goes beyond the schema's generic description.

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

Purpose5/5

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

The description clearly states the tool rescans the ROM library to detect new games, with an option to scan a specific drive. It uses a specific verb and resource, distinguishing it from sibling tools like 'mister_launch' or 'mister_info'.

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 description implies when to use the tool (after adding new ROMs) but does not explicitly state when not to use it or mention alternatives among the many sibling tools. It is implicit but lacks explicit guidance.

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

mister_screenshotA

Take a screenshot of what's currently displayed on MiSTer-FPGA. Returns the screenshot as a PNG image. Useful for seeing what game is running or verifying a launch succeeded.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. States output is PNG, but lacks details on capture scope (e.g., whether OSD overlays are included), blocking behavior, or any side effects. Minimal but not misleading.

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

Conciseness5/5

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

Two sentences, no redundant words. First sentence defines action and output, second explains utility. Perfectly front-loaded.

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?

Given zero parameters and no output schema, description covers purpose, output format, and common use cases. Lacks only minor details like resolution or capture timing, but sufficient for a simple read-only tool.

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?

Zero parameters, baseline 4 per guidelines. Description adds no parameter info because none exist—schema coverage is 100%.

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

Purpose5/5

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

Clearly states action ('Take a screenshot'), target ('what's currently displayed on MiSTer-FPGA'), and output format ('PNG image'). Distinct from all sibling tools as no other screenshot function exists.

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

Usage Guidelines4/5

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

Provides explicit use cases: 'seeing what game is running or verifying a launch succeeded.' No exclusion criteria or alternatives mentioned, but sibling context makes it the only choice for screenshots.

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

mister_shellA

Execute a shell command on MiSTer-FPGA and return the output. Use for file operations, system administration, or any task not covered by other tools. Commands run as the MiSTer user with full system access.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesShell command to execute (e.g. 'ls /media/fat/games/', 'df -h')

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states 'Commands run as the MiSTer user with full system access,' which hints at security implications. But it does not mention error handling, timeout, potential hanging, or destructive consequences, leaving significant gaps.

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

Conciseness5/5

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

Two concise, front-loaded sentences that provide purpose and usage guidance with zero waste.

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

Completeness3/5

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

Given no output schema, the description only says 'return the output' without specifying format, stderr handling, or exit codes. It is adequate for a simple tool but lacks completeness.

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 coverage is 100% and the schema description includes examples. The tool description adds no extra meaning beyond 'return the output,' so baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states 'Execute a shell command on MiSTer-FPGA and return the output.' It also distinguishes from siblings by noting 'use for... any task not covered by other tools.'

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

Usage Guidelines4/5

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

Provides explicit usage context: 'Use for file operations, system administration, or any task not covered by other tools.' However, it could be improved by explicitly stating when to prefer sibling tools over this shell command.

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

mister_statusA

Get the current status of MiSTer-FPGA, including which core is loaded and what game (ROM) is running. Use this to check what's currently playing before launching something new.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It correctly implies a non-destructive read operation by stating 'get the current status,' but lacks details on potential side effects or output format.

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

Conciseness5/5

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

Two sentences with front-loaded purpose; every word earns its place. No wasted text.

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 parameterless status tool, the description covers the essential functionality (core and ROM) and usage context. It does not describe error handling or response structure, but these are minor gaps given the simplicity.

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?

The input schema has no parameters and 100% coverage, so the baseline is 3. The description does not add parameter information, which is acceptable given the absence of parameters.

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

Purpose5/5

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

The description clearly states it retrieves current status (core and ROM) and explicitly suggests using it before launching a new game, distinguishing it from sibling tools like mister_launch.

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

Usage Guidelines4/5

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

The description explicitly advises when to use this tool ('before launching something new'), providing clear context, though it does not include explicit when-not-to-use or alternative tool names.

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

mister_system_infoA

IMPORTANT: Always call this tool FIRST before launching games, navigating OSD, or interacting with any core. Returns detailed system information including supported file formats, keyboard mapping notes, launch behavior (e.g. floppy cores need OSD reset after launch), and full OSD menu structure parsed from conf_str. Essential for understanding core capabilities and quirks before any interaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
systemYesSystem name (e.g. 'PC8801', 'SNES', 'Genesis')

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided; description discloses return contents and a specific quirk (floppy cores need OSD reset). However, it does not explicitly state whether the operation is read-only or has side effects, leaving behavioral transparency partially incomplete.

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?

Description is appropriately front-loaded with 'IMPORTANT' and each sentence adds value. Slightly verbose but justified by the need to emphasize prerequisite use and detailed output.

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?

Given no output schema, the description provides a good overview of return items (file formats, keyboard mappings, launch behavior, OSD structure). Lacks specifics on output format but is adequate for the tool's purpose.

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 coverage is 100% with parameter description 'System name (e.g. 'PC8801', 'SNES', 'Genesis')'. The description adds no further meaning beyond the schema, so baseline score applies.

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

Purpose5/5

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

The description clearly states the tool returns detailed system information including supported file formats, keyboard mapping notes, launch behavior, and OSD menu structure. It distinguishes itself from siblings by being a prerequisite for other operations.

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

Usage Guidelines5/5

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

Explicitly states 'Always call this tool FIRST before launching games, navigating OSD, or interacting with any core.' Provides clear when-to-use guidance and implies it should precede sibling tools.

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

mister_systemsA

List all available systems (consoles/computers) on MiSTer-FPGA with their ROM counts and storage locations. Use this to discover what platforms are available before searching or launching games.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It states it lists systems with ROM counts and storage locations, which is transparent about the read-only nature. It could improve by noting any limitations or performance characteristics, but it's adequate for a simple list tool.

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

Conciseness5/5

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

Two sentences with no wasted words. The first sentence states the core functionality, the second provides usage context. Very concise and front-loaded.

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

Completeness5/5

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

Given no parameters and no output schema, the description fully explains the tool's purpose and output. It tells the agent when to use it (before searching/launching) and what information it provides (ROM counts, storage locations). No gaps.

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

Parameters5/5

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

The input schema has zero parameters, so schema coverage is 100% trivially. The description adds value by specifying what the tool returns (ROM counts, storage locations) beyond the empty schema. This is excellent for parameter semantics.

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

Purpose5/5

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

The description clearly states 'List all available systems (consoles/computers) on MiSTer-FPGA with their ROM counts and storage locations.' It uses specific verb (list), resource (systems on MiSTer-FPGA), and distinguishes from siblings like mister_search and mister_launch.

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

Usage Guidelines4/5

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

The description includes 'Use this to discover what platforms are available before searching or launching games,' which explicitly tells when to use this tool. It does not state when not to use, but the context is clear enough for an AI agent.

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

mister_tailscaleA

Manage Tailscale VPN on MiSTer-FPGA. Actions: 'setup' installs and configures Tailscale (returns auth URL if needed), 'status' shows connection state and IP, 'start' starts the daemon, 'stop' stops it. Tailscale enables secure remote access from anywhere.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: 'setup', 'status', 'start', or 'stop'
hostnameNoCustom hostname for Tailscale (only used with 'setup')

TDQS

A4.5/5.0
Behavior4/5

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

Each action's effect is described (e.g., setup installs/configures and returns auth URL, status shows state/IP). With no annotations, the description carries the burden well, though it omits potential side effects like connection disruption on stop.

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

Conciseness5/5

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

The description is three sentences: first states purpose, second lists actions with brief explanations, third adds context. No wasted words, and the most important information is front-loaded.

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

Completeness5/5

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

For a tool with no output schema, the description sufficiently covers what each action does, including return values for setup and status. The tool's scope is well-defined and fits within the sibling set.

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?

The schema has 100% description coverage, but the description adds value by explaining the 'setup' action returns an auth URL and that 'hostname' is only used with 'setup'. This supplements the schema.

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

Purpose5/5

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

The description clearly states it manages Tailscale VPN on MiSTer-FPGA and lists the four actions (setup, status, start, stop) with specific behaviors. It distinguishes itself from sibling tools, which are all unrelated to VPN management.

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

Usage Guidelines4/5

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

The description implies usage for managing Tailscale VPN, and given no other sibling tool deals with Tailscale, it's clear when to use it. However, it lacks explicit 'when-not-to-use' guidance or alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.3.0
    • Changedmister_input1 field changed
      • addedInput schema / properties / text
        Added value: +{
        +  "description": "Text string to type character by character with automatic shift handling (e.g. 'LOAD\"*\",8,1\\n'). Supports full US keyboard layout.",
        +  "type": "string"
        +}
  2. 17 tool updatesv0.1.0
    • First observedmister_cfg_read
    • First observedmister_cfg_write
    • First observedmister_info
    • First observedmister_input
    • First observedmister_launch
    • First observedmister_osd_info
    • First observedmister_osd_navigate
    • First observedmister_osd_visible
    • First observedmister_reload
    • First observedmister_rescan
    • First observedmister_screenshot
    • First observedmister_search
    • First observedmister_shell
    • First observedmister_status
    • First observedmister_system_info
    • First observedmister_systems
    • First observedmister_tailscale

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct action or resource (e.g., config read/write, launch, OSD, input, status). No two tools overlap in purpose; tools like mister_cfg_read and mister_cfg_write are clearly different operations.

Naming Consistency5/5

All tools follow the pattern 'mister_<verb>_<noun>' or 'mister_<noun>' with consistent snake_case. Verbs are descriptive and uniform, e.g., read, write, launch, reload, rescan.

Tool Count4/5

17 tools is slightly above the typical 3-15 range, but the server covers a wide domain (system info, game launching, OSD, input, config, shell, VPN). Each tool earns its place; the count feels justified.

Completeness4/5

The tool surface is comprehensive for core operations like config, launching, OSD, and status. Minor gaps exist (e.g., no explicit core update tool), but the shell tool covers edge cases. Overall, agents can perform most tasks without dead ends.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    GenieACS-MCP is a Go-based MCP server that bridges any GenieACS (TR-069 ACS) instance, exposing device data, firmware management, and CPE actions (reboot, parameter refresh, firmware download) over JSON-RPC
    12
    81
    16
    GPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP (Model Context Protocol) server in Go for computer automation. Uses robotgo library for desktop automation. Features Mouse control: movement, clicks, dragging, scrolling Keyboard control: key presses, text input, hotkeys Screen operations: screenshots, pixel color, display information Window management: move, resize, minimize/maximize Process management: list processes, search, terminate
    66
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for RetroArch via its Network Control Interface. Drive any libretro core — read/write memory, save/load state, screenshot, pause/frame-advance/reset — across NES, SNES, Genesis, N64, GBA, PS1 and more.
    17
    24
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Go MCP server for multi-format document access — PDF, TXT, MD, DOCX, CSV, images. 12 tools including OCR, search, table extraction, and URL fetch. Single binary, no runtime.
    26
    13
    10
    MIT

Latest Blog Posts

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/catallo/misterclaw'

If you have feedback or need assistance with the MCP directory API, please join our Discord server