Skip to main content
Glama

komoot-mcp

MCP server for Komoot — the most comprehensive Komoot API wrapper available. Tours, highlights, route planning, exports, and more.

Built with Python + FastMCP. Combines capabilities from kompy, KomootGPX, komPYoot, export-komoot, Eric-AI-M/komoot-mcp-server and Filip-Kin/komoot-mcp into a single MCP server.

Features

Tours

  • List tours — filter by type (planned/recorded), sport, visibility, name, date range, with sorting and pagination

  • Get tour detail — distance, elevation, duration, sport, difficulty, surfaces (also via share token)

  • Get full tour — metadata, surfaces, way types, directions, participants, timeline highlights and photos in one call

  • Update tour — name, sport, visibility, description

  • Delete tour

Exports

  • Download GPX — full GPS trace, inline or saved to a file

  • Download FIT — Garmin/ANT+ format (planned tours only), saved to a file

  • Export all tours — bulk backup to a folder, skipping files already present

Upload

  • Upload tour — GPX text, or a local .gpx / .fit / .tcx file; sets sport, name and visibility; flags duplicates

Route planning & geocoding

  • Plan route — Komoot route planner between waypoints (fitness level, round trip)

  • Plan and save tour — plan and save as a planned tour in one call (no GPX round-trip through the chat)

  • Import GPX route / Create planned tour — match an external GPX on Komoot's network and save it

  • Tour line — lightweight simplified geometry

  • Geocode / reverse geocode — place name ↔ coordinates via Komoot's Photon service

Discovery

  • Find Smart Tours — Komoot's suggested routes around a point, filterable by route attributes (forests, lakes, mountain huts…) or by a highlight they pass through

  • List route attributes — attributes available around a point

  • Smart Tour detail / GPX

  • Discover near — editorial collections around a point

  • Collections — collection metadata and its tours

Highlights

  • Get highlight — community points of interest, optionally with tips and recommenders

  • Highlight tips / photos — paginated

  • Highlights nearby — community highlights within a radius, filterable by sport

  • User highlights — highlights recommended by a user

  • Bookmarks — list, add and remove saved highlights

  • Tour images — photos attached to a tour

Sharing

  • Create / revoke share link for a tour

  • Read shared tour from a Komoot URL (with or without share token)

Streams

  • Coordinates — lat, lng, altitude, timestamp sequence

  • Surfaces — surface types per segment (asphalt, gravel, dirt...)

  • Way types — road, bike path, trail, etc.

  • Directions — turn-by-turn navigation

Profile

  • User profile — full profile for yourself, public profile for another user

40 tools total

Discovery tools return a compact summary per tour by default (compact=False for the raw JSON, which can reach several hundred kilobytes).

Related MCP server: Garmin Workouts MCP Server

Setup

1. Configure credentials

cd komoot-mcp
cp .env.example .env
# Edit .env with your Komoot email and password
KOMOOT_EMAIL=your.email@example.com
KOMOOT_PASSWORD=your_komoot_password

2. Install and run

uv sync
uv run python -m komoot_mcp.server

3. Add to Claude Desktop

{
  "mcpServers": {
    "komoot": {
      "command": "uv",
      "args": ["--directory", "/path/to/komoot-mcp", "run", "python", "-m", "komoot_mcp.server"]
    }
  }
}

Authentication

Basic Auth via Komoot's internal API (/v006/account/email/{email}/). Session token persisted in ~/.config/komoot-mcp/session.json with automatic re-auth on 401. GET requests are retried on 429/502/503/504 with backoff (honouring Retry-After).

Note: Komoot does not have an official public API. This server uses the same undocumented v007 REST API that the web frontend and all major third-party tools use. It could break if Komoot changes their internal API.

Logging

JSON-lines logs in ~/.config/komoot-mcp/logs/komoot-mcp.log. Set KOMOOT_MCP_LOG_LEVEL=DEBUG in .env.

License

MIT

Available Tools

18 tools
create_planned_tourB

Creer un tour planifie sur Komoot a partir d'un resultat de plan_route ou import_gpx_route.

Args: route_data: resultat JSON de plan_route() ou import_gpx_route(). name: nom du tour planifie. sport: type de sport.

Inputs: route_data (required), name, sport. Returns: object

delete_tourC

Supprimer un tour.

Args: tour_id: ID du tour a supprimer.

Inputs: tour_id (required). Returns: object

download_tour_fitA

Telecharger un tour au format FIT (format Garmin/ANT+).

Args: tour_id: ID du tour.

Returns: Indication que le fichier FIT a ete recupere (binaire, non affichable).

Inputs: tour_id (required). Returns: result

download_tour_gpxA

Telecharger un tour au format GPX (trace GPS complete).

Args: tour_id: ID du tour.

Returns: Contenu GPX en texte XML.

Inputs: tour_id (required). Returns: result

get_highlightC

Detail d'un highlight Komoot (point d'interet communautaire).

Args: highlight_id: ID du highlight.

Inputs: highlight_id (required). Returns: object

get_highlight_tipsC

Conseils/tips de la communaute pour un highlight.

Args: highlight_id: ID du highlight.

Inputs: highlight_id (required). Returns: object

get_tourB

Detail complet d'un tour (distance, denivele, duree, sport, difficulte, surfaces, etc.).

Args: tour_id: ID du tour Komoot.

Inputs: tour_id (required). Returns: object

get_tour_coordinatesC

Sequence de coordonnees d'un tour (lat, lng, alt, timestamp).

Args: tour_id: ID du tour.

Inputs: tour_id (required). Returns: object

get_tour_directionsB

Instructions de navigation turn-by-turn d'un tour planifie.

Args: tour_id: ID du tour.

Inputs: tour_id (required). Returns: object

get_tour_imagesB

Lister les images/photos d'un tour.

Args: tour_id: ID du tour.

Inputs: tour_id (required). Returns: object

get_tour_surfacesA

Types de surface par segment d'un tour (asphalte, gravier, terre, etc.).

Args: tour_id: ID du tour.

Inputs: tour_id (required). Returns: object

get_tour_way_typesB

Types de voie par segment d'un tour (route, piste cyclable, sentier, etc.).

Args: tour_id: ID du tour.

Inputs: tour_id (required). Returns: object

get_user_profileA

Profil de l'utilisateur Komoot connecte (nom, avatar, stats).

Inputs: no named parameters. Returns: object

import_gpx_routeA

Importer un fichier GPX et le matcher sur le reseau routier Komoot.

Etape 1/2 pour creer un tour planifie a partir d'un GPX externe. Utiliser ensuite create_planned_tour() avec le resultat.

Args: gpx_content: contenu GPX (texte XML). sport: type de sport pour le matching.

Inputs: gpx_content (required), sport. Returns: object

list_toursB

Lister tes tours Komoot (planifies et enregistres).

Args: tour_type: 'tour_planned', 'tour_recorded', ou None pour tous. sport_types: types de sport separes par virgule (ex: 'hike,touringbicycle,mtb,racebicycle,jogging'). status: 'public', 'private', ou None pour tous. sort_field: champ de tri ('date', 'name', 'distance', 'duration'). sort_direction: 'asc' ou 'desc'. name: filtrer par nom (recherche partielle). page: pagination (0-indexee). limit: nb max (defaut 30, max 100).

Inputs: tour_type, sport_types, status, sort_field, +4 more. Returns: object

plan_routeB

Planifier un itineraire Komoot a partir de waypoints.

Args: coordinates: liste de [lat, lng] pour les points de passage (ex: [[48.5734, 7.7521], [48.5801, 7.7612]]). sport: type de sport ('hike', 'touringbicycle', 'mtb', 'racebicycle', 'jogging').

Inputs: coordinates (required), sport. Returns: object

update_tourC

Modifier les metadonnees d'un tour.

Args: tour_id: ID du tour. name: nouveau nom. sport: type de sport ('hike', 'touringbicycle', 'mtb', 'racebicycle', 'jogging', 'mountaineering', 'running', 'e_touringbicycle', 'e_mtb', 'nordic_walking', 'skitour', 'snowshoe'). status: 'public' ou 'private'.

Inputs: tour_id (required), name, sport, status. Returns: object

upload_tourB

Uploader un fichier GPX comme activite enregistree sur Komoot.

Args: gpx_content: contenu du fichier GPX (texte XML). sport: type de sport ('hike', 'touringbicycle', 'mtb', 'racebicycle', 'jogging', 'mountaineering', 'running'). tour_name: nom du tour (optionnel). data_type: 'gpx' ou 'fit'.

Inputs: gpx_content (required), sport, tour_name, data_type. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 18 tools

    Disambiguation5/5

    Each tool targets a distinct aspect of Komoot (tours, highlights, planning, user profile) with clear scope. Tools like get_tour, download_tour_gpx, and get_tour_coordinates all relate to tours but return different data types, preventing confusion.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern (e.g., create_planned_tour, delete_tour, get_highlight). Snake_case is used uniformly, and verbs clearly indicate the action.

    Tool Count4/5

    18 tools is slightly above the typical 3-15 range but well-justified for the complexity of a mapping and outdoor activity service. No tool feels redundant or out of place.

    Completeness4/5

    The tool set covers core workflows: planning, uploading, managing, and downloading tours, plus highlights and user profile. Minor gaps exist (e.g., no search for highlights by location) but do not hinder primary use cases.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      Enables triathlon coaches and athletes to interact with Garmin Connect, including retrieving health/activity data, building and uploading structured workouts (cycling, running, swimming, brick), and accessing coaching analytics like readiness, load, and performance trends.
      172
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables Claude to search your Komoot tours by distance, start point, surface and scenery, and to assemble new gravel routes from the best sections of tours you already saved, exporting the result as a GPX track plus waypoints for the Komoot planner.
      9
      MIT