Skip to main content
Glama

Server Details

Generate styled PNG/SVG map images of any location with 11 customizable color themes.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
toruproject/mapnetwork-mcp
GitHub Stars
0
Server Listing
MapNetwork MCP Server

Available Tools

3 tools
generate_mapAInspect

Generate a styled map image centered on a single place. Returns a download+link as text, not image bytes. Example: place='Tokyo Station'.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional: display name for the map. If omitted, the server derives one automatically from place.
placeYesPlace name to center the map on (geocoded server-side).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It usefully reveals that output is a downloadable link as text rather than image bytes, and mentions server-side geocoding indirectly through the example, but it does not describe side effects, authentication, expiration, or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences, front-loaded with the core action and result. The example is useful and not redundant, and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and complete schema coverage, the description adequately explains the output format, which matters because there is no output schema. It does not cover sibling selection or error cases, but those are secondary for basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameters are already documented. The description adds a concrete example for the required `place` parameter and reinforces that the map is centered on it, which helps the agent form a correct call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: 'Generate a styled map image centered on a single place.' It also distinguishes itself from siblings by emphasizing a single place and by explicitly saying the result is a download link as text, not image bytes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'centered on a single place' implies this tool is for one-place maps, but it does not explicitly say when to prefer it over generate_markers_map or generate_route_map. No alternatives or exclusions are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_markers_mapBInspect

Generate a map with multiple pinned locations. Example: markers=[{"label": "Tokyo Tower", "link": "https://www.tokyotower.co.jp/"}, {"label": "Zojoji Temple"}].

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional: display name for the map. If omitted, the server derives one automatically from place/markers.
placeNoOptional: place to center the map on. If omitted, the center is computed automatically from the markers.
markersYesLocations to pin on the map. At least one required.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full burden of behavioral disclosure. It only states the generation action and gives an example; it does not mention output format, side effects, limitations, or any prerequisite conditions. The example illustrates input structure but adds little beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence plus a compact example, front-loading the core purpose. The example is directly relevant and demonstrates the tricky nested array structure, so every part earns its place. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a simple schema with full parameter descriptions, and the description covers the primary use case. However, it omits any mention of sibling alternatives or selection criteria, leaving an agent uncertain about when to pick this tool. The absence of an output schema is not an issue because the description states it generates a map.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 100% of parameters, so the baseline is 3. The description's example reinforces the markers array shape but adds no new meaning for the name or place parameters. It does not exceed the schema's explanatory value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action: 'Generate a map with multiple pinned locations' with a specific resource (map with markers). It is a direct verb+resource statement, but it does not explicitly differentiate from sibling tools generate_map and generate_route_map. Despite that, the scope is clear enough to identify what the tool produces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool instead of generate_map or generate_route_map. The phrase 'multiple pinned locations' implies a use case, but no explicit conditions or alternatives are mentioned. An agent would have to infer selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_route_mapAInspect

Compute a walking/driving route between two places and generate a map with it overlaid. Both endpoints are pinned automatically — do not also call generate_markers_map for them. Example: from='Tokyo Station', to='Tokyo Tower', mode='walking'.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRoute end. Place name to geocode.
fromYesRoute start. Place name to geocode.
modeNo'walking' (default) or 'driving'.
nameNoOptional: display name for the map. If omitted, the server derives one automatically from place/route.
placeNoOptional: place to center the map on. If omitted, the center is computed automatically from the route.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden and adds meaningful behavioral context: it computes and overlays a route, pins both endpoints automatically, and warns against redundant marker generation. It does not mention return format or side effects, but the core behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first states the purpose, the second gives a critical usage warning with behavior, and the third shows a concrete example. Information is front-loaded and there is no wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the primary function, automatic pinning, a sibling exclusion, and an example. Since there is no output schema, it could optionally clarify the exact return format, but for a map-generation tool the essentials are present and an agent can call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters. The description adds a useful example with concrete values but does not deepen parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Compute a walking/driving route between two places and generate a map with it overlaid.' It also differentiates from the generate_markers_map sibling by explicitly noting that endpoints are pinned automatically, so an agent can tell this tool apart without examining the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit exclusion: 'do not also call generate_markers_map for them,' and provides a concrete example with from/to/mode. However, it does not directly mention the generate_map sibling or explain when to prefer this tool over it, so the guidance is clear but not fully exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • Changedgenerate_map1 field changed
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Optional: display name for the map. If omitted, the server derives one automatically from place.",
        +  "type": "string"
        +}
    • Changedgenerate_markers_map1 field changed
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Optional: display name for the map. If omitted, the server derives one automatically from place/markers.",
        +  "type": "string"
        +}
    • Changedgenerate_route_map1 field changed
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Optional: display name for the map. If omitted, the server derives one automatically from place/route.",
        +  "type": "string"
        +}
  2. 1 tool update
    • Removedgenerate_hyperlink_map
  3. 5 tool updates
    • Removedcompute_route
    • Addedgenerate_hyperlink_map
    • Changedgenerate_map12 fields changed
      • removedInput schema / $defs
        Removed value: -{
        -  "Location": {
        -    "description": "Explicit coordinates.",
        -    "properties": {
        -      "lat": {
        -        "description": "Latitude.",
        -        "type": "number"
        -      },
        -      "lng": {
        -        "description": "Longitude.",
        -        "type": "number"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "RouteEndpoint": {
        -    "description": "Provide 'location' for explicit coordinates (no geocoding), or only 'label' to geocode server-side. Both may be provided — 'location' takes precedence, 'label' is used for display.",
        -    "properties": {
        -      "label": {
        -        "description": "Place name for geocoding and/or display.",
        -        "type": "string"
        -      },
        -      "location": {
        -        "$ref": "#/$defs/Location"
        -      }
        -    },
        -    "type": "object"
        -  }
        -}
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / canvas_height
        Removed value: -{
        -  "description": "Canvas height in pixels (default 600).",
        -  "type": "integer"
        -}
      • removedInput schema / properties / canvas_width
        Removed value: -{
        -  "description": "Canvas width in pixels (default 1000).",
        -  "type": "integer"
        -}
      • removedInput schema / properties / color_set
        Removed value: -{
        -  "description": "Background/line color theme (e.g. 'white', 'darkBlue', 'black') — see server instructions for the full list.",
        -  "type": "string"
        -}
      • removedInput schema / properties / format
        Removed value: -{
        -  "description": "'png' (default) or 'svg'.",
        -  "enum": [
        -    "png",
        -    "svg"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / location
        Removed value: -{
        -  "$ref": "#/$defs/Location",
        -  "description": "Explicit coordinates for 'place'. If given, geocoding of 'place' is skipped. Not necessarily the map's final center — see server instructions."
        -}
      • removedInput schema / properties / markers
        Removed value: -{
        -  "description": "List of locations to pin on the map, e.g. [{\"label\": \"Tokyo Station\"}].",
        -  "items": {
        -    "properties": {
        -      "label": {
        -        "description": "Place name for geocoding and/or display.",
        -        "type": "string"
        -      },
        -      "location": {
        -        "$ref": "#/$defs/Location",
        -        "description": "Explicit coordinates. If provided, geocoding of 'label' is skipped."
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedInput schema / properties / name
        Removed value: -{
        -  "description": "Map name stored in the data file.",
        -  "type": "string"
        -}
      • changedInput schema / properties / place / description
        Previous value: -"Place name to center the map on (geocoded server-side unless 'location' is also given)."New value: +"Place name to center the map on (geocoded server-side)."
      • removedInput schema / properties / route
        Removed value: -{
        -  "description": "Route to overlay — pass compute_route()'s result through as-is.",
        -  "properties": {
        -    "coords": {
        -      "description": "Ordered list of [lat, lng] pairs along the route.",
        -      "items": {
        -        "items": {
        -          "type": "number"
        -        },
        -        "maxItems": 2,
        -        "minItems": 2,
        -        "type": "array"
        -      },
        -      "type": "array"
        -    },
        -    "from": {
        -      "$ref": "#/$defs/RouteEndpoint",
        -      "description": "Route start point."
        -    },
        -    "mode": {
        -      "description": "'walking' (default) or 'driving'.",
        -      "enum": [
        -        "walking",
        -        "driving"
        -      ],
        -      "type": "string"
        -    },
        -    "to": {
        -      "$ref": "#/$defs/RouteEndpoint",
        -      "description": "Route end point."
        -    }
        -  },
        -  "type": "object"
        -}
      • addedInput schema / required
        Added value: +[
        +  "place"
        +]
    • Addedgenerate_markers_map
    • Addedgenerate_route_map
  4. 1 tool update
    • Changedgenerate_map8 fields changed
      • removedInput schema / properties / lat
        Removed value: -{
        -  "description": "Latitude of the map center. Must be combined with lng.",
        -  "type": "number"
        -}
      • removedInput schema / properties / layers
        Removed value: -{
        -  "description": "Which map layers to draw (roads, railway, POI, etc.) — see server instructions for what each preset includes. Omit for 'default'.",
        -  "enum": [
        -    "default",
        -    "road_and_railway",
        -    "only_driving_road",
        -    "fully_detailed"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / lng
        Removed value: -{
        -  "description": "Longitude of the map center. Must be combined with lat.",
        -  "type": "number"
        -}
      • addedInput schema / properties / location
        Added value: +{
        +  "$ref": "#/$defs/Location",
        +  "description": "Explicit coordinates for 'place'. If given, geocoding of 'place' is skipped. Not necessarily the map's final center — see server instructions."
        +}
      • changedInput schema / properties / place / description
        Previous value: -"Place name to center the map on. Use this OR lat/lng, not both."New value: +"Place name to center the map on (geocoded server-side unless 'location' is also given)."
      • removedInput schema / properties / radius
        Removed value: -{
        -  "description": "Circular radius in meters. Exclusive with size_ew/size_ns; omit for automatic default.",
        -  "type": "number"
        -}
      • removedInput schema / properties / size_ew
        Removed value: -{
        -  "description": "Rectangular area width (east-west), meters. Pairs with size_ns; exclusive with radius.",
        -  "type": "number"
        -}
      • removedInput schema / properties / size_ns
        Removed value: -{
        -  "description": "Rectangular area height (north-south), meters. Pairs with size_ew.",
        -  "type": "number"
        -}
  5. 2 tool updates
    • Changedcompute_route2 fields changed
      • changedInput schema / properties / from_location / description
        Previous value: -"Route start point. Provide 'location' for explicit coordinates (no geocoding), or only 'label' to geocode server-side. Both may be provided — 'location' takes precedence, 'label' is used for display."New value: +"Route start point."
      • addedOutput schema / properties / mode / description
        Added value: +"'walking' or 'driving'."
    • Changedgenerate_map2 fields changed
      • changedInput schema / properties / color_set / description
        Previous value: -"Color theme — see server instructions for the list."New value: +"Background/line color theme (e.g. 'white', 'darkBlue', 'black') — see server instructions for the full list."
      • changedInput schema / properties / layers / description
        Previous value: -"Layer preset — see server instructions for details. Omit for 'default'."New value: +"Which map layers to draw (roads, railway, POI, etc.) — see server instructions for what each preset includes. Omit for 'default'."
  6. 2 tool updates
    • Changedcompute_route14 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Location": {
        +    "description": "Explicit coordinates.",
        +    "properties": {
        +      "lat": {
        +        "description": "Latitude.",
        +        "type": "number"
        +      },
        +      "lng": {
        +        "description": "Longitude.",
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "RouteEndpoint": {
        +    "description": "Provide 'location' for explicit coordinates (no geocoding), or only 'label' to geocode server-side. Both may be provided — 'location' takes precedence, 'label' is used for display.",
        +    "properties": {
        +      "label": {
        +        "description": "Place name for geocoding and/or display.",
        +        "type": "string"
        +      },
        +      "location": {
        +        "$ref": "#/$defs/Location"
        +      }
        +    },
        +    "type": "object"
        +  }
        +}
      • addedInput schema / properties / from_location / $ref
        Added value: +"#/$defs/RouteEndpoint"
      • removedInput schema / properties / from_location / properties
        Removed value: -{
        -  "label": {
        -    "description": "Place name for geocoding and/or display.",
        -    "type": "string"
        -  },
        -  "location": {
        -    "description": "Explicit coordinates.",
        -    "properties": {
        -      "lat": {
        -        "description": "Latitude.",
        -        "type": "number"
        -      },
        -      "lng": {
        -        "description": "Longitude.",
        -        "type": "number"
        -      }
        -    },
        -    "type": "object"
        -  }
        -}
      • removedInput schema / properties / from_location / type
        Removed value: -"object"
      • addedInput schema / properties / to_location / $ref
        Added value: +"#/$defs/RouteEndpoint"
      • removedInput schema / properties / to_location / properties
        Removed value: -{
        -  "label": {
        -    "description": "Place name for geocoding and/or display.",
        -    "type": "string"
        -  },
        -  "location": {
        -    "description": "Explicit coordinates.",
        -    "properties": {
        -      "lat": {
        -        "description": "Latitude.",
        -        "type": "number"
        -      },
        -      "lng": {
        -        "description": "Longitude.",
        -        "type": "number"
        -      }
        -    },
        -    "type": "object"
        -  }
        -}
      • removedInput schema / properties / to_location / type
        Removed value: -"object"
      • addedOutput schema / $defs
        Added value: +{
        +  "Location": {
        +    "description": "Explicit coordinates.",
        +    "properties": {
        +      "lat": {
        +        "description": "Latitude.",
        +        "type": "number"
        +      },
        +      "lng": {
        +        "description": "Longitude.",
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "RouteEndpoint": {
        +    "description": "Provide 'location' for explicit coordinates (no geocoding), or only 'label' to geocode server-side. Both may be provided — 'location' takes precedence, 'label' is used for display.",
        +    "properties": {
        +      "label": {
        +        "description": "Place name for geocoding and/or display.",
        +        "type": "string"
        +      },
        +      "location": {
        +        "$ref": "#/$defs/Location"
        +      }
        +    },
        +    "type": "object"
        +  }
        +}
      • addedOutput schema / properties / from / $ref
        Added value: +"#/$defs/RouteEndpoint"
      • removedOutput schema / properties / from / properties
        Removed value: -{
        -  "label": {
        -    "description": "Place name for geocoding and/or display.",
        -    "type": "string"
        -  },
        -  "location": {
        -    "description": "Explicit coordinates.",
        -    "properties": {
        -      "lat": {
        -        "description": "Latitude.",
        -        "type": "number"
        -      },
        -      "lng": {
        -        "description": "Longitude.",
        -        "type": "number"
        -      }
        -    },
        -    "type": "object"
        -  }
        -}
      • removedOutput schema / properties / from / type
        Removed value: -"object"
      • addedOutput schema / properties / to / $ref
        Added value: +"#/$defs/RouteEndpoint"
      • removedOutput schema / properties / to / properties
        Removed value: -{
        -  "label": {
        -    "description": "Place name for geocoding and/or display.",
        -    "type": "string"
        -  },
        -  "location": {
        -    "description": "Explicit coordinates.",
        -    "properties": {
        -      "lat": {
        -        "description": "Latitude.",
        -        "type": "number"
        -      },
        -      "lng": {
        -        "description": "Longitude.",
        -        "type": "number"
        -      }
        -    },
        -    "type": "object"
        -  }
        -}
      • removedOutput schema / properties / to / type
        Removed value: -"object"
    • Changedgenerate_map17 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "Location": {
        +    "description": "Explicit coordinates.",
        +    "properties": {
        +      "lat": {
        +        "description": "Latitude.",
        +        "type": "number"
        +      },
        +      "lng": {
        +        "description": "Longitude.",
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "RouteEndpoint": {
        +    "description": "Provide 'location' for explicit coordinates (no geocoding), or only 'label' to geocode server-side. Both may be provided — 'location' takes precedence, 'label' is used for display.",
        +    "properties": {
        +      "label": {
        +        "description": "Place name for geocoding and/or display.",
        +        "type": "string"
        +      },
        +      "location": {
        +        "$ref": "#/$defs/Location"
        +      }
        +    },
        +    "type": "object"
        +  }
        +}
      • changedInput schema / properties / color_set / description
        Previous value: -"Color theme. One of: darkBlue, darkGreen, popArt, lightBlue, lightGreen, beige, magenta, white, gray, black, brawn."New value: +"Color theme — see server instructions for the list."
      • removedInput schema / properties / config
        Removed value: -{
        -  "description": "Overrides for automatic layer-visibility defaults. Omit any field to keep the default.",
        -  "properties": {
        -    "patchworked": {
        -      "description": "Auto-color closed areas and building shapes on the drawing. Default true.",
        -      "type": "boolean"
        -    },
        -    "withBuilding": {
        -      "description": "Draw building shapes. Default true when building data is available.",
        -      "type": "boolean"
        -    },
        -    "withSeaRibbon": {
        -      "description": "Draw a band representing the sea along the coastline. Default true when coastline data is available.",
        -      "type": "boolean"
        -    }
        -  },
        -  "type": "object"
        -}
      • changedInput schema / properties / layers / description
        Previous value: -"Preset combination of map layers. 'default': roads + POI icons. 'only_driving_road': car-accessible roads only, nothing else. 'road_and_railway': roads + railway lines, no POI. 'fully_detailed': roads + railway + waterline + greenarea + POI (waterline/greenarea only apply within Japan; ignored elsewhere)."New value: +"Layer preset — see server instructions for details. Omit for 'default'."
      • addedInput schema / properties / markers / items / properties / location / $ref
        Added value: +"#/$defs/Location"
      • removedInput schema / properties / markers / items / properties / location / properties
        Removed value: -{
        -  "lat": {
        -    "description": "Latitude.",
        -    "type": "number"
        -  },
        -  "lng": {
        -    "description": "Longitude.",
        -    "type": "number"
        -  }
        -}
      • removedInput schema / properties / markers / items / properties / location / type
        Removed value: -"object"
      • changedInput schema / properties / radius / description
        Previous value: -"Circular coverage radius in meters (max depends on layers). Mutually exclusive with size_ew/size_ns. Omit this if the user hasn't specified a size — a sensible default is applied automatically."New value: +"Circular radius in meters. Exclusive with size_ew/size_ns; omit for automatic default."
      • changedInput schema / properties / route / description
        Previous value: -"Route to overlay, as returned by compute_route. Pass that object through as-is."New value: +"Route to overlay — pass compute_route()'s result through as-is."
      • addedInput schema / properties / route / properties / from / $ref
        Added value: +"#/$defs/RouteEndpoint"
      • removedInput schema / properties / route / properties / from / properties
        Removed value: -{
        -  "label": {
        -    "description": "Place name for geocoding and/or display.",
        -    "type": "string"
        -  },
        -  "location": {
        -    "description": "Explicit coordinates.",
        -    "properties": {
        -      "lat": {
        -        "description": "Latitude.",
        -        "type": "number"
        -      },
        -      "lng": {
        -        "description": "Longitude.",
        -        "type": "number"
        -      }
        -    },
        -    "type": "object"
        -  }
        -}
      • removedInput schema / properties / route / properties / from / type
        Removed value: -"object"
      • addedInput schema / properties / route / properties / to / $ref
        Added value: +"#/$defs/RouteEndpoint"
      • removedInput schema / properties / route / properties / to / properties
        Removed value: -{
        -  "label": {
        -    "description": "Place name for geocoding and/or display.",
        -    "type": "string"
        -  },
        -  "location": {
        -    "description": "Explicit coordinates.",
        -    "properties": {
        -      "lat": {
        -        "description": "Latitude.",
        -        "type": "number"
        -      },
        -      "lng": {
        -        "description": "Longitude.",
        -        "type": "number"
        -      }
        -    },
        -    "type": "object"
        -  }
        -}
      • removedInput schema / properties / route / properties / to / type
        Removed value: -"object"
      • changedInput schema / properties / size_ew / description
        Previous value: -"East-west width of a rectangular coverage area in meters. Must be combined with size_ns."New value: +"Rectangular area width (east-west), meters. Pairs with size_ns; exclusive with radius."
      • changedInput schema / properties / size_ns / description
        Previous value: -"North-south height of a rectangular coverage area in meters. Must be combined with size_ew."New value: +"Rectangular area height (north-south), meters. Pairs with size_ew."
  7. 2 tool updates
    • Changedcompute_route5 fields changed
      • addedInput schema / properties / from_location / properties / location / properties / lat / description
        Added value: +"Latitude."
      • addedInput schema / properties / from_location / properties / location / properties / lng / description
        Added value: +"Longitude."
      • addedInput schema / properties / to_location / properties / location / properties / lat / description
        Added value: +"Latitude."
      • addedInput schema / properties / to_location / properties / location / properties / lng / description
        Added value: +"Longitude."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "coords": {
        +      "description": "Ordered list of [lat, lng] pairs along the route.",
        +      "items": {
        +        "items": {
        +          "type": "number"
        +        },
        +        "maxItems": 2,
        +        "minItems": 2,
        +        "type": "array"
        +      },
        +      "type": "array"
        +    },
        +    "from": {
        +      "description": "Route start point.",
        +      "properties": {
        +        "label": {
        +          "description": "Place name for geocoding and/or display.",
        +          "type": "string"
        +        },
        +        "location": {
        +          "description": "Explicit coordinates.",
        +          "properties": {
        +            "lat": {
        +              "description": "Latitude.",
        +              "type": "number"
        +            },
        +            "lng": {
        +              "description": "Longitude.",
        +              "type": "number"
        +            }
        +          },
        +          "type": "object"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "mode": {
        +      "enum": [
        +        "walking",
        +        "driving"
        +      ],
        +      "type": "string"
        +    },
        +    "to": {
        +      "description": "Route end point.",
        +      "properties": {
        +        "label": {
        +          "description": "Place name for geocoding and/or display.",
        +          "type": "string"
        +        },
        +        "location": {
        +          "description": "Explicit coordinates.",
        +          "properties": {
        +            "lat": {
        +              "description": "Latitude.",
        +              "type": "number"
        +            },
        +            "lng": {
        +              "description": "Longitude.",
        +              "type": "number"
        +            }
        +          },
        +          "type": "object"
        +        }
        +      },
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "coords",
        +    "mode"
        +  ],
        +  "type": "object"
        +}
    • Changedgenerate_map7 fields changed
      • addedInput schema / properties / markers / items / properties / location / properties / lat / description
        Added value: +"Latitude."
      • addedInput schema / properties / markers / items / properties / location / properties / lng / description
        Added value: +"Longitude."
      • addedInput schema / properties / route / properties / from / properties / location / properties / lat / description
        Added value: +"Latitude."
      • addedInput schema / properties / route / properties / from / properties / location / properties / lng / description
        Added value: +"Longitude."
      • addedInput schema / properties / route / properties / mode / description
        Added value: +"'walking' (default) or 'driving'."
      • addedInput schema / properties / route / properties / to / properties / location / properties / lat / description
        Added value: +"Latitude."
      • addedInput schema / properties / route / properties / to / properties / location / properties / lng / description
        Added value: +"Longitude."
  8. 2 tool updates
    • Changedcompute_route4 fields changed
      • changedInput schema / properties / from_location / description
        Previous value: -"{\"label\": \"place name\"} or {\"label\": ..., \"location\": {\"lat\":..., \"lng\":...}}."New value: +"Route start point. Provide 'location' for explicit coordinates (no geocoding), or only 'label' to geocode server-side. Both may be provided — 'location' takes precedence, 'label' is used for display."
      • addedInput schema / properties / from_location / properties
        Added value: +{
        +  "label": {
        +    "description": "Place name for geocoding and/or display.",
        +    "type": "string"
        +  },
        +  "location": {
        +    "description": "Explicit coordinates.",
        +    "properties": {
        +      "lat": {
        +        "type": "number"
        +      },
        +      "lng": {
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  }
        +}
      • changedInput schema / properties / to_location / description
        Previous value: -"Same format as from_location."New value: +"Route end point. Same format as from_location."
      • addedInput schema / properties / to_location / properties
        Added value: +{
        +  "label": {
        +    "description": "Place name for geocoding and/or display.",
        +    "type": "string"
        +  },
        +  "location": {
        +    "description": "Explicit coordinates.",
        +    "properties": {
        +      "lat": {
        +        "type": "number"
        +      },
        +      "lng": {
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  }
        +}
    • Changedgenerate_map7 fields changed
      • changedInput schema / properties / canvas_height / description
        Previous value: -"Canvas height in pixels (default 700)."New value: +"Canvas height in pixels (default 600)."
      • removedInput schema / properties / edge_weight
        Removed value: -{
        -  "description": "Road/line width adjustment. Positive thickens, negative thins.",
        -  "type": "integer"
        -}
      • changedInput schema / properties / layers / description
        Previous value: -"Preset combination of map layers. 'default': roads + POI icons. 'only_driving_road': car-accessible roads only, nothing else. 'road_and_railway': roads + railway lines, no POI. 'fully_detailed': roads + railway + waterline + greenarea + POI."New value: +"Preset combination of map layers. 'default': roads + POI icons. 'only_driving_road': car-accessible roads only, nothing else. 'road_and_railway': roads + railway lines, no POI. 'fully_detailed': roads + railway + waterline + greenarea + POI (waterline/greenarea only apply within Japan; ignored elsewhere)."
      • addedInput schema / properties / markers / items / properties
        Added value: +{
        +  "label": {
        +    "description": "Place name for geocoding and/or display.",
        +    "type": "string"
        +  },
        +  "location": {
        +    "description": "Explicit coordinates. If provided, geocoding of 'label' is skipped.",
        +    "properties": {
        +      "lat": {
        +        "type": "number"
        +      },
        +      "lng": {
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  }
        +}
      • removedInput schema / properties / place_icon
        Removed value: -{
        -  "description": "Custom icon override for the place/center pin.",
        -  "type": "object"
        -}
      • changedInput schema / properties / route / description
        Previous value: -"Route to overlay, as returned by compute_route."New value: +"Route to overlay, as returned by compute_route. Pass that object through as-is."
      • addedInput schema / properties / route / properties
        Added value: +{
        +  "coords": {
        +    "description": "Ordered list of [lat, lng] pairs along the route.",
        +    "items": {
        +      "items": {
        +        "type": "number"
        +      },
        +      "maxItems": 2,
        +      "minItems": 2,
        +      "type": "array"
        +    },
        +    "type": "array"
        +  },
        +  "from": {
        +    "description": "Route start point.",
        +    "properties": {
        +      "label": {
        +        "description": "Place name for geocoding and/or display.",
        +        "type": "string"
        +      },
        +      "location": {
        +        "description": "Explicit coordinates.",
        +        "properties": {
        +          "lat": {
        +            "type": "number"
        +          },
        +          "lng": {
        +            "type": "number"
        +          }
        +        },
        +        "type": "object"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "mode": {
        +    "enum": [
        +      "walking",
        +      "driving"
        +    ],
        +    "type": "string"
        +  },
        +  "to": {
        +    "description": "Route end point.",
        +    "properties": {
        +      "label": {
        +        "description": "Place name for geocoding and/or display.",
        +        "type": "string"
        +      },
        +      "location": {
        +        "description": "Explicit coordinates.",
        +        "properties": {
        +          "lat": {
        +            "type": "number"
        +          },
        +          "lng": {
        +            "type": "number"
        +          }
        +        },
        +        "type": "object"
        +      }
        +    },
        +    "type": "object"
        +  }
        +}
  9. 1 tool update
    • Changedgenerate_map1 field changed
      • changedInput schema / properties / layers / enum
        Previous value: -[
        -  "default",
        -  "only_driving_road",
        -  "road_and_railway",
        -  "fully_detailed"
        -]New value: +[
        +  "default",
        +  "road_and_railway",
        +  "only_driving_road",
        +  "fully_detailed"
        +]
  10. 1 tool update
    • Changedgenerate_map6 fields changed
      • changedInput schema / properties / layers / description
        Previous value: -"Map layers to render. Default ['road', 'poi']. Valid: road, highway, driving, walking, railway, waterline, greenarea, poi."New value: +"Preset combination of map layers. 'default': roads + POI icons. 'only_driving_road': car-accessible roads only, nothing else. 'road_and_railway': roads + railway lines, no POI. 'fully_detailed': roads + railway + waterline + greenarea + POI."
      • addedInput schema / properties / layers / enum
        Added value: +[
        +  "default",
        +  "only_driving_road",
        +  "road_and_railway",
        +  "fully_detailed"
        +]
      • removedInput schema / properties / layers / items
        Removed value: -{
        -  "type": "string"
        -}
      • changedInput schema / properties / layers / type
        Previous value: -"array"New value: +"string"
      • removedInput schema / properties / poi_types
        Removed value: -{
        -  "description": "Filter POI categories when 'poi' is in layers.",
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • changedInput schema / properties / radius / description
        Previous value: -"Circular coverage radius in meters (max depends on layers). Mutually exclusive with size_ew/size_ns."New value: +"Circular coverage radius in meters (max depends on layers). Mutually exclusive with size_ew/size_ns. Omit this if the user hasn't specified a size — a sensible default is applied automatically."
  11. 1 tool update
    • Removedredownload_map
  12. 3 tool updates
    • First observedcompute_route
    • First observedgenerate_map
    • First observedredownload_map

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to turn structured data into production-ready static maps, returning rendered PNG and SVG URLs along with an editable map link.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Geospatial API tools for AI agents — geocoding, reverse geocoding, routing, isochrone, distance matrix, static maps, H3 hexagons, elevation, GPS map-matching, point-in-polygon, address normalisation, timezone lookup, and batch geocoding. Built on OpenStreetMap infrastructure. Cost-effective alternative to Google Maps API.
    18
    37
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables geocoding, reverse geocoding, elevation profiles, static map PNGs, and coordinate reprojection using MapTiler's OpenStreetMap data.
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: single-place map, multi-marker map, and route map. The descriptions explicitly separate them, and the route tool even warns against double-pinning endpoints with the markers tool.

Naming Consistency5/5

All tool names follow the same generate_X_map pattern, making the relationship between tools predictable. The naming clearly indicates the output type and the variation in each tool.

Tool Count5/5

Three tools is a tight, well-scoped set for a map generation server. Each tool covers a distinct map use case without redundancy or unnecessary bloat.

Completeness4/5

The tool surface covers the core map-generation workflows: a single location, multiple markers, and a route between two points. Minor advanced options like custom styles or combined routes-plus-markers are not present, but the essential functionality is complete.