Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UART_MCP_LOG_DIRNoOptional directory to store log files. If not set, logs are written to the repository's 'logs/' directory.

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

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
serial_openA

Open a serial port with a background reader that continuously captures all incoming lines into a ring buffer and a daily log file. Call this first.

serial_closeA

Close a capture session, stop its reader thread, and release the port.

serial_statusA

Show every capture session: state, uptime, counters, unread lines, log file path. Omit 'port' to list all sessions.

serial_readB

Return lines captured since the previous serial_read (tail-follow semantics). Waits up to wait_ms for fresh data instead of returning empty.

serial_writeB

Write text or HEX into an open capture session's port.

serial_get_recentA

Return the most recent N buffered lines regardless of read cursor.

serial_wait_forA

Block until a line matches a custom regex ('pattern') and/or built-in event presets ('events': error/hardfault/assert/panic/boot), then return once with the hit and preceding context. Ideal for watching boot logs without polling.

serial_searchA

Regex-search the full captured history (daily log files) — e.g. find every HardFault in the past hour.

serial_get_logA

Page through one day's raw log file by line offset.

serial_clear_bufferA

Drop buffered lines and reset the read cursor; log files are kept.

list_portsA

List available serial ports on this machine.

serial_sendA

One-shot raw HEX transmit (opens/closes the port; use serial_write when capturing).

serial_queryA

One-shot write-then-read exchange; accepts hex or protocol+action from a YAML protocol file.

protocol_parseA

Parse a raw HEX response against a YAML protocol action definition (offline).

serial_shellC

One-shot command sequence over a shell-like device; collects a transcript.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation4/5

Each tool has a clearly distinct role—port discovery, capture session management, read variants, write/send/query variants, and offline parsing—so agents can generally select the right tool. The main ambiguity is between serial_write and serial_send, and between serial_read and serial_get_recent, though their descriptions do clarify the intended use cases.

Naming Consistency4/5

The vast majority of tools follow a serial_<verb> snake_case pattern, which is predictable and easy to scan. However, list_ports and protocol_parse break the serial_ prefix convention, and serial_status and serial_shell are noun-style rather than verb-style, creating minor inconsistencies.

Tool Count4/5

Fifteen tools sits at the upper edge of the well-scoped range and mostly earns its place for a comprehensive UART toolkit. The one-shot variants (serial_send, serial_query, serial_shell) and protocol_parse add specialized capability but make the set feel slightly denser than a minimal capture-focused server.

Completeness5/5

The tool surface is very complete for UART debugging: it covers port enumeration, capture session lifecycle, continuous reading, writing, event waiting, history search, log paging, buffer reset, and protocol parsing. There are no obvious dead ends or missing core operations for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues