UDS Toolbox

Find why a UDS flash failed from a CAN trace; decode UDS, ISO-TP and DTCs. No hardware.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
91%
Qualität der Benennung
86%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,975Tokens (Tool-Definitionen)
~1.8 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.54% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "uds-toolbox": {
      "url": "https://mcp.udslib.com/mcp"
    }
  }
}

Remote-Endpunkte

https://mcp.udslib.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢analyze_trace(trace, file, format)

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.

Eingabe-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."
    }
  }
}
🟢decode_uds(hex, direction)

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.

Eingabe-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"
  ]
}
🟢build_uds_request(service, type, dids, did, data, ...)

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.

Eingabe-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"
  ]
}
🟢decode_isotp(frames, padding, decodeUds)

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.

Eingabe-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"
  ]
}
🟢decode_dtc(dtc, status)

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.

Eingabe-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"
  ]
}
🟢uds_reference(topic)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string"
    }
  },
  "required": [
    "topic"
  ]
}
🟢udslib_integration(target, rtos, transport, features, role)

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.

Eingabe-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"
      ]
    }
  }
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools