Map Parser
Server Details
Parse Google Maps links into stops with coordinates. Geocode, route, and export.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The tools mostly target distinct operations: parsing a link, geocoding, routing, and exporting waypoints. However, export_waypoints also accepts a Google Maps link, which slightly overlaps with parse_map_link and could cause an agent to skip the parsing step.
All names use snake_case and start with an action verb, giving a predictable pattern. geocode is a single-word verb rather than a clear verb_noun pair, which is a minor deviation but still readable.
Four tools is well-scoped for a focused map-parsing and routing server. Each tool has a clear role in the workflow: extract stops, geocode places, compute routes, and export files.
The surface covers the core lifecycle of parsing a map link, resolving locations, calculating routes, and exporting waypoints. Minor gaps exist, such as no direct route export or batch geocoding, but agents can work around these with the existing tools.
Available Tools
4 toolsexport_waypointsExport waypointsARead-onlyInspect
Turn a Google Maps link or a list of stops into a CSV (import into Google My Maps) or KML (Google Earth, My Maps) file. Returns the file contents.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Google Maps directions link, full (google.com/maps/dir/...) or short (maps.app.goo.gl/...) | |
| format | Yes | ||
| waypoints | No | Stops to export, when no url is given |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context by specifying that it 'Returns the file contents,' which informs the agent how the output will be consumed, a detail not covered by the readOnlyHint annotation. This clarifies the nature of the output as data rather than a URL to a file.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and highly efficient, using two clauses to explain the input flexibility (link OR list of stops) and the resulting output formats (CSV or KML). No sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides all necessary contextual information for the tool to be used correctly, including the nature of the inputs and the functional utility of the outputs. Since there is no output schema, the description successfully addresses the result of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 33% schema description coverage gap, the description provides rich semantic meaning for the 'format' enum parameter by explaining the functional utility of both CSV (Google My Maps import) and KML (Google Earth, My Maps). This adds critical context beyond just listing the allowed strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the core purpose: converting inputs (maps link or list of stops) into structured file formats (CSV/KML). It distinguishes itself by the 'export' action and the specific output formats, which differentiates it from sibling tools like 'geocode' or 'parse_map_link'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage when the user requires a transferable file format (CSV/KML), but it doesn't explicitly state whether to use this tool before or after another sibling tool like 'parse_map_link'. The guidance is sufficient but not prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodeGeocodeARead-onlyInspect
Look up a place name or address (forward) or a coordinate (reverse) with OpenStreetMap Nominatim. Returns the "State, Country code" region and the full address.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lng | No | ||
| query | No | Place name or address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, open-world lookup. The description adds useful behavioral context by naming OpenStreetMap Nominatim and describing the return shape as a "State, Country code" region plus full address. It does not mention rate limits, no-result behavior, or provider attribution requirements, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and covers the two modes and return value in two tight sentences. There is no redundant or filler language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple geocoding tool with no output schema, the description gives enough context about modes, provider, and return values for an agent to call it correctly in most cases. The main remaining gap is that the mutually exclusive input combinations and no-result behavior are not stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, with only the query parameter documented in the schema. The description compensates partially by mapping place name/address to forward lookup and coordinate to reverse lookup, but it does not explicitly name lat/lng, clarify that both are needed for reverse geocoding, or state that query and coordinates are alternative inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, "look up," and names both supported modes: forward place/address lookup and reverse coordinate lookup. It also names the underlying provider and the returned region/address, so an agent can distinguish it from sibling tools such as get_route or parse_map_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly signals when each mode applies: use a place name or address for forward geocoding, or a coordinate for reverse geocoding. It does not explicitly compare against sibling tools or state exclusions, but the usage context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_routeGet routeARead-onlyInspect
Distance and travel time through stops in order, per leg and in total, using OpenStreetMap routing (OSRM). Pass the waypoints from parse_map_link.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Default driving | |
| waypoints | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds value the annotations do not: the external routing engine (OSRM) is named, and the result structure "per leg and in total" is disclosed, which matters because there is no output schema. It omits limits (max 25 stops), error modes, and rate/usage expectations for the external service.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded: what the tool computes and returns first, the calling convention second. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only 2 parameters, no output schema, and strong annotation coverage, the description does enough: it explains the return shape and the waypoint source. The gaps are the unmentioned mode parameter and the stop-count limit, which an agent would only find by reading the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% – the mode enum is self-documenting in-schema, but waypoints carries no per-field descriptions. The description partially compensates by implying order sensitivity ("in order") and by pointing to parse_map_link for the waypoint shape. It never mentions mode, the 2–25 item bounds, or lat/lng semantics, so the description adds only partial meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific computation (distance and travel time), the resource (a route through ordered stops), and the granularity of return (per leg and in total). It also names the upstream sibling parse_map_link, so an agent can place it in the workflow. It does not explicitly contrast with export_waypoints, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Pass the waypoints from parse_map_link" gives a concrete precondition that ties this tool to one specific caller, which is real routing guidance. It is silent on when NOT to use it (e.g. single-waypoint cases that geocode would serve, or exporting via export_waypoints), so there are no stated alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_map_linkParse Google Maps linkARead-onlyInspect
Extract the stops (names and coordinates) of a Google Maps directions link, plus the likely region. Short links are expanded; links that hide stop names are opened in a headless browser, which can take up to a minute.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Google Maps directions link, full (google.com/maps/dir/...) or short (maps.app.goo.gl/...) | |
| useBrowser | No | Force the slower browser mode, e.g. when names come back as coordinates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds genuinely new behavior — short-link expansion, headless-browser fallback for obscured stop names, and an explicit latency warning of up to a minute. That latency disclosure is exactly the kind of context an agent needs to plan a call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is returned and followed by the operational caveats. No filler and nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output shape is described (stops with names/coordinates, plus region) and there is no output schema to defer to, so this is close to complete. It doesn't cover failure behavior for malformed or non-directions links, which would matter for an open-world tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline would be 3, but the description amplifies the useBrowser parameter by tying browser mode to its cost (slow, up to a minute). The url parameter's accepted forms are already fully documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource: extracts stops (names + coordinates) and the likely region from a Google Maps directions link. The resource (a shareable URL) is distinct enough from geocode/get_route that an agent can select it, but the description never names or contrasts those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when the tool applies (a Google Maps directions link, short or full) and explains how hidden-name links are handled, including that browser mode is slow. It stops short of stating when to prefer get_route or geocode over parsing a link.
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.
4 tool updates
- First observed
export_waypoints - First observed
geocode - First observed
get_route - First observed
parse_map_link
Related MCP Connectors
Read Upper drivers and stops; create and optimize routes, assign drivers, share routes to the app.
Merge multiple Google Maps directions links into one, bypassing the 10-stop limit.
21Splits deliveries across vehicles and orders each route: time windows, capacities, road times. Free.
Multi-stop route optimization, navigation links, and email delivery. Powered by MyRouteOnline.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables web searching via Google Search and AI Mode, plus advanced web scraping capabilities including content extraction in multiple formats, link extraction, and batch scraping of multiple URLs.2 npmMIT
- FlicenseAqualityDmaintenanceAutomatically collects daily report data from KPI systems using browser automation and Google OAuth login. Generates structured Markdown reports for specified date ranges with persistent session management.6-

Basecrawl MCPofficial
AlicenseAqualityDmaintenanceProvides tools to scrape, crawl, and map web pages via the Basecrawl SaaS API.6Apache 2.0- AlicenseAqualityAmaintenanceAI-native web scraper: scrape, crawl and map any site to clean markdown over stdio. MIT-licensed.6152MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.