{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_4ha8gfakexuk","handle":"garmin-connect-treinos","url":"https://wellknown.network/agents/garmin-connect-treinos","links":{"self":"https://wellknown.network/agents/garmin-connect-treinos/record.json","html":"https://wellknown.network/agents/garmin-connect-treinos","markdown":"https://wellknown.network/agents/garmin-connect-treinos/record.md","api":"https://wellknown.network/api/v1/agents/garmin-connect-treinos","status":"https://wellknown.network/api/v1/agents/garmin-connect-treinos/status","claim":"https://wellknown.network/agents/garmin-connect-treinos/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/garmin-connect-treinos/claim.json","badge":"https://wellknown.network/agents/garmin-connect-treinos/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/garmin-connect-treinos/history","tools":"https://wellknown.network/api/v1/agents/garmin-connect-treinos/tools"},"ard":{"identifier":"urn:air:api.mcp.ai:server:garmin-connect-treinos","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Garmin Connect (treinos)","summary":"List, fetch, create, edit (replace), delete and schedule structured workouts on Garmin Connect (runn","description":"List, fetch, create, edit (replace), delete and schedule structured workouts on Garmin Connect (runn","publisher":{"name":"mcp-dir","url":null},"homepage":null,"repository":"https://github.com/mcp-dir/garmin-mcp","version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.mcp.ai/p_garmin","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-06-10T17:55:47.082832Z","publishedAt":"2026-06-10T17:55:47.082832Z","registryName":"io.github.mcp-dir/garmin-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":0.569,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.525,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":0.51,"provenance":"derived"}],"categories":["ai","commerce","infra","productivity","security"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 20h ago.","lastOkAt":"2026-10-09T06:21:01.839Z","lastProbedAt":"2026-10-09T06:21:01.839Z","statusComputedAt":"2026-10-09T06:23:08.759Z","reliability30d":{"probes":47,"successRate":1,"p50Ms":199,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":47,"ok":47,"authBoundaryOk":0,"serviceOk":47,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T06:21:01.839Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":134,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.369","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:28:08.862Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":126,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.368","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T10:47:39.266Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":135,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.368","protocolVersion":"2025-06-18"}},{"at":"2026-10-06T12:27:42.391Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":151,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.365","protocolVersion":"2025-06-18"}},{"at":"2026-10-05T14:29:40.335Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":358,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.358","protocolVersion":"2025-06-18"}},{"at":"2026-10-04T15:28:50.821Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":139,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.358","protocolVersion":"2025-06-18"}},{"at":"2026-10-03T16:34:04.360Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":116,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.356","protocolVersion":"2025-06-18"}},{"at":"2026-10-02T17:24:40.284Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":165,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.353","protocolVersion":"2025-06-18"}},{"at":"2026-10-01T18:26:35.552Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":153,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.353","protocolVersion":"2025-06-18"}},{"at":"2026-09-30T19:24:27.339Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":168,"error":null,"detail":{"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":16,"toolsHash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.351","protocolVersion":"2025-06-18"}}],"tools":[{"name":"garmin_list_accounts","description":"List all Garmin logins linked to this install (id, email, label, created_at)."},{"name":"garmin_list_workouts","description":"List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin)."},{"name":"garmin_get_workout","description":"Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.\n\nBulk support: accepts workout_ids for batched"},{"name":"garmin_submit_workout","description":"Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO)."},{"name":"garmin_edit_workout","description":"Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.\n\nBulk support: a"},{"name":"garmin_delete_workout","description":"Delete a workout template from Garmin Connect by workout_id.\n\nBulk support: accepts workout_ids for batched execution."},{"name":"garmin_schedule_workout","description":"Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.\n\nBulk support: "},{"name":"garmin_list_scheduled_workouts","description":"List calendar scheduled workouts for a given month/year from Garmin calendar-service."},{"name":"garmin_get_scheduled_workout","description":"Get one scheduled workout entry by scheduled_workout_id.\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"garmin_unschedule_workout","description":"Remove workout from calendar by scheduled_workout_id (does not delete the workout template).\n\nBulk support: accepts scheduled_workout_ids for batched execution."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"package":null,"toolSurface":{"id":"ts_6uuc72mg6jnr","endpointId":"ep_sba7526zpdej","hash":"5abe5942278052ed5370f216d2be8f9dd1d6502f206694f3304f79486b1cbf3f","toolCount":16,"serverName":"mcp-ai","serverVersion":"0.9.346","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T16:25:44.627Z","lastSeenAt":"2026-10-09T06:21:01.847Z","observations":39,"toolNames":["garmin_list_accounts","garmin_list_workouts","garmin_get_workout","garmin_submit_workout","garmin_edit_workout","garmin_delete_workout","garmin_schedule_workout","garmin_list_scheduled_workouts","garmin_get_scheduled_workout","garmin_unschedule_workout","show_version","report_bug","connect","toolkit_info","marketplace","authenticate"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_sba7526zpdej","url":"https://api.mcp.ai/p_garmin","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T06:21:01.851Z","auth":{"observedAt":"2026-10-09T06:21:01.945Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T06:21:01.953Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.ai","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-28T19:13:28.000Z","validTo":"2026-12-27T20:13:21.000Z","daysToExpiry":78,"sanCount":2,"fingerprint256":"E7:DF:D9:D6:BD:02:F4:65:51:8A:94:85:49:44:9D:D7:B4:0D:F5:9B:C6:D5:A0:B7:D3:12:57:AB:F8:3D:EE:BA"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.mcp-dir/garmin-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.mcp-dir%2Fgarmin-mcp","firstSeenAt":"2026-09-06T19:18:47.349Z","fetchedAt":"2026-10-07T18:20:16.577Z","normalizedAt":"2026-10-07T18:20:16.577Z"}]},"firstSeenAt":"2026-09-06T19:18:47.349Z","updatedAt":"2026-10-09T06:23:47.193Z"}