flashgate
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FLASHGATE_BOARD | Yes | Path to the board YAML profile, equivalent to the --board CLI argument for the MCP server. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| board_infoA | Discover what hardware you are working with: the active board profile. |
| doctorA | Diagnose the bench: is the ST-Link probe visible, is the console serial port resolvable, is the cross toolchain installed? |
| buildA | Compile the board's firmware (incremental — recompiles only what changed). No hardware is touched. |
| flashA | Write the built firmware to the board's flash over ST-Link, verify the write, then start the application. DESTRUCTIVE: whatever runs on the MCU is replaced. |
| verifyA | The hardware gate — the authoritative answer to "does this firmware actually work on the board?". |
| probeA | Exercise the firmware ALREADY RUNNING on the board with its defined probes: each probe sends console commands and asserts on the board's answers — including live register readbacks (e.g. the timer value actually driving an LED). No rebuild, no reflash. |
| console_sendA | Talk to the firmware directly: send ONE command line on the console UART and collect its answer. |
| console_readA | Listen passively: capture everything the firmware prints on the console for the given number of seconds, sending nothing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
board_info, doctor, build, and flash each target a distinct stage of the embedded workflow, and the console tools split cleanly into active (console_send) vs passive (console_read). The one area of potential confusion is verify vs. build/flash/probe, since verify internally does all three, but the descriptions explicitly clarify the relationship and when to use each.
build, flash, verify, probe, and doctor form a coherent set of single-word action verbs, and the console_ prefix groups the two UART tools. board_info and doctor are the mild deviations (noun/noun-ish vs. pure verb), but the convention is largely readable and predictable.
Eight tools is well-scoped for an embedded build/flash/test server, with each tool earning its place across the discover-diagnose-build-flash-verify-probe lifecycle. Nothing is redundant or trivial.
The surface covers the full firmware lifecycle: discovery, environment diagnostics, build, flash, hardware verification, probe execution, and direct console interaction. A minor gap is the lack of an explicit reset/erase tool, though verify and console_read implicitly handle reset-adjacent scenarios.