{"id":562462,"recorded_at":"2026-10-27T21:43:20.084971Z","observed_at":"2026-10-27T21:43:20.084873Z","subject_kind":"endpoint","subject":"ec294396-2228-410d-8db2-e82f19217aaf","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":7,"tools":[{"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.","inputSchema":{"properties":{"file":{"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"],"type":"object"},"format":{"description":"Default auto-detect.","enum":["auto","candump","asc","trc","csv"],"type":"string"},"trace":{"description":"Trace text (candump, ASC, TRC or CSV). Use this or file.","type":"string"}},"type":"object"},"name":"analyze_trace"},{"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.","inputSchema":{"properties":{"action":{"enum":["start","stop","results"],"type":"string"},"address":{"description":"request_download: e.g. \"0x08000000\".","type":"string"},"addressBytes":{"description":"Default 4.","type":"integer"},"commType":{"description":"comm_control communicationType, default 01."},"control":{"description":"comm_control control type."},"counter":{"description":"transfer_data block sequence counter.","type":"integer"},"data":{"description":"Hex payload (write_did, transfer_data, routine option record).","type":"string"},"dfi":{"description":"dataFormatIdentifier, default 0.","type":"integer"},"did":{"type":"string"},"dids":{"description":"read_did: e.g. [\"F190\",\"F18C\"].","items":{"type":"string"},"type":"array"},"group":{"description":"clear_dtc group, default FFFFFF.","type":"string"},"hex":{"description":"raw: bytes to pass through.","type":"string"},"key":{"description":"security_key: key bytes in hex.","type":"string"},"level":{"description":"security_seed/security_key: odd seed-request level; the key is sent with level+1.","type":"integer"},"mask":{"description":"read_dtc status mask, default FF."},"on":{"description":"control_dtc: true = DTC setting on.","type":"boolean"},"rid":{"description":"routine: e.g. \"FF00\".","type":"string"},"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"},"size":{"description":"request_download: e.g. \"0x10000\".","type":"string"},"sizeBytes":{"description":"Default 4.","type":"integer"},"subfunction":{"description":"read_dtc sub-function (e.g. 2 = reportDTCByStatusMask)."},"suppress":{"description":"tester_present: set suppressPosRspMsgIndicationBit.","type":"boolean"},"type":{"description":"session/ecu_reset sub-function (number, hex string or name)."}},"required":["service"],"type":"object"},"name":"build_uds_request"},{"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.","inputSchema":{"properties":{"dtc":{"description":"Three bytes hex (\"01 23 45\") or a code (\"P0123-45\").","type":"string"},"status":{"description":"Optional status byte, e.g. \"0x09\".","type":["string","integer"]}},"required":["dtc"],"type":"object"},"name":"decode_dtc"},{"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.","inputSchema":{"properties":{"decodeUds":{"description":"Decode each reassembled message as UDS (default true).","type":"boolean"},"frames":{"anyOf":[{"items":{"properties":{"data":{"type":["string","array"]},"id":{"type":["string","integer"]},"t":{"type":"number"}},"required":["data"],"type":"object"},"type":"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":{"description":"true: warn on unpadded short frames; false: warn when padding bytes appear.","type":"boolean"}},"required":["frames"],"type":"object"},"name":"decode_isotp"},{"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.","inputSchema":{"properties":{"direction":{"description":"Optional hint to disambiguate.","enum":["request","response"],"type":"string"},"hex":{"description":"PDU bytes, e.g. \"7F 34 78\" or \"0x22 0xF1 0x90\" (no ISO-TP header).","type":"string"}},"required":["hex"],"type":"object"},"name":"decode_uds"},{"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.","inputSchema":{"properties":{"topic":{"type":"string"}},"required":["topic"],"type":"object"},"name":"uds_reference"},{"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.","inputSchema":{"properties":{"features":{"description":"dtc, dtc_persist, security, authentication, bootloader, flash_tool, custom_service, periodic, roe","items":{"type":"string"},"type":"array"},"role":{"enum":["server","client"],"type":"string"},"rtos":{"enum":["baremetal","freertos","zephyr","linux"],"type":"string"},"target":{"description":"MCU or board, e.g. \"STM32F103\", \"H563\".","type":"string"},"transport":{"enum":["can","canfd","udp-sim"],"type":"string"}},"type":"object"},"name":"udslib_integration"}]},"body_sha256":"e10014ed266c53b4dc0d1d904f7d1a49ce6c67d5e889b8a5a652549d473d801e","prev_id":null,"leaf":"0x3ded28cd34715d326f20d8cce63dfc5e0d5dca9968fcd175e7a8784089d4d245","leaf_text":"{\"body\":\"e10014ed266c53b4dc0d1d904f7d1a49ce6c67d5e889b8a5a652549d473d801e\",\"id\":562462,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793137400084873,\"prev\":null,\"subject\":\"ec294396-2228-410d-8db2-e82f19217aaf\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x3ded1c900a3b5ace224f26b4f1343418573182025e9dde4438d7928a1fec9eae","0xa05441748a51d7085f7a5fb6bc921871ecd1e498e09161f845d8377382dc577b","0x45d5e222efef8cb16a5ddfdc7a2192559b17f4e48d4ef8a8a98c96daf5fb9e78","0xd3d85066ab1900caacf7c9185019b2d2cf1189912c187139b4e16231b1faeff3","0x2f01f8e7580f7873e649c931713159b5c8494947340b66ed22148eec675d6bfc","0x7e79f211f08372458c329d527d26373bb50b3e38b30b6161e972257f82e6ccd3","0xa62fd4dc812bb7b547a0f9b6e950128946d0a4f09fca5ed069762033ce1e1719","0xce83a080d17d3544af57d7921dc712607686fa3c3a49e5e043c7f72a99ad652e","0x7a125ef269a7cf80d4671f70b850f11ddb426c25e252fc2ba930c2443638d7ec","0xde052316b80dd351e113a56cd5f24afafc51069de76d76a7cf9a7b4c84df577f","0x72a9eea56fa8fe6147ec462fca13ccc12c36b4a569355901f77cd04c8ab372e7","0x139a61fc1533aad2dd83b82b2ec2330ee3422710b28d63ce7ff509ed7d7bc93e","0xe097a5c0640b3c074fef1c9f5fe91898965687ad755f1c27c31462a60e313f0a","0x1de9caca1fa6dbbe090ee48dad5f962bbfd09856fd897edc8c3c110272d35c56","0x2c117b27721eea45f6590fbccb471d21a7b0b079a53f089ecb300c63bdb3aebf","0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d","0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d","0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}