LeashIndex Get the report

Index / calendar

io.github.hhopke/intervals-icu-mcp

io-github-hhopke-intervals-icu-mcp declares 66 capabilities across 66 tools, with 2 critical issues.

97/100 exposureHigh exposure

Manifest recorded 2026-10-22 from tools/list answered by the PyPI package intervals-icu-mcp==5.7.1 (published to PyPI as intervals-icu-mcp, listed in the official MCP registry as io.github.hhopke/intervals-icu-mcp 5.7.1), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 66 tools

66 of 66 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

critical · irreversible-uncapped · 9 of 66 tools

9 tools are classified as irreversible and declare no limit.

high · no-expiry · All 66 tools

66 of 66 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 66 tools

66 of 66 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 20 of 66 tools

20 tools can modify data and declare no limit.

low · uncapped-read · 37 of 66 tools

37 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
icu_get_recent_activitiesread declared
icu_get_activities_by_dateread declared
icu_get_activity_detailsread declared
icu_search_activitiesread declared
icu_search_activities_fullread declared
icu_get_activities_aroundread declared
icu_update_activitywrite inferred
icu_update_activity_streamsdestructive declared
icu_bulk_create_manual_activitiesdestructive declared
icu_download_activity_fileread declared
icu_download_fit_fileread declared
icu_download_gpx_fileread declared
icu_get_activity_streamsread declared
icu_get_activity_intervalsread declared
icu_get_best_effortsread declared
icu_search_intervalsread declared
icu_get_power_histogramread declared
icu_get_hr_histogramread declared
icu_get_pace_histogramread declared
icu_get_gap_histogramread declared
icu_list_athletesread declared
icu_get_athlete_profileread declared
icu_update_athlete_noteswrite inferred
icu_get_fitness_summaryread declared
icu_get_fitness_chartread declared
icu_get_wellness_dataread declared
icu_get_wellness_for_dateread declared
icu_update_wellnesswrite inferred
icu_get_calendar_eventsread declared
icu_get_upcoming_workoutsread declared
icu_get_eventread declared
icu_get_annual_training_planread declared
icu_create_eventwrite inferred
icu_update_eventwrite inferred
icu_delete_eventdestructive declared
icu_bulk_create_eventswrite inferred
icu_bulk_update_event_accesswrite inferred
icu_bulk_delete_eventsdestructive declared
icu_duplicate_eventswrite assumed
icu_apply_training_plandestructive declared
icu_get_power_curvesread declared
icu_get_hr_curvesread declared
icu_get_pace_curvesread declared
icu_get_workout_libraryread declared
icu_get_workouts_in_folderread declared
icu_create_workoutwrite inferred
icu_update_workoutwrite inferred
icu_delete_workoutdestructive declared
icu_bulk_create_workoutswrite inferred
icu_create_workout_folderwrite inferred
icu_delete_workout_folderdestructive declared
icu_get_gear_listread declared
icu_create_gearwrite inferred
icu_update_gearwrite inferred
icu_delete_geardestructive declared
icu_create_gear_reminderwrite inferred
icu_update_gear_reminderwrite inferred
icu_get_sport_settingsread declared
icu_update_sport_settingswrite inferred
icu_create_sport_settingswrite inferred
icu_get_activity_messagesread declared
icu_add_activity_messagesend inferred
icu_get_custom_itemsread declared
icu_get_custom_itemread declared
icu_create_custom_itemwrite inferred
icu_update_custom_itemwrite inferred
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.