← WebMCP Directory

Tool tree

web-mcp-server.vercel.app

Travel & EventsTools verified
Website
AI Trip Planner
Explore capabilities
    fly_toAction

    Animate the map camera to a specific location. Use this to navigate the map to a place of interest.

    View tool JSON
    {
      "name": "fly_to",
      "kind": "act",
      "impl": "imperative",
      "description": "Animate the map camera to a specific location. Use this to navigate the map to a place of interest.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "longitude": {
            "type": "number",
            "description": "Longitude of the target location",
            "minimum": -180,
            "maximum": 180
          },
          "latitude": {
            "type": "number",
            "description": "Latitude of the target location",
            "minimum": -90,
            "maximum": 90
          },
          "zoom": {
            "type": "number",
            "description": "Zoom level (0–22). Defaults to current zoom if omitted.",
            "minimum": 0,
            "maximum": 22
          }
        },
        "required": [
          "longitude",
          "latitude"
        ]
      }
    }
    add_markerAction

    Add a marker pin at a location on the map, with an optional popup label.

    View tool JSON
    {
      "name": "add_marker",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a marker pin at a location on the map, with an optional popup label.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "longitude": {
            "type": "number",
            "description": "Longitude",
            "minimum": -180,
            "maximum": 180
          },
          "latitude": {
            "type": "number",
            "description": "Latitude",
            "minimum": -90,
            "maximum": 90
          },
          "label": {
            "type": "string",
            "description": "Optional popup text to display on the marker"
          }
        },
        "required": [
          "longitude",
          "latitude"
        ]
      }
    }
    clear_markersAction

    Remove all markers that were added to the map via the add_marker tool.

    View tool JSON
    {
      "name": "clear_markers",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove all markers that were added to the map via the add_marker tool.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    }
    get_viewportAnswer

    Return the current map viewport: center coordinates, zoom level, bearing, pitch, and bounding box.

    View tool JSON
    {
      "name": "get_viewport",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the current map viewport: center coordinates, zoom level, bearing, pitch, and bounding box.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    }
    show_routeAction

    Draw a route on the map from a GeoJSON LineString. Replaces any previously drawn route.

    View tool JSON
    {
      "name": "show_route",
      "kind": "act",
      "impl": "imperative",
      "description": "Draw a route on the map from a GeoJSON LineString. Replaces any previously drawn route.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "geojson": {
            "type": "string",
            "description": "A GeoJSON LineString feature or FeatureCollection as a JSON string. Example: {\"type\":\"Feature\",\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[-122.4,37.8],[-122.5,37.9]]}}"
          },
          "color": {
            "type": "string",
            "description": "Line color as a CSS color string (e.g. \"#3b82f6\"). Defaults to \"#3b82f6\".",
            "default": "#3b82f6"
          },
          "width": {
            "type": "number",
            "description": "Line width in pixels. Defaults to 4.",
            "minimum": 1,
            "maximum": 20,
            "default": 4
          }
        },
        "required": [
          "geojson"
        ]
      }
    }
    set_styleAction

    Change the map style. Accepts a style shorthand (streets, satellite, dark, light, outdoors, satellite-streets, navigation-day, navigation-night) or a full Mapbox style URL.

    View tool JSON
    {
      "name": "set_style",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the map style. Accepts a style shorthand (streets, satellite, dark, light, outdoors, satellite-streets, navigation-day, navigation-night) or a full Mapbox style URL.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "style": {
            "type": "string",
            "description": "Style shorthand or full Mapbox style URL (mapbox://styles/...). Shorthands: streets, outdoors, light, dark, satellite, satellite-streets, navigation-day, navigation-night.",
            "enum": [
              "streets",
              "outdoors",
              "light",
              "dark",
              "satellite",
              "satellite-streets",
              "navigation-day",
              "navigation-night"
            ]
          }
        },
        "required": [
          "style"
        ]
      }
    }
    list_markersAnswer

    List all markers currently on the map, in the order they were added, with their coordinates and labels.

    View tool JSON
    {
      "name": "list_markers",
      "kind": "answer",
      "impl": "imperative",
      "description": "List all markers currently on the map, in the order they were added, with their coordinates and labels.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    }
    fit_boundsAction

    Animate the camera to frame all markers currently on the map. Use this after adding multiple stops to show the whole trip at once.

    View tool JSON
    {
      "name": "fit_bounds",
      "kind": "act",
      "impl": "imperative",
      "description": "Animate the camera to frame all markers currently on the map. Use this after adding multiple stops to show the whole trip at once.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "padding": {
            "type": "number",
            "description": "Padding in pixels around the fitted bounds.",
            "minimum": 0,
            "maximum": 400,
            "default": 60
          }
        },
        "required": []
      }
    }
    geocode_placeAnswer

    Look up a named place (landmark, POI, address) and return its coordinates. Use this to find where a specific place is. Pass just the place name (e.g. "Louvre Museum") — do NOT append ", City" to the query, which tends to surface unrelated listings whose descriptions happen to mention the city. To disambiguate a common name, use proximity_longitude/proximity_latitude instead.

    View tool JSON
    {
      "name": "geocode_place",
      "kind": "answer",
      "impl": "imperative",
      "description": "Look up a named place (landmark, POI, address) and return its coordinates. Use this to find where a specific place is. Pass just the place name (e.g. \"Louvre Museum\") — do NOT append \", City\" to the query, which tends to surface unrelated listings whose descriptions happen to mention the city. To disambiguate a common name, use proximity_longitude/proximity_latitude instead.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Name or address of the place to look up, e.g. \"Eiffel Tower\"."
          },
          "proximity_longitude": {
            "type": "number",
            "description": "Optional longitude to bias results toward.",
            "minimum": -180,
            "maximum": 180
          },
          "proximity_latitude": {
            "type": "number",
            "description": "Optional latitude to bias results toward.",
            "minimum": -90,
            "maximum": 90
          }
        },
        "required": [
          "query"
        ]
      }
    }
    search_categoryAnswer

    Search for places near a location by category (e.g. "coffee", "restaurant", "museum"). Returns a list of nearby matches.

    View tool JSON
    {
      "name": "search_category",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search for places near a location by category (e.g. \"coffee\", \"restaurant\", \"museum\"). Returns a list of nearby matches.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "Category to search for, e.g. \"coffee\", \"restaurant\", \"museum\"."
          },
          "proximity_longitude": {
            "type": "number",
            "description": "Longitude to search near.",
            "minimum": -180,
            "maximum": 180
          },
          "proximity_latitude": {
            "type": "number",
            "description": "Latitude to search near.",
            "minimum": -90,
            "maximum": 90
          },
          "limit": {
            "type": "number",
            "description": "Maximum number of results. Defaults to 5.",
            "minimum": 1,
            "maximum": 25,
            "default": 5
          }
        },
        "required": [
          "category",
          "proximity_longitude",
          "proximity_latitude"
        ]
      }
    }
    get_directionsAnswer

    Get a route between an ordered list of coordinates. Returns GeoJSON geometry (pass it directly to show_route), plus distance and duration.

    View tool JSON
    {
      "name": "get_directions",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get a route between an ordered list of coordinates. Returns GeoJSON geometry (pass it directly to show_route), plus distance and duration.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "coordinates": {
            "type": "string",
            "description": "JSON-encoded array of stops in visit order, e.g. '[{\"longitude\":2.29,\"latitude\":48.86},{\"longitude\":2.33,\"latitude\":48.86}]'."
          },
          "profile": {
            "type": "string",
            "description": "Routing profile. Defaults to \"walking\".",
            "enum": [
              "driving",
              "walking",
              "cycling"
            ],
            "default": "walking"
          }
        },
        "required": [
          "coordinates"
        ]
      }
    }