← The evidence ledger
Evidence row 562462
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint ec294396-2228-410d-8db2-e82f19217aaf
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- e10014ed266c53b4dc0d1d904f7d1a49ce6c67d5e889b8a5a652549d473d801e
- Leaf
- 0x3ded28cd34715d326f20d8cce63dfc5e0d5dca9968fcd175e7a8784089d4d245
What was observed
{
"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"
}
]
}What the leaf hashes
{"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"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x3ded1c900a3b5ace224f26b4f1343418573182025e9dde4438d7928a1fec9eae
- 0xa05441748a51d7085f7a5fb6bc921871ecd1e498e09161f845d8377382dc577b
- 0x45d5e222efef8cb16a5ddfdc7a2192559b17f4e48d4ef8a8a98c96daf5fb9e78
- 0xd3d85066ab1900caacf7c9185019b2d2cf1189912c187139b4e16231b1faeff3
- 0x2f01f8e7580f7873e649c931713159b5c8494947340b66ed22148eec675d6bfc
- 0x7e79f211f08372458c329d527d26373bb50b3e38b30b6161e972257f82e6ccd3
- 0xa62fd4dc812bb7b547a0f9b6e950128946d0a4f09fca5ed069762033ce1e1719
- 0xce83a080d17d3544af57d7921dc712607686fa3c3a49e5e043c7f72a99ad652e
- 0x7a125ef269a7cf80d4671f70b850f11ddb426c25e252fc2ba930c2443638d7ec
- 0xde052316b80dd351e113a56cd5f24afafc51069de76d76a7cf9a7b4c84df577f
- 0x72a9eea56fa8fe6147ec462fca13ccc12c36b4a569355901f77cd04c8ab372e7
- 0x139a61fc1533aad2dd83b82b2ec2330ee3422710b28d63ce7ff509ed7d7bc93e
- 0xe097a5c0640b3c074fef1c9f5fe91898965687ad755f1c27c31462a60e313f0a
- 0x1de9caca1fa6dbbe090ee48dad5f962bbfd09856fd897edc8c3c110272d35c56
- 0x2c117b27721eea45f6590fbccb471d21a7b0b079a53f089ecb300c63bdb3aebf
- 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
- 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4