Tern EV-Charging Analytics (dev)
io.github.useternai/usetern-dev · v0.1.0 · MCP 2025-11-25
EV-charging site analytics: utilization, demand, peak saturation and corridor benchmarks.
Reachability
reachable
checked 2026-09-20 05:30 UTC
Registry status active
Tools pinned 26
54a8495f6a9a
Tools last changed
unchanged since first capture 2026-09-18
Provenance
Registry namespace io.github.useternai
(GitHub-account verified by the official registry)
Website
https://usetern.ai
Remote endpoints
https://tern-mcp-dev-537572042041.europe-west4.run.app/mcp (streamable-http)
Observed changes
| When (UTC) | Event | Detail |
|---|---|---|
| 2026-09-18 05:30 | first capture | 26 tools pinned |
Pinned tool definitions (26)
| Tool | Description |
|---|---|
| search_charging_stations | Find charging stations in one country by structured filter — id, title, address, operator. The reply is the API payload inline: station ids, titles, addresses and operators, which is what the claim tools take as site_id and station_id. |
| nearby_charging_stations | List the charging stations within a radius of a point, nearest first. The radius is in kilometres and at most 10; the reply is the API payload inline. This is how a site's competitors are found before any claim is read. |
| list_evses | List the individual EVSEs (connectors) of up to 20 stations, with their capacity in kW. Stall counts and capacity bands come from here rather than from a station record. |
| aggregate_charging_utilization | Station-level utilization aggregated over a GeoJSON area and a date window of at most 92 days, optionally filtered to a capacity band (default 150 kW = HPC; pass 100 for fast charging). The reply is one row per station, so it reads an... |
| aggregate_evse_utilization | EVSE-level utilization aggregated over a GeoJSON area and a date window of at most 92 days, optionally filtered to a capacity band. The per-connector counterpart of aggregate_charging_utilization. |
| area_benchmark | How hard is each EVSE at this site working compared with the area around it? Reads the area_benchmark claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient),... |
| avg_session_minutes | How long does a session at this site actually last? Reads the avg_session_minutes claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the typed result, and... |
| busy_evse_hours | How many EVSE-hours at this station carried charging on the drilled day, and how many of its EVSEs were charging at once in the busiest hour? Reads the busy_evse_hours claim for one site and returns only its result: the status the... |
| corridor_benchmark | How does this site's demand per EVSE-day compare with the corridor drawn around it? Reads the corridor_benchmark claim for one site and returns only its result: the status the claim decided from its own observations (computed or... |
| corridor_comparison | How does this site compare with the named stations around it — distance, EVSE count, max kW, and sessions per EVSE-day each? Reads the corridor_comparison claim for one site and returns only its result: the status the claim decided... |
| daily_spike | Which days ran far above this site's normal, and by how much? Reads the daily_spike claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the typed result,... |
| day_vs_similar | Was one particular day unusual for the day of week it fell on? Reads the day_vs_similar claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the typed... |
| demand_share_multiple | How much of the area's demand does this one site take, said as a multiple of the mean station? Reads the demand_share_multiple claim for one site and returns only its result: the status the claim decided from its own observations... |
| estate_coverage | Which estate sites reported on every day of the window, which are partial or young, and how full is the window's final day? Reads the estate_coverage claim for one site and returns only its result: the status the claim decided from its... |
| estate_monthly_series | Did demand per EVSE across the estate move month over month, and did each focus site move with it? Reads the estate_monthly_series claim for one site and returns only its result: the status the claim decided from its own observations... |
| hourly_spike | When in the day does demand at this site peak? Reads the hourly_spike claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the typed result, and the display... |
| monthly_sessions_per_stall_day | Is demand per EVSE rising or falling month over month? Reads the monthly_sessions_per_stall_day claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the... |
| peak_hour_co_saturation | When the site reaches its busiest hour of the day, do the stations around it reach their own busiest hours at the same time? Reads the peak_hour_co_saturation claim for one site and returns only its result: the status the claim decided... |
| poi_context | What kind of place is this site sitting in? Reads the poi_context claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the typed result, and the display a... |
| rank_gap | Where does this site sit in its estate's ranking, and how far is it from the estate median and the estate leader? Reads the rank_gap claim for one site and returns only its result: the status the claim decided from its own observations... |
| road_context | What road does this site sit on, and what class is it? Reads the road_context claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the typed result, and the... |
| sessions_per_stall_day | How hard is each EVSE at this site working per day? Reads the sessions_per_stall_day claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the typed result,... |
| site_profile | What is this site — how many EVSEs, and how close is the nearest station? Reads the site_profile claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the... |
| site_ranking | How do the estate's sites rank on sessions per EVSE-day over one window, and how far is the leader above the estate median? Reads the site_ranking claim for one site and returns only its result: the status the claim decided from its... |
| total_charging_minutes | How many minutes of charging did this site actually deliver over the window? Reads the total_charging_minutes claim for one site and returns only its result: the status the claim decided from its own observations (computed or... |
| total_sessions | How much charging demand did this site see over the window? Reads the total_sessions claim for one site and returns only its result: the status the claim decided from its own observations (computed or insufficient), the typed result,... |
Get alerted when this changes.
Email the moment io.github.useternai/usetern-dev drifts, dies, or revives.
Status badge
[](https://toolpin.dev/servers/io.github.useternai/usetern-dev)
Maintain this server? Add the badge to your README. It links your users to this live status page.