Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
--bitrateNoCAN bus bitrate in bits per second (e.g. 500000)
--channelNoCAN channel for the selected interface (e.g. PCAN_USBBUS1)
--interfaceYesCAN interface backend to use (e.g. pcan, sim)

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
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_ecu_infoA

Describe the connected ECU: interface, CAN IDs, current session, known DIDs, routines and configured security levels.

diagnostic_session_controlC

0x10 DiagnosticSessionControl. session: default, programming, extended, safety or a hex number.

ecu_resetA

0x11 ECUReset. reset_type: hard, key_off_on, soft or a hex number. Returns the ECU to the default session. Confirm with the user before resetting.

read_data_by_identifierB

0x22 ReadDataByIdentifier. dids: list of hex DIDs, e.g. ["F190", "F18C"]. DIDs not known to the ECU config must be read one at a time.

write_data_by_identifierA

0x2E WriteDataByIdentifier. Give the value as value_hex ("00 64") or value_ascii (text). Usually needs the extended session and security access. Confirm with the user before writing.

security_accessB

0x27 SecurityAccess: request a seed for odd level and send the key computed by the key algorithm configured for that level. Needs a non-default session.

routine_controlC

0x31 RoutineControl on a hex routine_id, e.g. "0203". Routines act on the ECU: confirm with the user before starting one.

read_dtc_informationC

0x19 02 ReadDTCInformation: DTCs whose status matches status_mask (hex byte).

clear_diagnostic_informationA

0x14 ClearDiagnosticInformation for a DTC group (FFFFFF = all). Confirm with the user before clearing.

tester_presentA

0x3E TesterPresent. Rarely needed: a keep-alive already runs in the background.

send_rawA

Send any UDS request as hex bytes, e.g. "22 F1 90", and get the raw response. Use it for services without a dedicated tool.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 11 tools

Disambiguation5/5

Each tool maps to a distinct UDS diagnostic service or utility, so an agent can readily choose between session control, reset, DID read/write, security access, routines, DTCs, and tester present. send_raw overlaps by design as an explicit fallback for services without a dedicated tool, but its purpose is clearly stated and does not make the specialized tools ambiguous.

Naming Consistency4/5

All tool names use consistent snake_case and largely mirror standard UDS service terminology, making the set readable and predictable. However, several names are noun phrases rather than strict verb_noun forms (e.g. security_access, routine_control, tester_present), so the pattern is slightly mixed.

Tool Count5/5

Eleven tools is well-scoped for a UDS diagnostic server: the set covers the core services agents commonly need without becoming unwieldy. Each dedicated tool has a clear role, and send_raw prevents the need to add many rarely used service-specific tools.

Completeness4/5

The server covers the main diagnostic lifecycle: session control, reset, DID read/write, security access, routines, DTC read/clear, tester present, and raw requests. Some UDS service areas such as IO control, memory transfer/download, or extended DTC snapshot reads lack dedicated tools, but send_raw provides a practical fallback.

Maintenance

ActivityMaintained
ResponsivenessNo issues