io.github.CSOAI-ORG/meok-vehicle-handover-mcp
Vehicle handover compliance — NAMA Vehicle Grading, BVRLA Fair Wear & Tear, photographic POD
Versions
1.0.2latestTools 8
grade_vehicle_condition Auto-derive the NAMA vehicle grade (1-5 / U) from a panel-damage list. Args: panel_damage_list: list of dicts like [{"panel": "ofs_front_door", "type": "dent", "size_mm": 25}, {"panel": "front_bumper", "type": "scratch", "size_mm": 80}, {"panel": "ofs_alloy_front", "type": "kerb", "size_mm": 20}] vehicle_make_model: e.g. "Tesla Model 3" — included in attestation only. Returns: grade (1/2/3/4/5/U), justification, evidence_checklist.
validate_pod_photo_set Validate a Proof-of-Delivery photo set against POD_PHOTO_RULES. Args: photo_metadata: list of dicts: [{"timestamp": "2026-06-05T14:23:00Z", "gps_lat": 52.4862, "gps_lon": -1.8904, "width_px": 1920, "height_px": 1080}, ...] Returns: pod_valid (bool), issues, photo_count, summary.
compare_collection_delivery Diff collection (pre) vs delivery (post) damage lists. Flag NEW defects. Args: pod_pre: list of {"panel": ..., "type": ..., "size_mm": ...} at collection pod_post: same shape at delivery Returns: new_defects, worsened_defects, suggested_liability, narrative.
apply_bvrla_fair_wear_tear Classify each defect against the BVRLA Fair Wear & Tear Guide. Args: damage_list: list of {"panel": ..., "type": ..., "size_mm": ...} mileage: total vehicle mileage age_months: age of vehicle in months Returns: per-defect classification (fair_wear_tear vs chargeable), totals, mileage_adjustment_note.
generate_dispute_pack Produce an insurance-ready dispute pack for a contested chargeback. Args: movement_id: operator's internal movement reference vehicle_vrn: vehicle registration mark (VRM/VRN) pod_pre: collection damage list pod_post: delivery damage list narrative: free-text operator account Returns: structured dispute pack: evidence_summary, photo_index_url, RHA_liability_calc, BVRLA_classification, suggested_rebuttal_text.
calculate_rha_vs_actual_liability Calculate the RHA Conditions of Carriage cap vs actual claim. Args: vehicle_value_gbp: market value of the vehicle vehicle_weight_kg: kerb weight damage_claim_gbp: total damage claim Returns: rha_cap_gbp, gap_to_actual, GIT_recommended boolean.
submit_to_bvrla_drs Format a dispute pack for BVRLA Dispute Resolution Service. Args: dispute_pack: output from generate_dispute_pack Returns: submission_id, expected_response_days, fees.
log_ev_soc_handover Record state-of-charge at handover and check against OEM SLA. Args: vehicle_id: VRN or internal vehicle id collection_soc_pct: SoC at collection (0-100) delivery_soc_pct: SoC at delivery (0-100) oem: 'tesla' / 'jlr' / 'polestar' / 'bmw' / 'mg_saic' / 'stellantis' / 'byd' / 'vw_group' Returns: delta, oem_compliant, flag_for_dispute, oem_rules_applied.
Permissions 3
network medium filesystem low env_vars low