Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
livedot is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Find someone in a live running or cycling race, clubs and coaches near you, and race-day weather.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http livedot-mcp https://livedot.me/mcp
# 2 — ask your agent for something these tools do
# find_person, where_is, event_status and 17 more
livedot costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http livedot-mcp https://livedot.me/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
20 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Finds a person who is live on livedot right now (cycling on Windline, running on RunFast) and answers where they are. Use it when the user asks where someone is or how they're doing in a race ("Where's Megan in the Comrades?"), or gives a livedot handle (@megan, livedot.me/megan) or a follow link. Inputs: name_or_handle as the user wrote it; event if they named the race; surname, bib, club, place
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name_or_handle | string | yes | The person's name as the user said it ("Megan", "Megan Naidoo"), a livedot handle exactly as typed ("@megan", "livedot.me/megan"; a capitalised name like "Megan" is searched as a name), or a follow li |
| event | string | no | The race, if named: "Comrades", "Coast Classic". Narrows the search to that race. |
| surname | string | no | A surname or its first letter, to narrow many matches. |
| bib | string | no | A bib number, if the user gave one. |
| club | string | no | A club, if the user gave one. |
| place | string | no | A home town or country, if the user gave one. |
| wave | string | no | A start wave or start time, if the user gave one. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Where someone is right now, in a live race or on a ride or run of their own (Ride live, Run live), and the weather they're in: km and mile on the course, time against their goal, pace, the finish time it points to, the temperature and wind there (headwind, tailwind or side-on) with the Windline forecast engine's rating, the wind and heat over the next few km, and a live map with a Follow live butt
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person | string | no | A person id from find_person, e.g. "runfast:p:pdemo00megan" or "h:megan". |
| handle | string | no | A livedot handle ("megan") or link (livedot.me/megan). |
| code | string | no | A follow link or its code (windline.tech/f/<code>, runfast.tech/f/<code>). "demo" with app gives the demo. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Shows how a live race on livedot is going. Use it when the user asks how a race is going or who is leading ("How's the Comrades going?", "Who's leading the Coast Classic?"). Inputs: event (the race's name). Returns: whether it's live, how long it has been under way, how many people are on the public map, how many have finished, and the leaders the public race map shows, with a live map. If several
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event | string | yes | The race's name, e.g. "Comrades", "Coast Classic demo". |
| club | string | no | A club or team, if the user asked about one in this race (as club_in_race). |
| coach | string | no | A coach, if the user asked about their athletes in this race (as club_in_race). |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Shows how a club, team or coach's athletes are doing in a live race. Use it when the user asks about a club or team in a race ("How is the UCT team doing in the Comrades?") or a coach's athletes ("How are Coach Nadia's runners doing in the Comrades?"). Inputs: club (its name or page address, windline.tech/c/<club> or runfast.tech/c/<club>) or coach; event if named. Returns: each member's km, time
| Parameter | Type | Required | Notes |
|---|---|---|---|
| club | string | no | The club or team as the user said it ("UCT", "the UCT team", "Coast Riders"), or its page address (runfast.tech/c/uct). |
| coach | string | no | Instead of club: a coach as the user said it ("Coach Nadia", "Nadia Pillay"), or the coach id a picker gave ("runfast:coach-nadia-pillay"). |
| event | string | no | The race, if named: "Comrades", "Coast Classic". |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
What the weather will be like for a cycling or running event, for the people taking part: "What will the weather be like for the NYC Marathon?", "Weather for the Comrades demo?". Within 10 days of the start: the live forecast (Apple Weather) along the course at the times the riders or runners get to each stretch, with the Windline forecast engine's rating (Good, Fair, Tough) and why, the headwind
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event | string | yes | The event's name, e.g. "NYC Marathon", "Gravel Burn", "Comrades demo". |
| year | integer | no | The edition's year, if the user named one. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Fly over a race course inline: "Fly the Comrades", "Show me the course", "What does the NYC Marathon route look like?". Returns a flyover of the course on a map that plays in the chat, coloured by the weather along it (the live forecast within 10 days of the start, 10 years of weather on that date beyond it, as event_weather), with a "Fly it in 3D" link to the full Fly the route and the event's li
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_or_route | string | yes | The event or route, e.g. "Comrades", "NYC Marathon", "Gravel Burn". |
| year | integer | no | The edition's year, if named. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
A Windline cycling tour's route, day by day: "What's the Durban Tour 2027 route?", "Give me the GPX files for Alistair's tour", "Where is Alistair's Durban tour?". On the tour's days its card offers a tap on the back for the organiser (tap_on_the_back with tour). To fly over day 3 of a tour ("Give me the flyover for day 3 of TSF 2026"), pass day: 3. Finds a published tour by its name, its address
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tour | string | yes | The tour's name, address or organiser, e.g. "ProLend 2027 Durban Tour", "AllyCat". |
| day | integer | no | One day of the tour to fly over (1 for day 1), when the user asks for a day: the flyover of that day and its Fly it in 3D link. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Beta, cycling tours only: the organiser's own notes for riders on a Windline tour (what to pack, how the tour runs, meeting points), for questions like "What should I pack for the Durban tour?". Answer only from the notes: quote and summarise them as the organiser's words, never invent anything, and say so when they don't cover the question.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tour | string | yes | The tour's name, address or organiser. |
| question | string | no | The rider's question, if any. |
Sends a tap on the back: a short buzz on the person's phone, with the sender's name if signed in (or a first name they give). In the day after a finish it arrives as a congratulation. Use it only when the user explicitly asks to give someone a tap on the back; one tap per request. Inputs: person (an id from find_person), or a livedot handle or follow link; or tour (the tap goes to the tour's organ
| Parameter | Type | Required | Notes |
|---|---|---|---|
| person | string | no | A person id from find_person, e.g. "runfast:p:pdemo00megan" or "h:megan". |
| handle | string | no | A livedot handle ("megan") or link (livedot.me/megan). |
| code | string | no | A follow link or its code (windline.tech/f/<code>, runfast.tech/f/<code>). |
| tour | string | no | A Windline tour, by its name, address or organiser ("Alistair's Durban tour"): the tap goes to the tour's organiser, who reads them out at night. |
| club | string | no | A club or team, by its name or page address, or the club id a club card gave ("runfast:demo"): one tap to each of its members on the map. |
| coach | string | no | A coach, or the coach id a team card gave ("runfast:coach-nadia-pillay"): one tap to each of their athletes on the map. |
| event | string | no | With club or coach: the race they are in, if named. |
| name | string | no | The first name the user wants on the tap ("Sam"), if they gave one. A signed-in user's tap shows their own public name instead. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Find running and cycling clubs near a place, e.g. best running club to join in Fourways, beginner cycling group near Sandton. Lists approved clubs and organisers on Windline (cycling) and RunFast (running) nearest first, with their weekly sessions, whether beginners are welcome, whether anyone can join (Open to anyone) or it's members only, their pace groups, their next session with its weather, t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place | string | yes | The suburb, town or city, as the user said it, e.g. "Fourways", "Durban North", "Cape Town". |
| sport | string | no | cycling or running, or one sport: road, gravel, mtb, road-run, trail-run, tours (multi-day tours). Leave it out for both. |
| beginners | boolean | no | true when the user wants a beginner-friendly club ("beginner friendly", "new to cycling"). |
| open | boolean | no | true for only clubs open to anyone (no membership needed): "open to anyone", "anyone can join", "no membership". |
| km | number | no | How far from the place, in km (1 to 100). Leave it out for 25 km. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Find public cycling and running events near a place and when: races, multi-day tours, club rides and club runs on Windline and RunFast, e.g. trail runs near Cape Town in November, cycle tours around Johannesburg. Each with its date, where it starts, the weather (the forecast within 10 days, typical weather beyond), its club or organiser and an I'm in link to its page. Only published public events
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place | string | yes | The suburb, town or city, as the user said it, e.g. "Fourways", "Durban North", "Cape Town". |
| sport | string | no | cycling or running, or one sport: road, gravel, mtb, road-run, trail-run, tours (multi-day tours). Leave it out for both. |
| when | string | no | When, as the user said it: "November", "this weekend", "next month", "2026-11-14", or "2026-11-01 to 2026-11-30". Leave it out for the next four months. |
| kind | string | no | Only races, only multi-day tours, or only club rides or runs. |
| km | number | no | How far from the place, in km (1 to 100). Leave it out for 50 km. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Find cycling and running coaches and training groups near a place, e.g. personal cycling trainer in Johannesburg, running coach near Sandton, coaches near Fourways. Use it for any coach, personal trainer, coaching or training group question (never find_clubs, which lists clubs). Lists coaches and training groups on Windline (cycling) and RunFast (running) nearest first, with what they coach (road,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place | string | yes | The suburb, town or city, as the user said it, e.g. "Fourways", "Durban North", "Cape Town". |
| sport | string | no | cycling or running. Leave it out for both. |
| specialty | string | no | What the coach coaches, if the user said: road, mtb, gravel, triathlon, beginners, racing, marathon or ultra. |
| format | string | no | one-to-one for a personal trainer or private coaching, group for a training group or small group, online for remote coaching. |
| beginners | boolean | no | true when the user is new to the sport ("for beginners", "new to running"). |
| km | number | no | How far from the place, in km (1 to 100). Leave it out for 25 km. |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
Weather and a flyover for a GPX file or route the user shares. If the user attached a GPX or route file, call plan_route and pass the file as gpx_file; if you can read the file's contents yourself, you may instead pass its text as gpx or its points as points. Never treat a file name as an event name. Also a Ride with GPS or GPX link, or another app's route points: the weather along it at the time
| Parameter | Type | Required | Notes |
|---|---|---|---|
| gpx | string | no | The GPX file's text (up to 5 MB): if the user pasted it, or attached a file you can read yourself (for example with code). |
| url | string | no | A link to the route: a Ride with GPS route, ride or collection (a collection gives one day per route), or any public link to a GPX file. Not Strava. |
| polyline | string | no | The route as an encoded polyline (Google's format, precision 5 or 6), as another app's tool gives it (a route's or an activity's map). |
| points | array | no | The route as its points: [[lat, lon], …], with elevation in metres as a third number if known. Up to 50,000. Use it for points another app's tool gave, or that you read from an attached file (GPX, FIT |
| gpx_file | object | no | The GPX or route file the user attached (ChatGPT passes it here). |
| gpx_files | array | no | Several GPX or route files the user attached (ChatGPT passes them here): one per day of a tour, ordered by the numbers in their names, else by the map. |
| start | string | yes | When they start, "YYYY-MM-DD HH:MM" local to the route. Ask if they didn't say. |
| files | array | no | Several GPX files (a multi-day tour): ordered by the numbers in their names, else by the map; one day after another from start. |
| rest_days | array | no | With files: dates with no riding, "YYYY-MM-DD", only if the user named rest days. |
| starts | array | no | Each day's own local start, "YYYY-MM-DD HH:MM", when they differ. |
| name | string | no | What to call the plan, if the user named it. |
| tz | string | no | The route's IANA time zone, if known (else worked out from where it starts). |
| sport | string | no | ride (default) or run. |
| pace | number | no | Riding speed in km/h (default 25), or running pace in minutes per km (default 6). |
| units | string | no | Pass the asker's units: imperial for users in the US, UK road distances, Liberia or Myanmar, or when they ask in miles/°F; otherwise metric. |
The signed-in organiser's own events on Windline (rides, tours, races) or RunFast (runs, races, and their clubs' runs): each with its id, status (draft or published), who it's for (private or shared), dates, distance, whether it's finished, and its dashboard, public or private links; and the club and organiser pages they run (pages on Windline, clubs on RunFast). Call it before making a new event,
No parameter schema on file.
Create an event in the signed-in account from GPX files or links: a cycling ride, tour or race (Windline) or a run or running race (RunFast). Pass every GPX the user gave as files: several files make a multi-day tour by themselves (never ask for the type when it's obvious), ordered by the numbers in their names (1, 01, "day-2", "Stage 3"), else by the map (each day starts where the last ended); da
| Parameter | Type | Required | Notes |
|---|---|---|---|
| type | string | no | ride, tour or race on Windline (cycling); run on RunFast (a running race: type run with race: true). Leave it out when it's obvious: several files make a tour, one file a ride (or a run on a RunFast a |
| files | array | no | Every GPX the user attached or linked, in the order they came: one per day of a tour, one for a ride or run. |
| start | string | no | With files: day 1's local start, "YYYY-MM-DD HH:MM" (the same time every day unless starts says otherwise). Ask if they didn't say. |
| rest_days | array | no | With files: dates with no riding, "YYYY-MM-DD", only if the user named rest days. |
| visibility | string | no | private: just for them (My Rides; a private run). shared: for a group, published later. Ask if they run a club and didn't say. |
| confirm | boolean | no | With files: true only after the user said yes to the plan this tool returned. |
| name | string | no | The event's name; with files, left out to use the suggested one. |
| race | boolean | no | RunFast: a race (once, with a gun time) rather than a run. |
| days | array | no | One per day (a ride or a run: one). Or give url with a Ride with GPS collection and starts. |
| url | string | no | A Ride with GPS collection for a multi-day tour (one day per route), used with starts. |
| starts | array | no | Each day's own local start, "YYYY-MM-DD HH:MM", when they differ (with url or files). |
| weekly | object | no | A weekly ride or run: { days: [0-6, Sunday is 0], time: "HH:MM" }. |
| tz | string | no | IANA time zone; else worked out from where the route starts. |
| description | string | no | What the event is, for its public page. |
| notes | string | no | Tours: the organiser's notes for riders (what to pack, meeting points), as they pasted or attached them, markdown, up to 10,000 characters. RunFast: a short note (600 characters). |
| place | string | no | RunFast: where it starts, in words. |
| pace | number | no | Riding km/h, or running seconds per km. |
| page | string | no | Windline: the club or organiser page address to show it on (one they run). |
| club | string | no | RunFast: the club address (one they manage). |
| polyline | string | no | The route as an encoded polyline (Google's format, precision 5 or 6), as another app's tool gives it (a route's or an activity's map). One route: a ride, a run or a one-day race (with start). |
Change one of the signed-in organiser's events: its name, description or notes, or start dates and times. Never a finished event (finished events stay as they were). Tell the user exactly what will change and get a yes first.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_id | string | yes | From list_my_events. |
| name | string | no | A new name. |
| description | string | no | A new description for its public page. |
| notes | string | no | RunFast runs only (tours: add_tour_notes). |
| place | string | no | RunFast: where it starts, in words. |
| days | array | no | Windline tours and races: [{ day: 2, date?: "YYYY-MM-DD", time?: "HH:MM" }]. |
| date | string | no | A one-off ride or run: its new date, YYYY-MM-DD. |
| time | string | no | A ride or run: its new start time, HH:MM. |
Set or add to a Windline cycling tour's notes for riders (what to pack, how the tour runs, meeting points; markdown, up to 10,000 characters), shown on the tour's page. Never a finished tour. Show the user the notes and get a yes first.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_id | string | yes | The tour's id, from list_my_events. |
| notes | string | yes | The notes for riders, in markdown (up to 10,000 characters). |
| mode | string | no | replace (default) or append. |
Publish one of the signed-in organiser's draft events, so anyone with its link can see it (Windline: at tour., event. or ride.windline.tech/<address>). Private events can't be published. ALWAYS ask the user to confirm first, then call with confirm: true.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_id | string | yes | The draft's id, from list_my_events or create_event. |
| address | string | no | Windline: the public address, lowercase letters, numbers and hyphens, e.g. "cape-coast-2027". |
| confirm | boolean | yes | true only after the user said yes. |
Post a DRAFT group ride (Windline) or club run (RunFast) on a club or organiser page the signed-in person runs, from a GPX route or link, once or weekly: always for the group, never private. Publish it with publish_event. Confirm the details with the user first. If the signed-in person runs any club or organiser page (list_my_events lists them) and hasn't said who it's for, ask one short question
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | string | yes | The club or organiser page address (livedot.me/<address>). |
| name | string | yes | The ride's or run's name, e.g. "Saturday coffee ride". |
| gpx | string | no | The GPX file's text (up to 5 MB): if the user pasted it, or attached a file you can read yourself (for example with code). |
| url | string | no | A link to the route: a Ride with GPS route, ride or collection (a collection gives one day per route), or any public link to a GPX file. Not Strava. |
| polyline | string | no | The route as an encoded polyline (Google's format, precision 5 or 6), as another app's tool gives it (a route's or an activity's map). |
| points | array | no | The route as its points: [[lat, lon], …], with elevation in metres as a third number if known. Up to 50,000. Use it for points another app's tool gave, or that you read from an attached file (GPX, FIT |
| start | string | yes | A one-off: "YYYY-MM-DD HH:MM" local. Weekly: the first one. |
| weekly | object | no | Weekly: { days: [0-6, Sunday is 0], time: "HH:MM" }. |
| tz | string | no | IANA time zone; else worked out from where the route starts. |
| description | string | no | What the ride or run is, for the club page. |
| place | string | no | RunFast: where it starts, in words. |
| gpx_file | object | no | The GPX or route file the user attached (ChatGPT passes it here). |
Invite a club's members, or a tour's riders, by email, from a list the organiser gives (a CSV, a spreadsheet's text, or names and addresses typed in): for a club or organiser page the signed-in person runs (page on Windline, club on RunFast) or a published tour of theirs (event). Each person gets one email from livedot: "<club> added you as a member" (or "<organiser> added you to <tour>") with Con
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | string | no | Windline: the club page address they run (livedot.me/<address> or windline.tech/c/<address>). |
| club | string | no | RunFast: the club address they manage (runfast.tech/c/<address>). |
| event | string | no | A published Windline tour of theirs, by its id from list_my_events. |
| csv | string | no | The list as the organiser gave it: a CSV or spreadsheet's text (any delimiter, with or without a header row), up to 2,000 people. |
| people | array | no | Or the people as a list: [{ name, email }]. |
| confirm | boolean | no | true only after the organiser said yes to the preview this tool returned. |
| csv_file | object | no | The CSV or spreadsheet the organiser attached (ChatGPT passes it here); or pass its text as csv. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install livedot or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| find_person | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| where_is | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| event_status | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| club_in_race | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| event_weather | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| fly_route | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| tour_route | untrusted-input | untrusted-input: keyword "download", declares openWorldHint: true (interacts with entities outside the server) |
| tour_notes | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| tap_on_the_back | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| find_clubs | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| find_events | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| find_coaches | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| plan_route | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| list_my_events | no tags | |
| create_event | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| update_event | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| add_tour_notes | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| publish_event | external-sink | external-sink: keyword "publish_event", declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| post_club_ride | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| invite_members | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.1.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish livedot can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.