MCP-Server

UDS Toolbox

com.udslib/uds-toolbox

Was dieses MCP kann

Builds and decodes UDS and ISO-TP messages, DTCs, CAN traces, diagnostic requests, and integration plans.

build_uds_request
Build UDS request
Build a UDS request as hex with an annotated breakdown. Services: session, ecu_reset, read_did, write_did, security_seed, security_key, tester_present, routine, request_download, transfer_data, transfer_exit, clear_dtc, read_dtc, control_dtc, comm_control, raw. Numeric strings are hex.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['service'], 'properties': {'on': {'type': 'boolean', 'description': 'control_dtc: true = DTC setting on.'}, 'dfi': {'type': 'integer', 'description': 'dataFormatIdentifier, default 0.'}, 'did': {'type': 'string'}, 'hex': {'type': 'string', 'description': 'raw: bytes to pass through.'}, 'key': {'type': 'string', 'description': 'security_key: key bytes in hex.'}, 'rid': {'type': 'string', 'description': 'routine: e.g. "FF00".'}, 'data': {'type': 'string', 'description': 'Hex payload (write_did, transfer_data, routine option record).'}, 'dids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'read_did: e.g. ["F190","F18C"].'}, 'mask': {'description': 'read_dtc status mask, default FF.'}, 'size': {'type': 'string', 'description': 'request_download: e.g. "0x10000".'}, 'type': {'description': 'session/ecu_reset sub-function (number, hex string or name).'}, 'group': {'type': 'string', 'description': 'clear_dtc group, default FFFFFF.'}, 'level': {'type': 'integer', 'description': 'security_seed/security_key: odd seed-request level; the key is sent with level+1.'}, 'action': {'enum': ['start', 'stop', 'results'], 'type': 'string'}, 'address': {'type': 'string', 'description': 'request_download: e.g. "0x08000000".'}, 'control': {'description': 'comm_control control type.'}, 'counter': {'type': 'integer', 'description': 'transfer_data block sequence counter.'}, 'service': {'enum': ['session', 'ecu_reset', 'read_did', 'write_did', 'security_seed', 'security_key', 'tester_present', 'routine', 'request_download', 'transfer_data', 'transfer_exit', 'clear_dtc', 'read_dtc', 'control_dtc', 'comm_control', 'raw'], 'type': 'string'}, 'commType': {'description': 'comm_control communicationType, default 01.'}, 'suppress': {'type': 'boolean', 'description': 'tester_present: set suppressPosRspMsgIndicationBit.'}, 'sizeBytes': {'type': 'integer', 'description': 'Default 4.'}, 'subfunction': {'description': 'read_dtc sub-function (e.g. 2 = reportDTCByStatusMask).'}, 'addressBytes': {'type': 'integer', 'description': 'Default 4.'}}}
decode_dtc
Decode DTC
Convert a 3-byte UDS DTC to the SAE J2012 style code (P/C/B/U + digits) plus failure type byte, or the reverse ("U0073-00" to hex). With a status byte, explains each of the 8 DTC status bits.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['dtc'], 'properties': {'dtc': {'type': 'string', 'description': 'Three bytes hex ("01 23 45") or a code ("P0123-45").'}, 'status': {'type': ['string', 'integer'], 'description': 'Optional status byte, e.g. "0x09".'}}}
decode_isotp
Decode ISO-TP trace
Reassemble ISO-TP (ISO 15765-2) messages from CAN frames, per CAN id, and decode each as UDS. Reports frame types (SF/FF/CF/FC), flow-control BS/STmin, sequence-number errors, interrupted messages, padding, and N_Bs/N_Cr/STmin timing warnings when timestamps (ms) are given. Accepts a frame list or a candump text dump.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['frames'], 'properties': {'frames': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['data'], 'properties': {'t': {'type': 'number'}, 'id': {'type': ['string', 'integer']}, 'data': {'type': ['string', 'array']}}}}, {'type': 'string'}], 'description': 'Array of {id, data, t?} (id hex string or number, data hex string or byte array, t in ms), or a candump-style multiline string.'}, 'padding': {'type': 'boolean', 'description': 'true: warn on unpadded short frames; false: warn when padding bytes appear.'}, 'decodeUds': {'type': 'boolean', 'description': 'Decode each reassembled message as UDS (default true).'}}}
decode_uds
Decode UDS message
Decode a UDS (ISO 14229-1) PDU from hex: request, positive or negative response. Names the service, sub-function (and suppressPosRsp bit), DID/RID/address fields, and for negative responses the NRC with meaning and typical cause. Unknown SIDs and NRCs are labelled, not rejected.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['hex'], 'properties': {'hex': {'type': 'string', 'description': 'PDU bytes, e.g. "7F 34 78" or "0x22 0xF1 0x90" (no ISO-TP header).'}, 'direction': {'enum': ['request', 'response'], 'type': 'string', 'description': 'Optional hint to disambiguate.'}}}
udslib_integration
UDSLib integration plan
Plan how to integrate the UDSLib C stack (ISO 14229 UDS server/client for embedded ECUs): which repo files to take, Kconfig/config hints, an init skeleton, the closest example, and the license terms (free noncommercial / commercial). UDSLib speaks ISO-TP over CAN/CAN-FD; DoIP is not supported.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'role': {'enum': ['server', 'client'], 'type': 'string'}, 'rtos': {'enum': ['baremetal', 'freertos', 'zephyr', 'linux'], 'type': 'string'}, 'target': {'type': 'string', 'description': 'MCU or board, e.g. "STM32F103", "H563".'}, 'features': {'type': 'array', 'items': {'type': 'string'}, 'description': 'dtc, dtc_persist, security, authentication, bootloader, flash_tool, custom_service, periodic, roe'}, 'transport': {'enum': ['can', 'canfd', 'udp-sim'], 'type': 'string'}}}
uds_reference
UDS reference
Short UDS reference with ISO 14229-1 clause pointers (paraphrased). Topics: a service ID (0x27) or name, an NRC (0x78 or "nrc 78"), a DID (F190) or RID (FF00), timing (p2, p2*, s3), sessions, security (0x27 vs 0x29), reprogramming_sequence. Unknown topics return a topic list.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
Hinzugefügt
udslib_integration
5. October 2026 02:40
Hinzugefügt
uds_reference
5. October 2026 02:40
Hinzugefügt
decode_dtc
5. October 2026 02:40
Hinzugefügt
decode_isotp
5. October 2026 02:40
Hinzugefügt
build_uds_request
5. October 2026 02:40
Hinzugefügt
decode_uds
5. October 2026 02:40