embedded-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SEARXNG_URL | No | The URL of the searxng server | http://localhost:8080 |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| board_listA | List all configured boards in the registry and their capabilities. |
| board_statusA | Get runtime connection, serial metrics, lease state, and buffer statistics for a board. Args: board_id: The identifier of the board (e.g. 'board_a') |
| serial_connectC | Ensure the Serial Gateway is running and connected for the specified board. Args: board_id: The identifier of the board (e.g. 'board_a') |
| serial_tailA | Fetch the most recent log lines from the board's ring buffer history. Safe across UTF-8 boundaries and non-intrusive (no TX write lock needed). Args: board_id: The identifier of the board (e.g. 'board_a') lines: Number of recent lines to retrieve (default: 200) |
| serial_acquireA | Acquire exclusive controller lease (write permission) for the board. Args: board_id: The identifier of the board (e.g. 'board_a') timeout_sec: Lease duration in seconds before auto-release (default: 60.0) |
| serial_releaseA | Release controller lease, restoring observer role. Args: board_id: The identifier of the board (e.g. 'board_a') |
| serial_writeA | Write a raw command string to the board's serial port. Requires active controller lease. Args: board_id: The identifier of the board (e.g. 'board_a') data: String or command to transmit (e.g. 'help\r\n') |
| serial_readA | Wait and read recent serial output from the board. Args: board_id: The identifier of the board (e.g. 'board_a') timeout_ms: Duration in milliseconds to wait and collect (default: 500) |
| serial_exchangeA | Atomic composite command execution:
Args: board_id: The identifier of the board (e.g. 'board_a') request: Command to execute (e.g. 'help' or 'status') timeout_ms: Maximum duration in milliseconds to wait for reply (default: 1000) expected_prompt: Optional prompt to wait for (e.g. '> ' or 'shell#') |
| serial_resetA | Trigger hardware reset on target board via DTR line pulse. Args: board_id: The identifier of the board (e.g. 'board_a') |
| ssh_connectB | Connect to remote board via SSH and start continuous log streaming (e.g. tail -f enor.log). Args: board_id: The identifier of the board (e.g. 'e1_linux_host') |
| ssh_tailA | Fetch the most recent log lines from the remote log file (e.g. enor.log) via SSH ring buffer. Instantly returns latest lines with UTF-8 boundary protection, non-blocking. Args: board_id: The identifier of the board (e.g. 'e1_linux_host') lines: Number of recent lines to retrieve (default: 200) |
| ssh_execA | Execute a shell command on the remote host via SSH and return exit status, stdout, and stderr. Args: board_id: The identifier of the board (e.g. 'e1_linux_host') command: Shell command string to execute (e.g. 'ps aux | grep enor' or 'dmesg | tail') timeout_sec: Maximum timeout in seconds (default: 30.0) |
| ssh_statusA | Get real-time SSH connection status, target host, monitored log file, and buffer metrics. Args: board_id: The identifier of the board (e.g. 'e1_linux_host') |
| firmware_releaseA | Execute full MCU firmware release pipeline:
Args: board_id: Optional board identifier (e.g. 'board_a') containing release config. rebuild: Force full Keil rebuild (-r) instead of incremental (-b). skip_build: Skip Keil compilation and use latest or specified existing binary. firmware_path: Explicit path to .bin file (bypasses auto-discovery). version: Firmware version string (e.g. '2.1.11'). If None, extracted from APP/config/config.h. device_ids: Target device ID(s) or topic(s). If None, taken from config. config_path: Path to custom firmware_release_config.json file. save_config: Save executed release artifact info back to the config file. |
| firmware_buildA | Compile MCU firmware using Keil uVision command-line interface. Verifies that a fresh .bin binary was produced by the compilation. Args: board_id: Optional board identifier containing release config. rebuild: Force full rebuild (-r) instead of incremental (-b). config_path: Optional custom firmware release config file. |
| firmware_uploadB | Upload a firmware binary (.bin) to the configured FTP server. Args: firmware_path: Path to the .bin file to upload. board_id: Optional board identifier containing release config. remote_filename: Optional remote filename on FTP server. config_path: Optional custom firmware release config file. |
| firmware_notifyA | Publish MQTT OTA upgrade command (mcu_up) to target device topics. Args: version: Firmware version string (e.g. '2.1.11'). file_url: Downloadable public URL of the uploaded firmware. md5: MD5 checksum of the firmware. board_id: Optional board identifier. device_ids: Target device ID(s) or topic(s). config_path: Optional custom firmware release config file. |
| firmware_get_versionC | Read and parse firmware version from APP/config/config.h or active configuration. Args: config_h_path: Optional explicit path to config.h header file. config_path: Optional firmware release configuration file path. board_id: Optional board identifier. |
| firmware_get_configB | Inspect the resolved firmware release configuration. Args: board_id: Optional board identifier. config_path: Optional custom firmware release configuration file path. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_release_config_resource | Resource returning the current active firmware release configuration as JSON. |