UDS Toolbox
Server Details
Find why a UDS flash failed from a CAN trace; decode UDS, ISO-TP and DTCs. No hardware.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- Artomatica/udslib.com
- GitHub Stars
- 0
TDQS
Scored across 7 tools
Most tools are clearly distinct by input type and scope (trace analysis, request building, DTC conversion, ISO-TP reassembly, single PDU decoding, integration guidance, reference lookup). There is minor overlap between decode_isotp and decode_uds (both decode UDS) and between decode_isotp and analyze_trace (both parse CAN traces), but descriptions make the boundaries clear.
All names use consistent snake_case. Most action tools follow verb_noun (analyze_trace, build_uds_request, decode_dtc, decode_isotp, decode_uds), while two informational tools use noun phrases (udslib_integration, uds_reference) — a minor, readable deviation.
Seven tools is well-scoped for a UDS toolbox: each covers a distinct diagnostic task (build, decode, analyze, reference, integrate), with no redundant or filler tools.
The surface covers the core UDS lifecycle: building requests, decoding PDUs/DTCs, reassembling ISO-TP, analyzing full traces, and integration guidance. Minor gaps exist (e.g., no explicit security-key computation or ODX/DBC parsing), but those are workaroundable or out of scope.
Available Tools
7 toolsanalyze_traceAnalyze CAN traceARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | An uploaded trace file: text formats above, or binary BLF, pcap, pcapng, MF4. | |
| trace | No | Trace text (candump, ASC, TRC or CSV). Use this or file. | |
| format | No | Default auto-detect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), yet the description adds substantial process detail beyond them: ISO-TP reassembly, request/response pairing including 0x78 responsePending, P2/P2* timing, session and security-access tracking, RequestDownload/TransferData reconstruction with CRC32, and DID extraction. This tells the agent exactly what the analysis performs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose in the first sentence, then packs the accepted formats and analysis steps into a single dense second sentence where every clause names a concrete capability. No filler or restated boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by stating the return: a root-cause finding with the supporting frames plus an interactive timeline. Combined with the input-format guidance, an agent has everything needed to call and expect results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real value by mapping formats to parameters: text formats (candump, ASC, TRC, CSV) go in 'trace' or 'file', while binary formats (BLF, pcap/pcapng, MF4) require 'file' upload. That clarifies which parameter each format belongs in.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Analyze a whole CAN trace of a UDS diagnostic or flash session and say what went wrong.' The scope word 'whole trace/session' distinguishes it from the frame-level decoders (decode_isotp, decode_uds) in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage by scoping to an entire diagnostic/flash session rather than individual frames, which steers agents away from the single-frame decoders. However, it never explicitly names an alternative or states when NOT to use it, so routing rests on inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_uds_requestBuild UDS requestARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| on | No | control_dtc: true = DTC setting on. | |
| dfi | No | dataFormatIdentifier, default 0. | |
| did | No | ||
| hex | No | raw: bytes to pass through. | |
| key | No | security_key: key bytes in hex. | |
| rid | No | routine: e.g. "FF00". | |
| data | No | Hex payload (write_did, transfer_data, routine option record). | |
| dids | No | read_did: e.g. ["F190","F18C"]. | |
| mask | No | read_dtc status mask, default FF. | |
| size | No | request_download: e.g. "0x10000". | |
| type | No | session/ecu_reset sub-function (number, hex string or name). | |
| group | No | clear_dtc group, default FFFFFF. | |
| level | No | security_seed/security_key: odd seed-request level; the key is sent with level+1. | |
| action | No | ||
| address | No | request_download: e.g. "0x08000000". | |
| control | No | comm_control control type. | |
| counter | No | transfer_data block sequence counter. | |
| service | Yes | ||
| commType | No | comm_control communicationType, default 01. | |
| suppress | No | tester_present: set suppressPosRspMsgIndicationBit. | |
| sizeBytes | No | Default 4. | |
| subfunction | No | read_dtc sub-function (e.g. 2 = reportDTCByStatusMask). | |
| addressBytes | No | Default 4. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is covered. The description usefully adds output shape ('hex with an annotated breakdown') and the input convention that numeric strings are hex, both of which go beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose front-loaded, no filler. The 16-service enumeration duplicates the schema enum and occupies most of the text, a minor redundancy in an otherwise tight definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 23-parameter tool without an output schema, the description compensates by stating the output format and the hex-string input convention. It lacks per-service guidance on which parameters combine, though the schema descriptions cover most of that ground.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 87%, so per-parameter meaning is largely documented in the schema. The description adds one genuinely valuable cross-cutting convention ('Numeric strings are hex') that applies to many string parameters and is not itself in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Build a UDS request as hex with an annotated breakdown'), plus the full set of supported services. The builder framing distinguishes it from the decode_* siblings, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The enumerated service list implies when the tool is applicable, but there is no explicit when-to-use, when-not, or routing to alternatives such as decode_uds or uds_reference. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_dtcDecode DTCARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dtc | Yes | Three bytes hex ("01 23 45") or a code ("P0123-45"). | |
| status | No | Optional status byte, e.g. "0x09". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond that: the tool works in both directions, and supplying a status byte triggers per-bit explanation of the 8 DTC status bits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that front-load the primary transformation and then add the optional status-bit behavior. No filler, no repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and largely does so, naming the SAE J2012 code plus failure type byte and the status-bit breakdown. Exact output formatting (field names, layout) is still left implicit, which is the only gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by clarifying the accepted input forms for dtc and by explaining what the optional status byte actually produces (per-bit decoding), which the schema only labels as 'Optional status byte'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (Convert) plus resource (3-byte UDS DTC) and both directions of the transformation, with concrete examples of each format. An agent can distinguish this DTC-specific tool from generic siblings like decode_uds without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the input forms described ('01 23 45' or 'P0123-45'), but there is no explicit statement of when to reach for this versus decode_uds, decode_isotp, or uds_reference. The bidirectional nature is clear; the routing context is not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_isotpDecode ISO-TP traceARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| frames | Yes | 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 | No | true: warn on unpadded short frames; false: warn when padding bytes appear. | |
| decodeUds | No | Decode each reassembled message as UDS (default true). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering the safety profile (readOnly, idempotent, non-destructive), the description still adds substantial behavioral detail: the specific report contents (SF/FF/CF/FC frame types, BS/STmin flow control, sequence-number errors, interrupted messages, padding, N_Bs/N_Cr timing warnings) and the condition under which timing analysis appears. It does not describe behavior on malformed or truncated input, which is the main remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with no filler, front-loading the core reassemble-then-decode action before output details. The second sentence is a long enumeration but each item earns its place by naming a distinct diagnostic class.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema, the description carries the return-value burden and does so by enumerating the diagnostic categories reported, plus both accepted input formats. It is nearly complete; only preconditions for timing analysis depth and malformed-input handling are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the meaning of each parameter (frames, padding, decodeUds) is already documented in the schema; the description only reinforces that timestamped input unlocks timing warnings. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific compound action (reassemble ISO-TP messages from CAN frames per CAN id, then decode as UDS) with the exact protocol standard, which unambiguously separates it from decode_uds (single payload) and build_uds_request (constructs requests). Verb+resource+scope are all present in the first clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when it applies by defining the accepted inputs (frame list or candump dump) and the precondition for timing warnings (timestamps in ms), but it never explicitly routes the agent between this tool and its siblings decode_uds or build_uds_request. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_udsDecode UDS messageARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| hex | Yes | PDU bytes, e.g. "7F 34 78" or "0x22 0xF1 0x90" (no ISO-TP header). | |
| direction | No | Optional hint to disambiguate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower. The description adds real behavioral value: it enumerates what gets resolved (service, sub-function, suppressPosRsp bit, DID/RID fields, NRC with meaning and typical cause) and discloses graceful handling of unknown SIDs/NRCs (labelled, not rejected).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with zero filler; the core action is front-loaded and each clause conveys distinct decoding behavior. Nothing is redundant with the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return-value burden, and it does by enumerating every field returned for request, positive and negative responses. An agent has everything needed to call and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (hex, direction) are documented there, including accepted byte formats and the enum values. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: decode a UDS (ISO 14229-1) PDU from hex, covering request, positive and negative responses. This clearly separates it from the sibling build_uds_request (construction) and decode_dtc/decode_isotp (different protocol layers).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the decode framing and the schema note that input has no ISO-TP header, which routes an agent toward decode_isotp for framing. However, the description never explicitly states when to use this over siblings or that direction is only an optional disambiguation hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
udslib_integrationUDSLib integration planBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | ||
| rtos | No | ||
| target | No | MCU or board, e.g. "STM32F103", "H563". | |
| features | No | dtc, dtc_persist, security, authentication, bootloader, flash_tool, custom_service, periodic, roe | |
| transport | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/destructiveHint=false, so the safe read nature is covered, and the description is consistent with that. Beyond annotations it adds genuinely useful behavior context: license terms (free noncommercial vs commercial) and the transport limitation (ISO-TP over CAN/CAN-FD, no DoIP), which pre-empts a wrong assumption about protocol support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and deliverable list are front-loaded in the first sentence, and the second sentence adds only high-value constraint information. It is dense but every clause earns its place; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does partially compensate by listing what the plan contains (repo files, config hints, init skeleton, example, license), which tells an agent what it will get back. However, it omits any relationship between the input parameters and the result, leaving a real gap for a five-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema coverage at only 40%, the description is expected to compensate, yet it never explains any of the five parameters. Three enum parameters (role, rtos, transport) have no schema descriptions, and nothing in the prose clarifies how role/rtos/target/features shape the plan output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Plan how to integrate the UDSLib C stack') and enumerates the concrete deliverables (repo files, Kconfig hints, init skeleton, closest example, license terms), which is far more specific than a tautology. It is clearly distinguishable from the decode/build siblings, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the planning/research entry point for adopting UDSLib, but there is no 'use this when' statement or comparison to uds_reference. The line 'DoIP is not supported' functions as a soft when-not constraint, which is the main piece of routing guidance present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uds_referenceUDS referenceARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the content is paraphrased rather than verbatim standard text, and unknown topics degrade gracefully to a topic list rather than erroring — both important for an agent deciding whether to trust or retry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph, front-loaded with what the tool is and followed immediately by the accepted inputs and the fallback behavior. Every clause maps to a real decision the caller must make; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema reference tool, the description covers purpose, input vocabulary, and failure mode. The main remaining gap is that it does not characterize the depth or shape of the returned clause pointers, though 'short' and 'paraphrased' set expectations reasonably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter has no description, so the description carries the full burden — and it does, giving concrete accepted forms for every topic class (0x27 or name, 0x78 or "nrc 78", F190, FF00, p2, p2*, s3, reprogramming_sequence). An agent can construct a valid call without opening the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource ('UDS reference with ISO 14229-1 clause pointers') and enumerates the exact topic space it covers, which separates it cleanly from the build/decode siblings. It never names a sibling explicitly, but the 'reference/lookup' framing makes the distinction obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The topic enumeration implies when to reach for this tool (concept lookup during UDS work) and 'Unknown topics return a topic list' hints at how to recover from a miss. However, there is no explicit statement of when NOT to use it versus build_uds_request or decode_uds, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
analyze_trace2 fields changed- changed
Input schema / properties / file / descriptionPrevious value: -"An uploaded trace file."New value: +"An uploaded trace file: text formats above, or binary BLF, pcap, pcapng, MF4." - changed
Input schema / properties / trace / descriptionPrevious value: -"The trace text (candump, ASC, TRC or CSV). Use this or file."New value: +"Trace text (candump, ASC, TRC or CSV). Use this or file."
1 tool update
- Added
analyze_trace
6 tool updates
- First observed
build_uds_request - First observed
decode_dtc - First observed
decode_isotp - First observed
decode_uds - First observed
uds_reference - First observed
udslib_integration
Related MCP Connectors
A fault code, a VIN, or a recall — answered from public NHTSA and standards data.
US vehicle recalls, complaints, EPA figures, VIN decode and trouble codes, with sources.
Decode any VIN and check open NHTSA safety recalls. Free official US government data, no auth.
Read your own vehicles' OBD-II scans, fault codes, telemetry and trips stored in OBD Vault.
Related MCP Servers
AlicenseAqualityBmaintenanceLocal, read-only MCP server for inspecting DBC files and decoding CAN capture logs, with bounded and composable tools.13MIT- AlicenseNot gradedqualityBmaintenanceEnables LLMs to interact with vehicle CAN bus and OBD-II data through a simulated ECU environment. Provides tools for reading frames, decoding messages via DBC files, monitoring signals, and querying automotive diagnostics without requiring physical hardware.18MIT
- FlicenseAqualityDmaintenanceA CAN bus reverse engineering MCP server for Claude Code that lets Claude read, analyze, and map CAN bus messages from automotive and motorsport ECUs directly from the conversation.213-
- AlicenseNot gradedqualityBmaintenanceEnables AI-powered automotive diagnostics by connecting LLMs to vehicle ECUs over UDS/CAN, indexing workshop manuals locally, and augmenting with web search, while enforcing a human-in-the-loop approval gate for any write operations.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.