How castlebbs/vehicle-diagnostic-assistant works
This repository is a Gradio vehicle-diagnostics assistant: a user chats with a LangGraph agent, which can query an MCP-connected OBD-II device or simulator, interpret raw PID data, and present diagnostic results. The README also documents VIN decoding, DTC handling, telemetry/history, and repair-video search. The sampled excerpts establish agent tool setup and result handling, but not every UI callback or MCP transport detail; the separately listed embedded-server repository is not present here.
Main entry points: app.py Diagnostic agent · gradio-OBD2-simulator/app.py Simulator interfaces · tools.py VIN decoder · dtc_display.py DTC display
Components 16
User interface
- Chat and dashboard
app.py - DTC display
dtc_display.py - Telemetry and history
app.py
Agent orchestration
- Mechanic prompt
prompts.py - Diagnostic agent
app.py
Diagnostic tools
- OBD value tools
tools.py - VIN decoder
tools.py - Repair video search
tools.py
MCP device access
- MCP client
app.py - Vehicle MCP tools
OBD-II simulator
- Simulator interfaces
MCP_servers/gradio-OBD2-simulator/app.py - Simulated vehicle state
MCP_servers/gradio-OBD2-simulator/app.py
Other components
- Vehicle owner
- Vehicle ECU
- NHTSA vPIC
- YouTube search
Connections 16
- Vehicle owner → Chat and dashboard: asks diagnostics
- Chat and dashboard → Diagnostic agent: submits chat
- Diagnostic agent → Mechanic prompt: uses instructions
- Diagnostic agent → MCP client: loads MCP tools
- Diagnostic agent → OBD value tools: invokes calculations
- Diagnostic agent → VIN decoder: decodes VIN
- Diagnostic agent → Repair video search: searches repairs
- MCP client → Vehicle MCP tools: obtains tools
- Vehicle MCP tools → Vehicle ECU: queries OBD-II
- VIN decoder → NHTSA vPIC: requests VIN data
- Repair video search → YouTube search: searches videos
- Diagnostic agent → Chat and dashboard: streams replies
- Chat and dashboard → DTC display: updates DTCs
- Chat and dashboard → Telemetry and history: captures history
- Simulator interfaces → Simulated vehicle state: reads vehicle state
- Simulator interfaces → MCP client: serves MCP tools