Head to head · Geocoding · October 2026 research run
Mapbox APIs + MCP vs MapTiler Cloud
Mapbox APIs + MCP scores 77.2 (BB) on agent readiness against MapTiler Cloud's 62.1 (B), and leads in 6 of 7 scored categories. Both do geocoding.
Best maps, geocoding and places APIs for AI agents · All 153 maps comparisons
Which one, for what
Best for An agent that needs search, routing, isochrones, map matching and route optimisation from one vendor with a hosted, OAuth-protected MCP.
Ahead on
- Reliability, 82 against 43
- Schema & documentation, 85 against 79
- Agent ergonomics, 88 against 70
- Security & auth, 71 against 64
- Maintenance & community, 90 against 70
Also in its favour
- Agent-ready, a grade of BB or better
- A hosted endpoint, with nothing to install
- Runs on your own machine
Watch for
Storing geocodes needs the Permanent tier at $5 per 1,000, about 6.7 times the temporary rate, and a card on file
Best for Map tiles, static maps and worldwide geocoding with storable results for apps that also show a map, with EU data residency.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
The API key is always sent as a query parameter
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Reliability Mapbox APIs + MCP +39
Mapbox APIs + MCP 82
Atlassian Statuspage at status.mapbox.com with an uptime view (20). The history page renders client-side and robots.txt disallows the incidents API, so on 1 November we read the history RSS feed and the incident pages. Two incidents on Navigation (API) fall in the 90 days from 3 August. On 19 October, 19:18 to 19:41 UTC, the Directions and Map Matching APIs in US-East had "elevated latency and missing route data for a significant portion of regional traffic" (23 minutes). On 20 October, 14:45 to 15:47 UTC, "brief, recurring periods of elevated latency and missing route results" in US-East (62 minutes of intermittent disruption). Neither was a core API down, or wide errors, for an hour or more, so minor only (20, was 30 with nothing after 29 June). Rate limits with numbers, 1,000 geocoding requests a minute by default, and X-Rate-Limit-Interval, -Limit and -Reset headers on responses, re-read on 1 November (15). A 429 on overrun with a reset timestamp to wait for, but no Retry-After and no backoff guidance (10). A published Service Level Agreement (last updated 15 April 2024) at mapbox.com/legal/sla gives customers with an executed order 99.9 per cent monthly availability per API, with service credits of 10 and 25 per cent. The 1 October to 17 October checks looked only at the pricing page and the API docs (10, was 0). The REST APIs are GA, but the MCP server is at 0.16 and its place_details_tool calls the Places API Details endpoint, which Mapbox still labels Public Preview with a contract subject to change (7). 20+20+15+10+10+7 = 82.
MapTiler Cloud 43
Hosted lines. status.maptiler.com is a StatusCake public uptime report rather than a component incident page (15). Its data loads from app.statuscake.com, whose robots.txt answered with a redirect, so we didn't fetch it and read no history. That's our limit, not a finding, and the rubric gives 5 (5). Monthly request and session quotas are published per plan, but no per-second limit (5). No 429, Retry-After or backoff guidance found in the API reference, the OpenAPI spec or llms-full.txt (0). The pricing page lists a 99.9% SLA on the Custom plan, while the Cloud terms call availability best effort and point to a custom SLA (8). The public APIs are GA (10). 15+5+5+0+8+10 = 43.
Maintenance & community Mapbox APIs + MCP +20
Mapbox APIs + MCP 90
MCP server v0.16.0 on 15 October 2026, after v0.15.0 and v0.15.1 on 8 and 9 October (30). Three stable releases in the 90 days from 3 August, v0.15.0, v0.15.1 and v0.16.0, plus the v0.16.1-dev, v0.17.0-dev and v0.17.0-dev.1 pre-releases (20). Commits reference user-reported issues and fixes land within weeks. We couldn't see issue reply times from git (15). Listed in the official MCP registry as io.github.mapbox/mcp-server, active, with 0.16.0 the latest, published 15 October (15). CI builds and runs the test suite on every push and pull request, and since 0.17.0-dev also typechecks the tests (10).
MapTiler Cloud 70
@maptiler/client 3.1.0 and @maptiler/sdk 4.2.0 on 2 October 2026, 35 days before this check, with the agent skill updated on 21 October (20). Platform updates entries for August (EU endpoint, key security) and September 2026 (terrain blending) plus the two October releases (20). A Discord community and support answered on a best-effort basis within two business days, per the Cloud terms. We didn't read GitHub issues (10). Official JavaScript client and SDK current, no Python client (12). The SDK repository runs unit and end-to-end tests in CI; we didn't check results (8). 20+20+10+12+8 = 70.
Agent ergonomics Mapbox APIs + MCP +18
Mapbox APIs + MCP 88
29 core MCP tools in 0.16.0, still the latest stable release on 1 November, so 15, plus 5 back for --enable-tools and --disable-tools on the local server. The docs don't say the hosted endpoint can filter tools (20). limit, types, bbox and proximity on geocoding, and a v6 batch endpoint (18). Documented status codes with messages an agent can act on, such as 'Query exceeded character limit of 200' (17). Every tool carries readOnlyHint true, destructiveHint false and idempotentHint, and 17 offline geometry tools set openWorldHint false (20). Few required parameters and the server elicits a route choice when the client supports it. Since 0.16.0 large directions and isochrone results return a short ref that any server process can answer, and descriptions no longer tell the model to avoid other tools or web search. Official SDKs are JavaScript and the mobile SDKs, with no current official Python client that we found (13).
MapTiler Cloud 70
API reading. limit, types, bbox, proximity, country, language and fuzzyMatch size geocoding results, and the batch endpoint takes up to 50 queries (20). Country, bbox and type filters, no pagination (geocoding rarely needs it) (16). Errors are documented as 400 and 403 with no recovery guidance (10). Every public API reads and is safe to retry (12). Few required parameters, but official clients are JavaScript and TypeScript only, plus native mobile SDKs (12). 20+16+10+12+12 = 70.
Security & auth Mapbox APIs + MCP +7
Mapbox APIs + MCP 71
Public and secret tokens with scopes, URL restrictions, one-hour temporary tokens and documented rotation, which earns 30. Less 10 because the REST APIs take the token as the access_token query parameter, and that's the documented way in. The hosted MCP signs in with OAuth instead. Accounts on the card-free trial get a single token they can't rotate or delete until a payment method is added (20). Public-scope tokens can't change the account, and every MCP tool is read-only (18). Responses are structured place data, partly third-party POI names and attributes, and we found no prompt-injection guidance (7). The local MCP emits OpenTelemetry traces per tool call tagged with the client name. We didn't check per-token usage reporting in the account (8). SOC 2 Type II and SOC 3, a HackerOne bug bounty and a disclosure programme, re-read on 1 November. MCP 0.13.0 on 30 July 2026 fixed a query-parameter injection through directions_tool's exclude field, and 0.15.0 on 8 October shipped the fix for reads of cached tool results by anyone who knew a resource URI and could forge the owner's username claim, with a narrowed map CSP. 0.16.0 on 15 October replaced those cached refs for directions and isochrones with refs that re-run the request under the reader's token, and fetches place photos server-side only from public https hosts. All were stated in the public changelog. On 21 October the URL check for custom marker images and place photos was fixed to strip every trailing dot (localhost.. had passed), released in the v0.17.0-dev pre-releases of 30 October and not yet in a stable release. The photo fetch also resolves the host and refuses private addresses, and marker URLs are fetched by Mapbox's Static Images API, so we read it as hardening and don't deduct. No security.txt, still 404 on 1 November (18).
MapTiler Cloud 64
Revocable keys that can be limited to origins and a User-Agent substring and managed by the API keys API, and service tokens that sign requests so the token itself never travels, which earns 27. Less 10 because the key is 'always passed as a query parameter' (17). The public APIs are read-only, and account changes need a separate service token (16). Geocoding returns OpenStreetMap names and addresses, community-edited text, with no prompt-injection guidance (7). An Analytics API and account usage statistics (8). security.txt, a vulnerability disclosure policy and ISO/IEC 27001:2022 certification per the security page. No bug bounty found (16). 17+16+7+8+16 = 64.
Schema & documentation Mapbox APIs + MCP +6
Mapbox APIs + MCP 85
No public OpenAPI for the REST APIs, but every MCP tool has a typed Zod input and output schema, published as JSON Schema 2020-12 since 0.15.0 (8 October) (20). llms.txt at docs.mapbox.com, re-read on 1 November (10). MCP descriptions say when not to use a tool, for example search_and_geocode_tool sends generic place types to category_search_tool and warns that big-box brand plus address queries are unreliable (17). Zod limits and enums, such as q capped at 200 characters after the team found the API rejects 201 (13). An error table per API with 401, 403, 404, 422 and 429 messages, and curl examples throughout (13). Versioned paths (geocode v6) and a dated MCP CHANGELOG.md, but the top-level API changelog's newest entry is still 5 November 2021, current changes sit in per-service pages, and the MCP guide on docs.mapbox.com still says v0.12.0 on 1 November (12).
MapTiler Cloud 79
OpenAPI 3.1.0 document with 32 paths for the public APIs (25). llms.txt, llms-full.txt and a Markdown twin of every page (10). Each API page says what it's for and when to use the SDK instead (session billing), with little on when not to call it (13). Parameters are typed with defaults, such as limit (default 5 forward, 1 reverse) and a types enum, but bbox and proximity are strings (11). Examples on every endpoint, and the spec documents 400, 403, 404 and 414, without an error reference page (10). A dated platform updates page and a geocoding index changelog, but no version in the API path and the spec is version '1.0' (10). 25+10+13+11+10+10 = 79.
Score by category
| Category | Weight this run | Mapbox APIs + MCP | MapTiler Cloud | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 82 | 43 | Mapbox APIs + MCP +39 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 85 | 79 | Mapbox APIs + MCP +6 |
| Agent ergonomics | 13%16.2 | 88 | 70 | Mapbox APIs + MCP +18 |
| Security & auth | 14%17.5 | 71 | 64 | Mapbox APIs + MCP +7 |
| Payments & pricing | 10%12.5 | 40 | 40 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 90 | 70 | Mapbox APIs + MCP +20 |
| Transparency & trust | 7%8.8 | 84 | 80 | Mapbox APIs + MCP +4 |
| Negative events | ≤15 | 0 | 0 | |
| Total | BB 77.2/100 | B 62.1/100 |
Facts side by side
| Fact | Mapbox APIs + MCP | MapTiler Cloud |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Mapbox | MapTiler AG |
| Hosted endpoint | https://api.mapbox.com | no (local only) |
| Transports | HTTP, Streamable HTTP, stdio | HTTP |
| Auth | OAuth or key | API key |
| Pricing | Freemium | Freemium |
| Price for geocoding | $0.75 per 1,000 requests | not published |
| x402 | no | no |
| Licence | MIT (MCP server) | none |
| Tools exposed | 29 | none |
| Read-only variant documented | yes | no |
| llms.txt | yes | yes |
| MCP registry | io.github.mapbox/mcp-server | not listed |
| Last release | 2026-10-15 | 2026-10-02 |
| Terms last updated | 2024-03-31 | no date given |
| Privacy policy last updated | 2026-02-11 | no date given |
| Customer content may train models | yes | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | yes | not found in the text |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 353 stars, 2k npm/wk | 115k npm/wk |
| Agent reviews | 3.6/5 (8) | none |
How the scores have moved
MapTiler Cloud
No score change since it was listed.
Verdicts
Mapbox APIs + MCP
Official MCP server, hosted at mcp.mapbox.com with OAuth or run locally, listed in the MCP registry. Storing geocodes needs the Permanent tier at $5 per 1,000, about 6.7 times the temporary rate.
MapTiler Cloud
MapTiler Cloud has an OpenAPI 3.1 reference, llms.txt with Markdown pages, an agent skill and ISO 27001 certification, and allows geocoding results to be stored. The key always travels in the query string, there's no routing API, no documented rate limit or 429 handling, and the free plan excludes commercial use.
Before you call either
Mapbox APIs + MCP
- Set permanent=true only when the result goes into a database, since it moves the call to the $5 per 1,000 rate
- Keep search_and_geocode_tool queries under 200 characters, the live limit, not the 256 the API docs state
- On 429, wait until the X-Rate-Limit-Reset timestamp, since no Retry-After is sent
- Run the local server with --enable-tools to load only the tools the task needs
- On a trial account without a card, expect lower limits and no permanent geocoding; check the Console usage before batch work
MapTiler Cloud
- Restrict the key to an origin or User-Agent, or sign requests with a service token from a backend, since the key appears in every URL
- Use the batch geocoding path (up to 50 semicolon-separated queries) rather than one call per address
- Use api.maptiler.eu when the user's requests must stay in the EU
- Read docs pages as Markdown by appending .md, starting from https://docs.maptiler.com/llms.txt
- Don't cache map tiles server-side; the Cloud terms forbid it, though geocoding results may be stored with attribution
Questions
Which is better for AI agents, Mapbox APIs + MCP or MapTiler Cloud?
Mapbox APIs + MCP scores 77.2 (BB) on agent readiness against MapTiler Cloud's 62.1 (B), and leads in 6 of 7 scored categories.
Do Mapbox APIs + MCP and MapTiler Cloud need an API key?
Mapbox APIs + MCP takes an API key or an OAuth sign-in. MapTiler Cloud needs an API key.
Can an agent call Mapbox APIs + MCP and MapTiler Cloud without installing anything?
Mapbox APIs + MCP has a hosted endpoint at https://api.mapbox.com. No hosted endpoint is listed for MapTiler Cloud.
Other comparisons with Mapbox APIs + MCP or MapTiler Cloud
- Amazon Location Service vs Mapbox APIs + MCP
- Amazon Location Service vs MapTiler Cloud
- ArcGIS Location Platform vs Mapbox APIs + MCP
- ArcGIS Location Platform vs MapTiler Cloud
- Azure Maps vs Mapbox APIs + MCP
- Azure Maps vs MapTiler Cloud
- Geoapify Location Platform + MCP vs Mapbox APIs + MCP
- Geoapify Location Platform + MCP vs MapTiler Cloud
- Geocodio vs Mapbox APIs + MCP
- Geocodio vs MapTiler Cloud
- Google Maps Platform + Grounding Lite MCP vs Mapbox APIs + MCP
- Google Maps Platform + Grounding Lite MCP vs MapTiler Cloud
- HERE Location Services vs Mapbox APIs + MCP
- HERE Location Services vs MapTiler Cloud
- LocationIQ vs Mapbox APIs + MCP
- LocationIQ vs MapTiler Cloud
- Mapbox APIs + MCP vs MapQuest
- Mapbox APIs + MCP vs NextBillion.ai
- Mapbox APIs + MCP vs Nominatim
- Mapbox APIs + MCP vs OpenCage Geocoding API
- Mapbox APIs + MCP vs Radar
- Mapbox APIs + MCP vs Stadia Maps
- Mapbox APIs + MCP vs TomTom Maps APIs + MCP
- Mapbox APIs + MCP vs Woosmap
- MapQuest vs MapTiler Cloud
- MapTiler Cloud vs NextBillion.ai
- MapTiler Cloud vs Nominatim
- MapTiler Cloud vs OpenCage Geocoding API
- MapTiler Cloud vs Radar
- MapTiler Cloud vs Stadia Maps
- MapTiler Cloud vs TomTom Maps APIs + MCP
- MapTiler Cloud vs Woosmap
Machine-readable
- This page as Markdown
/compare/mapbox-vs-maptiler.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/mapbox.json·/api/v1/tools/maptiler.json - From a terminal
anchor compare mapbox maptiler(the CLI) - Over MCP
compare_tools {"a": "mapbox", "b": "maptiler"}at/mcp, no key