MCP App Store
by KeenEthics

Overview

Explore your fleet data effortlessly through conversation. Wialon — the ultimate fleet digitalization solution tracking 4 million vehicles in 160 countries — brings your real-time operational insights directly into ChatGPT. Simply ask questions about your vehicle statuses, trips, fuel activity, or geofences, and get clear, visual answers in seconds. It’s a faster, more intuitive way to stay on top of your operations, right where you already chat. The app is read-only by design, ensuring a secure and transparent way to explore your data at any time.

Tools

wialon_audit_notifications

ChatGPT
Read notification details and highlight disabled, incomplete, or risky notification settings.

wialon_audit_unit_settings

ChatGPT
Inspect a unit and return potential configuration issues. wialon_get_unit_briefing already includes the same findings; use this tool when the user asks specifically for an audit-only report.

wialon_check_connection

ChatGPT
Validate the linked Wialon token and return basic user/session information.

wialon_fetch_more_report_rows

ChatGPT
Continues a report previously started by wialon_run_temporary_report by fetching the next page of rows from the active Wialon session. The report stays available until the same Wialon session runs another exec_report, so call this BEFORE running a new report. Use the nextIndex returned in the previous call as the starting point. Returns the next maxRows rows plus another nextIndex if more remain, or nextIndex: null when the cursor is exhausted.

wialon_fleet_overview

ChatGPT
Units-only fleet health summary: total, moving/idle/stale/no-signal counts, top offline units, positions for the map. Prefer wialon_get_account_snapshot when the user wants a full account overview (groups/resources/geofences/drivers in the same call).

wialon_get_account_snapshot

ChatGPT
Account-wide inventory in one MCP call. Returns BOTH summary counts AND actionable lists for follow-up reports without extra calls: allUnits (id+name+status), allGroups (id+name+unitIds), allResources (id+name+reportTemplates count), plus precomputed recommendedReportResourceId (resource with the most templates), largestGroupId, and unitsOutsideLargestGroup (ids to drop into objectIdList). After this call you have everything to build a single wialon_run_temporary_report — do not call list_resources/list_groups/search_units/fleet_overview again.

wialon_get_change_log

ChatGPT
AUDIT TRAIL for one Wialon object: who changed it, what they did and when. This is the answer to "who changed my unit's settings", "who deleted that geofence", "who touched this notification", "what did user X do last week", "why did the sensor config change". Pass objectType (unit / resource / user / route / retranslator) plus objectId OR objectName, and a period — prefer date: "YYYY-MM-DD" for one day, dateFrom+dateTo for a range, or a period shortcut. Narrow to one author with userName when the question names a person. objectType=resource covers everything stored IN a resource — geofences, notifications, drivers, report templates, jobs — so use it for "who changed the geofence/notification". objectType=user is the other direction: everything one Wialon account did, across all the objects it touched. Returns one row per change with time, user, item type, action and host. Resolves the object, its report resource and the interval internally — do NOT call wialon_search_units, wialon_list_users or wialon_list_resources first. ONE object per call, and one call per question: for an account-wide "who changed anything" use a SINGLE call with objectType=user (everything one account did) or objectType=resource (everything inside that resource) — do not loop this tool over every unit, and never issue several of these calls in parallel.

wialon_get_fleet_fillings

ChatGPT
Fuel fillings across a fleet for a time interval — one row per fill event with unit name, timestamp, volume, fuel level before/after, and location. Pass date / dateFrom+dateTo / period for the interval, and optionally narrow to a specific group via groupId or groupName; with no group filter the whole account is covered (largest group + units outside it). First tries any SAVED avl_unit_group template whose tables include a fillings shape (or whose name hints at fuel/fillings in several languages); falls back to an INLINE unit_group_fillings template when none exists. Use this directly — do NOT loop wialon_get_unit_fillings per unit. For per-event detail on one unit, follow up with wialon_get_unit_fillings.

wialon_get_fleet_trips

ChatGPT
Per-unit trip summary across a fleet for a time interval. Runs the user's SAVED Wialon group report template (type avl_unit_group) — the same template they'd run from the Wialon UI's Reports menu — so whatever columns they configured (trip count, mileage, duration, fuel, etc.) come back in the response. Pass date / dateFrom+dateTo / period for the interval, and optionally narrow to a specific group via groupId or groupName; with no group filter the whole account is covered (largest group + units outside it). Use this for "which units drove last weekend / today / this month" questions — DO NOT loop wialon_get_unit_trips per unit. For per-trip detail on one unit, follow up with wialon_get_unit_trips. Requires the account to have at least one avl_unit_group report template configured in Wialon; the tool returns a clear error pointing the user to create one if not.

wialon_get_last_messages

ChatGPT
Return a unit's most recent messages — time, speed, course, map position, and ALL incoming parameters (sensors / IO / counters, e.g. pwr_ext, fuel, adc1). Use for 'what is unit X reporting now', 'show last messages / raw parameters', or a quick recent track. Capped at 10 messages. For a time window use wialon_get_messages_interval instead.

wialon_get_live_positions

ChatGPT
Return current latitude/longitude/speed/status for a set of units, ready to render on a map.

wialon_get_messages_interval

ChatGPT
Return a unit's messages for a time window — time, speed, course, map position (the track), and ALL incoming parameters (sensors / IO / counters). Use for 'unit X's track over <period>', 'what parameters did unit X send yesterday', raw telemetry inspection. Window is capped at 14 days and the result at 1000 messages (messages are high-frequency); narrow the window for finer detail.

wialon_get_report_catalog

ChatGPT
Discover Wialon report tables and their columns. This is the UNIVERSAL FALLBACK for any data we don't have a dedicated tool for: speeding events (look for unit_speedings / unit_eco_driving), idling (unit_engine_idle / unit_idles), stops & parkings (unit_stops, unit_parkings), geofence visits (unit_geozones, unit_geozones_summary), engine hours (unit_engine_hours), fuel thefts (unit_thefts), eco-driving violations, driver behaviour, video events, generic violations, or any custom KPI exposed by Wialon's report builder. Returns table system names and column names ready to plug into wialon_run_temporary_report. Pass templateType=avl_unit_group for fleet-wide questions, templateType=avl_unit for single-unit drill-downs.

wialon_get_sensors_now

ChatGPT
Compute current sensor readings for a unit via unit/calc_last_message. Prefer wialon_get_unit_briefing for general questions about a unit; use this tool when only sensor values matter or to compute a specific sensorIds subset.

wialon_get_unit_briefing

ChatGPT
All-in-one unit briefing: settings, current sensor readings, last position, and audit findings — in a single MCP call. Prefer this over chaining wialon_get_unit_settings + wialon_get_sensors_now + wialon_audit_unit_settings.

wialon_get_unit_datasets

ChatGPT
Fetches SEVERAL datasets for one unit in ONE call and returns them as separate tabs on a single card. USE THIS whenever a question covers more than one kind of data about the same unit — "trips and fillings", "fillings and drains", "trips, fuel and alerts", "what happened with this unit last week". Do NOT call the single-dataset tools one after another for such a question: consecutive calls share one widget card, so each result overwrites the previous one and the user is left with only the last table. Pass unitId OR unitName, the datasets you need, and date: "YYYY-MM-DD" / dateFrom+dateTo / period. Built-in datasets: trips, fillings, drains, notification_triggers, change_log. For anything else Wialon's report engine can compute (speeding, stops, geofence visits, engine hours, …), add customTables with a table name and columns from wialon_get_report_catalog. Each dataset costs one Wialon report, so ask only for what the question needs. For a SINGLE dataset still prefer the dedicated tool (wialon_get_unit_trips / _fillings / _drains / _notification_triggers): same rows and same map, plus a chart on the drains and triggers cards.

wialon_get_unit_drains

ChatGPT
Fuel drains for a single unit — sudden fuel-level drops Wialon's report engine detected. If the question covers MORE THAN ONE kind of data about the same unit (trips AND fillings AND drains, say), call wialon_get_unit_datasets ONCE instead of several of these tools: separate calls produce separate cards, and the user loses the combined picture. Pass unitId OR unitName, plus a calendar date — prefer date: "YYYY-MM-DD" for a single day, or dateFrom+dateTo for a range, or a period shortcut. Use this directly for "was fuel drained", "did this unit lose fuel", "why did the level drop" — and when the user phrases it as fuel theft. Do NOT call wialon_search_units, wialon_list_resources or wialon_run_temporary_report first; this tool resolves the unit name, the report resource AND the local-day interval (in the user's Wialon timezone) internally in one shot. Returns one row per drain with time, fuel level before/after and the drained volume, plus the total drained. Call these events DRAINS when you answer — that is the current Wialon term. For fillings (the opposite event) use wialon_get_unit_fillings.

wialon_get_unit_fillings

ChatGPT
Fuel fillings for a single unit. Pass unitId OR unitName, plus a calendar date — prefer date: "YYYY-MM-DD" for a single day, or dateFrom+dateTo for a range, or a period shortcut. Use this directly — do NOT call wialon_search_units, wialon_list_resources or wialon_run_temporary_report first; this tool resolves the name, the report resource AND the local-day interval (in the user's Wialon timezone) internally in one shot. Returns rows with timestamp, volume, fuel level before/after, and location (with map coordinates). For multi-unit fillings, use wialon_run_temporary_report with templateType=avl_unit_group.

wialon_get_unit_notification_triggers

ChatGPT
History of NOTIFICATION FIRINGS for a single unit — which notifications actually triggered, when, with what action and message text. If the question covers MORE THAN ONE kind of data about the same unit (trips AND fillings AND drains, say), call wialon_get_unit_datasets ONCE instead of several of these tools: separate calls produce separate cards, and the user loses the combined picture. Pass unitId OR unitName, plus a calendar date — prefer date: "YYYY-MM-DD" for a single day, or dateFrom+dateTo for a range, or a period shortcut. Use this for "did the speeding alert fire", "what alerts did this unit raise", "why did I get an SMS" questions. This is the HISTORY of firings; wialon_list_notifications lists how notifications are CONFIGURED. Do not call wialon_search_units or wialon_list_resources first — this tool resolves the unit, the resource and the interval internally.

wialon_get_unit_settings

ChatGPT
Fetch read-only unit settings: sensors, counters, trip detector, fuel and last location. Prefer wialon_get_unit_briefing for general 'tell me about this unit' questions — it bundles settings + current sensor values + audit in one call.

wialon_get_unit_trips

ChatGPT
Trips for a single unit. Pass unitId OR unitName, plus a calendar date — prefer date: "YYYY-MM-DD" for a single day (e.g. "2026-05-18"), or dateFrom+dateTo for a range, or a period shortcut. Use this directly — do NOT call wialon_search_units, wialon_list_resources or wialon_run_temporary_report first; this tool resolves the name, the report resource AND the local-day interval (in the user's Wialon timezone) internally in one shot. Returns trip rows with start/end times, duration, mileage, average speed, start/end addresses, and map coordinates. For multi-unit trips, use wialon_run_temporary_report with templateType=avl_unit_group.

wialon_list_drivers

ChatGPT
Detailed list of drivers (name/code/phone/resource) from one resource or all visible resources. wialon_get_account_snapshot already returns the total driver count; use this tool when the user asks to see or filter drivers.

wialon_list_geofences

ChatGPT
Detailed list of geofences (name/type/description/center) from one resource or all visible resources. wialon_get_account_snapshot already returns the total count; use this tool when the user asks to enumerate or see the geofences on the map.

wialon_list_groups

ChatGPT
Detailed list of avl_unit_group items with member counts. wialon_get_account_snapshot already returns the largest groups; use this tool to enumerate all groups or to find a specific group id. Pass the returned group id to wialon_run_temporary_report (templateType=avl_unit_group) and add stray units via objectIdList instead of fanning out per unit.

wialon_list_notifications

ChatGPT
List notifications from one resource or all visible resources.

wialon_list_resources

ChatGPT
List Wialon resources with notification and report template counts. Prefer wialon_get_account_snapshot for first-time inventory; use this tool only when a deeper per-resource breakdown is requested.

wialon_list_retranslators

ChatGPT
List the retranslators configured in Wialon (services that forward unit messages to an external system) with their protocol, how many units they carry, and whether they are running. Use it for "what retranslators do we have", "where do we forward data", "is retransmission working / switched on", or to get a retranslatorId for a report. Set includeUnits=true to also get the NAMES of the units bound to each retranslator — do that when the user asks which units are being retransmitted; without it the tool returns only the unit count, which is much cheaper on a big account. Login, password and other credentials from the retranslator config are never returned.

wialon_list_routes

ChatGPT
List the routes configured in Wialon (ordered sequences of checkpoints with schedules), with their ids. Use it for "what routes do we have", or to get a routeId before running a route report (route adherence, checkpoint arrivals). Route GEOMETRY and checkpoints are not returned — this is a name-to-id directory.

wialon_list_saved_reports

ChatGPT
List the report templates the customer already built and saved in Wialon (across visible resources). Use this FIRST for questions whose answer depends on configuration the user set up — geofence/zone visits, stops/parkings by duration, mileage within working hours or weekdays, eco-driving thresholds, fuel events, custom KPIs — because a saved template already carries the correct geofences, duration filters and time schedule. Returns each template's name, what it runs on (unit or group), its templateId and resourceId — pass those to wialon_run_saved_report. If the list is empty, tell the user to build the report once in Wialon (Reports → Templates); only then fall back to wialon_run_temporary_report.

wialon_list_users

ChatGPT
List the Wialon USER ACCOUNTS visible to the linked user (sub-accounts, operators, dealers), with their ids. Use it to answer "who has access to this account", "list my users", or to get a userId for a per-user report (logins, audit trail). This is about Wialon logins — NOT drivers (wialon_list_drivers) and NOT tracked units (wialon_search_units).

wialon_run_saved_report

ChatGPT
Execute a report template the customer already built in Wialon (discovered via wialon_list_saved_reports) and return its rows + totals. This is the CORRECT path for questions that depend on saved configuration — geofence/zone visits, stops/parkings by duration, mileage within working hours/weekdays — because the template carries the right geofences, duration filters and schedule (a bare wialon_run_temporary_report cannot and will answer wrong). Pass templateId + resourceId from wialon_list_saved_reports, and objectId = a unit id (unit template) or a group id (group template). Columns and the totals line come straight from the template. Use wialon_fetch_more_report_rows to page large results.

wialon_run_temporary_report

ChatGPT
Execute a Wialon report template on-the-fly (no save) and return rows. This is the answer for anything Wialon's report engine can compute: trip logs, speeding events (unit_speedings), eco-driving violations (unit_eco_driving), fuel fillings / thefts, geofence visits (unit_geozones), idling, stops & parkings, engine hours, driver activity, video events, custom KPIs, … — if there's no dedicated tool, plug a table from wialon_get_report_catalog into this one. For fleet-wide reports, use templateType=avl_unit_group with a group id from wialon_list_groups; to also include units outside the group, pass them via objectIdList (Wialon's report/exec_report reportObjectIdList). Prefer this single call to many per-unit reports.

wialon_search_units

ChatGPT
Search Wialon units by name and return a compact read-only list.

Capabilities

Interactive

Example Prompts

Click any prompt to copy it.

Similar Apps