{"name":"com.udslib/uds-toolbox","slug":"udslib-uds-toolbox","title":"UDS Toolbox","description":"Find why a UDS flash failed from a CAN trace; decode UDS, ISO-TP and DTCs. No hardware.","url":"https://mcp.market/server/udslib-uds-toolbox","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-11T03:16:28.000Z","license":"NOASSERTION"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T06:20:35.348Z","last_ok_at":"2026-11-04T06:20:35.348Z","latency_ms":50},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/Artomatica/udslib.com","website":"https://udslib.com/mcp.html","version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://mcp.udslib.com/mcp"}],"packages":[],"tools":[{"name":"analyze_trace","description":"Analyze a whole CAN trace of a UDS diagnostic or flash session and say what went wrong. Accepts candump logs, Vector ASC, PEAK TRC (1.x/2.x), SavvyCAN or python-can CSV pasted as text, and those plus Vector BLF, Wireshark pcap/pcapng (SocketCAN) and ASAM MF4 bus logging uploaded as a file. Reassembles ISO-TP, pairs requests with responses (including 0x78 responsePending), measures P2/P2*, follows sessions and security access, reconstructs RequestDownload/TransferData into an image with CRC32, extracts identification DIDs, and returns a root-cause finding with the frames that show it. Shows an interactive timeline.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"trace":{"type":"string","description":"Trace text (candump, ASC, TRC or CSV). Use this or file."},"file":{"type":"object","description":"An uploaded trace file: text formats above, or binary BLF, pcap, pcapng, MF4.","properties":{"download_url":{"type":"string"},"file_id":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"}},"required":["download_url","file_id"]},"format":{"type":"string","enum":["auto","candump","asc","trc","csv"],"description":"Default auto-detect."}}}},{"name":"build_uds_request","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"service":{"type":"string","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":{"description":"session/ecu_reset sub-function (number, hex string or name)."},"dids":{"type":"array","items":{"type":"string"},"description":"read_did: e.g. [\"F190\",\"F18C\"]."},"did":{"type":"string"},"data":{"type":"string","description":"Hex payload (write_did, transfer_data, routine option record)."},"level":{"type":"integer","description":"security_seed/security_key: odd seed-request level; the key is sent with level+1."},"key":{"type":"string","description":"security_key: key bytes in hex."},"suppress":{"type":"boolean","description":"tester_present: set suppressPosRspMsgIndicationBit."},"action":{"type":"string","enum":["start","stop","results"]},"rid":{"type":"string","description":"routine: e.g. \"FF00\"."},"address":{"type":"string","description":"request_download: e.g. \"0x08000000\"."},"size":{"type":"string","description":"request_download: e.g. \"0x10000\"."},"addressBytes":{"type":"integer","description":"Default 4."},"sizeBytes":{"type":"integer","description":"Default 4."},"dfi":{"type":"integer","description":"dataFormatIdentifier, default 0."},"counter":{"type":"integer","description":"transfer_data block sequence counter."},"group":{"type":"string","description":"clear_dtc group, default FFFFFF."},"subfunction":{"description":"read_dtc sub-function (e.g. 2 = reportDTCByStatusMask)."},"mask":{"description":"read_dtc status mask, default FF."},"on":{"type":"boolean","description":"control_dtc: true = DTC setting on."},"control":{"description":"comm_control control type."},"commType":{"description":"comm_control communicationType, default 01."},"hex":{"type":"string","description":"raw: bytes to pass through."}},"required":["service"]}},{"name":"decode_dtc","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","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\"."}},"required":["dtc"]}},{"name":"decode_isotp","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"frames":{"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.","anyOf":[{"type":"array","items":{"type":"object","properties":{"id":{"type":["string","integer"]},"data":{"type":["string","array"]},"t":{"type":"number"}},"required":["data"]}},{"type":"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)."}},"required":["frames"]}},{"name":"decode_uds","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hex":{"type":"string","description":"PDU bytes, e.g. \"7F 34 78\" or \"0x22 0xF1 0x90\" (no ISO-TP header)."},"direction":{"type":"string","enum":["request","response"],"description":"Optional hint to disambiguate."}},"required":["hex"]}},{"name":"uds_reference","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"topic":{"type":"string"}},"required":["topic"]}},{"name":"udslib_integration","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"target":{"type":"string","description":"MCU or board, e.g. \"STM32F103\", \"H563\"."},"rtos":{"type":"string","enum":["baremetal","freertos","zephyr","linux"]},"transport":{"type":"string","enum":["can","canfd","udp-sim"]},"features":{"type":"array","items":{"type":"string"},"description":"dtc, dtc_persist, security, authentication, bootloader, flash_tool, custom_service, periodic, roe"},"role":{"type":"string","enum":["server","client"]}}}}],"scan":{"score":91,"grade":"A","scanned_at":"2026-10-14T12:22:01.045Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-14T12:22:00.985Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 260ms"]},"poisoning":{"score":15,"max":15,"notes":["7 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 days ago"]},"identity":{"score":8,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.udslib.com/mcp","reachable":true,"authRequired":false,"latencyMs":260,"serverInfo":{"name":"uds-toolbox","version":"1.1.0"}}],"packages":[],"repo":{"found":true,"owner":"Artomatica","repo":"udslib.com","archived":false,"pushedAt":"2026-10-11T03:16:28Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/60507216?v=4","ownerCreatedAt":"2020-01-31T10:58:18Z","license":"NOASSERTION"},"icon":{"url":"https://udslib.com/favicon.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-10-11T03:16:28.000Z","score":23}}}},"grade_history":[],"reviews":[]}