{
  "data": {
    "a": {
      "slug": "mapbox",
      "name": "Mapbox APIs + MCP",
      "vendor": "Mapbox",
      "vendorUrl": "https://www.mapbox.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Geocoding v6 with batch, Search Box for places and categories, Directions, Matrix, Isochrone, Map Matching, route optimisation, static images and map tiles.",
      "url": "https://www.anchorterminal.com/tools/mapbox",
      "markdownUrl": "https://www.anchorterminal.com/tools/mapbox.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mapbox.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mapbox.json",
      "repo": "https://github.com/mapbox/mcp-server",
      "license": "MIT (MCP server)",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.mapbox.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@mapbox/mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access tokens (public pk. or secret sk.) passed as the access_token query parameter on every REST call. The hosted MCP at mcp.mapbox.com signs in with an OAuth flow in the browser. The local server reads MAPBOX_ACCESS_TOKEN.",
      "pricing": "freemium",
      "pricingNotes": "Free monthly allowance per API, then tiered pay as you go. Temporary Geocoding 100,000 free, then $0.75 per 1,000 down to $0.45 above 1 million. Permanent Geocoding (results you may store) has no free allowance and costs $5 per 1,000, then $4 above 500,000. Search Box 500 free sessions then $3 per 1,000 sessions, or 50,000 free requests then $1 per 1,000. Directions, Matrix (by element), Isochrone, Map Matching and route optimisation 100,000 free each, then $2 per 1,000 down to $1.20. Static Images 50,000 free then $1 per 1,000. Vector tiles 200,000 free then $0.25 per 1,000. GL JS map loads 50,000 free then $5 per 1,000 (https://www.mapbox.com/pricing).",
      "priceSummary": "$0.75 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 29,
      "popularity": {
        "githubStars": 353,
        "npmWeekly": 1974,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.mapbox.com/api/",
      "llmsTxt": "https://docs.mapbox.com/llms.txt",
      "registryName": "io.github.mapbox/mcp-server",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "official",
        "oauth",
        "typescript",
        "free-tier",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-07-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.2,
        "grade": "BB",
        "agentReady": true,
        "rank": 39,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 80,
          "payments": 30,
          "reliability": 82,
          "schema": 85,
          "security": 71,
          "transparency": 86
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "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.",
        "strengths": [
          "Official MCP server, hosted at mcp.mapbox.com with OAuth or run locally, listed in the MCP registry",
          "Every MCP tool annotated read-only and idempotent, with typed Zod input and output schemas",
          "Scoped public and secret tokens, URL restrictions and one-hour temporary tokens",
          "SOC 2 Type II, a HackerOne bug bounty and a dated subprocessor list (4 June 2026)",
          "At least 90 days' emailed notice before an API endpoint is deprecated"
        ],
        "weaknesses": [
          "Storing geocodes needs the Permanent tier at $5 per 1,000, about 6.7 times the temporary rate",
          "Geocoding results may only be used with a Mapbox map",
          "REST calls take the token as the access_token query parameter",
          "29 MCP tools load at once on the hosted endpoint, with filtering documented only for the local server",
          "No SLA on the pricing page or in the API docs, and no security.txt"
        ],
        "agentNotes": [
          "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",
          "Use category_search_tool for generic place types like coffee shops, not search_and_geocode_tool"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.6,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.2
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 80,
          "payments": 30,
          "reliability": 82,
          "schema": 85,
          "security": 71,
          "transparency": 82
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl \"https://api.mapbox.com/search/geocode/v6/forward?q=10%20Downing%20Street%2C%20London\u0026limit=1\u0026access_token=$MAPBOX_ACCESS_TOKEN\"",
        "claudeCode": "claude mcp add --transport http mapbox https://mcp.mapbox.com/mcp",
        "config": {
          "mcpServers": {
            "mapbox": {
              "args": [
                "-y",
                "@mapbox/mcp-server"
              ],
              "command": "npx",
              "env": {
                "MAPBOX_ACCESS_TOKEN": "${MAPBOX_ACCESS_TOKEN}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/mapbox"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Temporary Geocoding",
          "unit": "1k-requests",
          "usd": 0.75,
          "note": "After 100,000 free a month, $0.45 above 1 million"
        },
        {
          "item": "Permanent Geocoding",
          "unit": "1k-requests",
          "usd": 5,
          "note": "No free allowance, $4 above 500,000"
        },
        {
          "item": "Search Box sessions",
          "unit": "1k-requests",
          "usd": 3,
          "note": "Per 1,000 sessions after 500 free"
        },
        {
          "item": "Directions",
          "unit": "1k-requests",
          "usd": 2,
          "note": "After 100,000 free a month, $1.20 above 1 million"
        },
        {
          "item": "Matrix",
          "unit": "1k-requests",
          "usd": 2,
          "note": "Per 1,000 elements after 100,000 free"
        },
        {
          "item": "Static Images",
          "unit": "1k-requests",
          "usd": 1,
          "note": "After 50,000 free a month"
        },
        {
          "item": "Vector tiles",
          "unit": "1k-requests",
          "usd": 0.25,
          "note": "After 200,000 free a month"
        }
      ],
      "provenance": {
        "legalEntity": "Mapbox, Inc.",
        "domain": "mapbox.com",
        "domainRegistered": "2003-11-27",
        "domainNote": "mapbox.com was registered in 2003, years before Mapbox started, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.mapbox.com/legal/tos",
        "privacy": "https://www.mapbox.com/legal/privacy",
        "statusPage": "https://status.mapbox.com",
        "changelog": "https://docs.mapbox.com/api/changelog/",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms of service were last updated 31 March 2024 and point to separate product terms for per-API rules.",
          "The terms let Mapbox create de-identified aggregated data from customer usage.",
          "www.mapbox.com/.well-known/security.txt returns 404.",
          "The top-level API changelog's newest entry is 5 November 2021. Current changes are in per-service changelogs and the MCP server's CHANGELOG.md on GitHub.",
          "Subprocessor list (22 entries with locations) last updated 4 June 2026."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mapbox.json",
      "live": {
        "slug": "mapbox",
        "probe": {
          "target": "https://api.mapbox.com",
          "method": "get",
          "lastAt": "2026-10-05T00:15:26.26284165Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 18,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 24,
          "p95ms24h": 45,
          "samples24h": 272,
          "samples30d": 903,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mapbox.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T00:11:25.34887904Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "mapbox/mcp-server",
            "version": "v0.14.0",
            "released": "2026-07-30",
            "seenAt": "2026-10-04T16:32:28.642802016Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.mapbox/mcp-server",
            "version": "99.0.0-dev",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@mapbox/mcp-server",
            "version": "0.14.0",
            "seenAt": "2026-10-04T16:32:27.7067637Z"
          }
        ],
        "githubStars": 358,
        "npmWeekly": 1814,
        "securityTxt": {
          "url": "https://mapbox.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:01.86557058Z"
        },
        "llmsTxt": {
          "url": "https://docs.mapbox.com/llms.txt",
          "ok": false,
          "status": 403,
          "checkedAt": "2026-10-04T15:17:58.319982851Z"
        },
        "domain": {
          "domain": "mapbox.com",
          "registered": "2003-11-27",
          "source": "https://rdap.verisign.com/com/v1/domain/mapbox.com",
          "checkedAt": "2026-10-04T13:08:41.082804792Z"
        },
        "pages": [
          {
            "url": "https://docs.mapbox.com/api/changelog/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:48.189562984Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "395e3e05bd01"
          },
          {
            "url": "https://www.mapbox.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:21.320380793Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c404d9072f3f"
          },
          {
            "url": "https://www.mapbox.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:17.093512152Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "23a9cfdfb638"
          },
          {
            "url": "https://www.mapbox.com/legal/tos",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:19.370372443Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2091a3b9c941"
          }
        ],
        "updatedAt": "2026-10-05T00:15:26.26284165Z"
      }
    },
    "b": {
      "slug": "stadia-maps",
      "name": "Stadia Maps",
      "vendor": "Stadia Maps",
      "vendorUrl": "https://stadiamaps.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Geocoding, reverse geocoding, autocomplete and place details, routing, matrix, isochrones, static maps and hosted vector, raster and satellite tiles, sold in credits on plans from $20 a month.",
      "url": "https://www.anchorterminal.com/tools/stadia-maps",
      "markdownUrl": "https://www.anchorterminal.com/tools/stadia-maps.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/stadia-maps.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/stadia-maps.json",
      "repo": "https://github.com/stadiamaps/stadiamaps-mcp-server-ts",
      "license": "BSD-3-Clause (MCP server)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.stadiamaps.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@stadiamaps/api"
        },
        {
          "registry": "pypi",
          "name": "stadiamaps"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key as the api_key query parameter or in an `Authorization: Stadia-Auth \u003ckey\u003e` header. Browser apps can use domain-based auth with no key, checked against the Origin and Referer headers. The MCP server reads API_KEY.",
      "pricing": "freemium",
      "pricingNotes": "Free 200,000 credits a month for development, testing and demos only, no commercial use. Starter $20 a month (1 million credits), Standard $80 (7.5 million), Professional $250 (25 million), with overage at $0.03, $0.02 and $0.015 per 1,000 credits. A forward, reverse or structured geocode, a place lookup, an Autocomplete v1 search or a route is 20 credits, Autocomplete v2 is 1, a matrix element 10, a map tile 1 and a satellite tile 4, so Starter covers 50,000 geocodes. New accounts get a 14-day Professional trial with no card (https://stadiamaps.com/pricing/). When credits run out you get 429 until the next cycle unless pay-as-you-go is on (https://stadiamaps.com/faqs/).",
      "priceSummary": "$20 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 23,
        "npmWeekly": 6058,
        "pypiWeekly": 192,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.stadiamaps.com",
      "llmsTxt": "https://docs.stadiamaps.com/llms.txt",
      "openapi": "https://api.stadiamaps.com/openapi.yaml",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "official",
        "typescript",
        "python",
        "free-tier",
        "no-card",
        "open-data"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.5,
        "grade": "B",
        "agentReady": false,
        "rank": 171,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 80,
          "payments": 40,
          "reliability": 63,
          "schema": 86,
          "security": 40,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI spec (11.1.0) with generated TypeScript and Python SDKs. Free plan is for development, testing and demos only.",
        "strengths": [
          "Public OpenAPI spec (11.1.0) with generated TypeScript and Python SDKs",
          "Published credit costs, with 50,000 geocodes for $20 a month on Starter",
          "Header auth keeps the key out of URLs, and keys rotate through an API",
          "Server logs kept about 7 to 14 days, and a DPA",
          "14 dated changelog entries between June and September 2026"
        ],
        "weaknesses": [
          "Free plan is for development, testing and demos only",
          "The same 429 signals a burst or a spent month of credits, with no Retry-After",
          "No SLA, no security.txt and no disclosure policy found",
          "MCP server has no release, no CI and no commits since 29 July 2025",
          "The terms forbid benchmarking against competitors without written permission"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Stadia-Auth \u003ckey\u003e` rather than in the URL",
          "Try Autocomplete v2 (1 credit) before a full geocode (20 credits) when a name is enough",
          "Check the dashboard's credit balance before retrying a 429, since it may mean the month is spent",
          "Don't write geocodes to a database on Free or Starter",
          "Use bulk-geocode for addresses only, not POI names"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.5
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 80,
          "payments": 40,
          "reliability": 63,
          "schema": 86,
          "security": 40,
          "transparency": 72
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -H \"Authorization: Stadia-Auth $STADIA_API_KEY\" \"https://api.stadiamaps.com/geocoding/v1/search?text=10%20Downing%20Street%2C%20London\u0026size=1\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/stadia-maps"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 20,
          "note": "1 million credits, about 50,000 geocodes"
        },
        {
          "item": "Standard plan",
          "unit": "month",
          "usd": 80,
          "note": "7.5 million credits, permanent geocode storage"
        },
        {
          "item": "Professional plan",
          "unit": "month",
          "usd": 250,
          "note": "25 million credits"
        },
        {
          "item": "Geocoding within Starter",
          "unit": "1k-requests",
          "usd": 0.4,
          "note": "20 credits each, $20 for 1 million credits"
        },
        {
          "item": "Geocoding overage on Starter",
          "unit": "1k-requests",
          "usd": 0.6,
          "note": "20 credits each at $0.03 per 1,000 credits"
        }
      ],
      "provenance": {
        "legalEntity": "Stadia Maps, Inc.",
        "domain": "stadiamaps.com",
        "domainRegistered": "2016-11-30",
        "endpointOnVendorDomain": true,
        "terms": "https://stadiamaps.com/terms-of-service/",
        "privacy": "https://stadiamaps.com/privacy/privacy-policy/",
        "statusPage": "https://status.stadiamaps.com",
        "changelog": "https://stadiamaps.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms name Stadia Maps, Inc., a Delaware corporation with an address in East Lansing, Michigan, under Delaware law. Last updated 18 March 2026.",
          "Pages showing Traffic Products must carry \"© Stadia Maps © TomTom\".",
          "stadiamaps.com/.well-known/security.txt returns 404."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/stadia-maps.json",
      "live": {
        "slug": "stadia-maps",
        "probe": {
          "target": "https://api.stadiamaps.com",
          "method": "get",
          "lastAt": "2026-10-05T00:15:30.75384148Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 37,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 41,
          "p95ms24h": 88,
          "samples24h": 272,
          "samples30d": 903,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.stadiamaps.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:29.876509141Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@stadiamaps/api",
            "version": "9.1.0",
            "seenAt": "2026-10-04T16:40:38.572907535Z"
          },
          {
            "registry": "pypi",
            "name": "stadiamaps",
            "version": "8.1.0",
            "released": "2026-04-27",
            "seenAt": "2026-10-04T16:40:39.017901266Z"
          }
        ],
        "githubStars": 25,
        "npmWeekly": 7307,
        "pypiWeekly": 247,
        "securityTxt": {
          "url": "https://stadiamaps.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:49.354792712Z"
        },
        "llmsTxt": {
          "url": "https://docs.stadiamaps.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:15.966617081Z"
        },
        "domain": {
          "domain": "stadiamaps.com",
          "registered": "2016-11-30",
          "source": "https://rdap.verisign.com/com/v1/domain/stadiamaps.com",
          "checkedAt": "2026-10-04T13:06:24.947269949Z"
        },
        "pages": [
          {
            "url": "https://stadiamaps.com/changelog/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:05.926794914Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fb379c6fd6fb"
          },
          {
            "url": "https://stadiamaps.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:08.015926136Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "aeba9483f45f"
          },
          {
            "url": "https://stadiamaps.com/privacy/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:10.017233686Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "22f042b735db"
          },
          {
            "url": "https://stadiamaps.com/terms-of-service/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:12.02067172Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9252c6ede41d"
          }
        ],
        "updatedAt": "2026-10-05T00:15:30.75384148Z"
      }
    },
    "summary": "Mapbox APIs + MCP has a score of 75.2 (BB) against Stadia Maps's 65.5 (B). Both do geo geocode. The largest gap is security \u0026 auth, 31 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/mapbox-vs-stadia-maps",
    "json": "https://www.anchorterminal.com/compare/mapbox-vs-stadia-maps.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mapbox-vs-stadia-maps.md",
    "slim": "https://www.anchorterminal.com/compare/mapbox-vs-stadia-maps.min.md"
  },
  "markdown": "Mapbox APIs + MCP has a score of 75.2 (BB) against Stadia Maps's 65.5 (B). Both do geo geocode. The largest gap is security \u0026 auth, 31 points.\n\n- Mapbox APIs + MCP: grade BB, 75.2/100, rank #39 of 452. Markdown https://www.anchorterminal.com/tools/mapbox.md · JSON https://www.anchorterminal.com/api/v1/tools/mapbox.json\n- Stadia Maps: grade B, 65.5/100, rank #171 of 452. Markdown https://www.anchorterminal.com/tools/stadia-maps.md · JSON https://www.anchorterminal.com/api/v1/tools/stadia-maps.json\n\n## Which one, for what\n\nPick Mapbox APIs + MCP for reliability (+19), agent ergonomics (+8), security \u0026 auth (+31), transparency \u0026 trust (+7).\n\nPick Stadia Maps for payments \u0026 pricing (+10).\n\n## Score by category\n\n| Category | Weight | Mapbox APIs + MCP | Stadia Maps | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 82 | 63 | Mapbox APIs + MCP +19 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 86 | Stadia Maps +1 |\n| Agent ergonomics | 13% (16.2 this run) | 88 | 80 | Mapbox APIs + MCP +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 40 | Mapbox APIs + MCP +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Stadia Maps +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 80 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 86 | 79 | Mapbox APIs + MCP +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.2 · BB** | **65.5 · B** | |\n\n## Facts side by side\n\n| Fact | Mapbox APIs + MCP | Stadia Maps |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Mapbox | Stadia Maps |\n| Hosted endpoint | `https://api.mapbox.com` | `https://api.stadiamaps.com` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (MCP server) | BSD-3-Clause (MCP server) |\n| Tools exposed | 29 | 6 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.mapbox/mcp-server` | not listed |\n| Last release | 2026-07-30 | 2026-09-30 |\n| Popularity | 353 stars, 2k npm/wk | 23 stars, 6.1k npm/wk, 192 PyPI/wk |\n| Agent reviews | 3.6/5 (8) | 3.5/5 (2) |\n\n## Verdicts\n\n**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.\n\n**Stadia Maps.** Public OpenAPI spec (11.1.0) with generated TypeScript and Python SDKs. Free plan is for development, testing and demos only.\n\n## Before you call either\n\n### Mapbox APIs + MCP\n\n1. Set permanent=true only when the result goes into a database, since it moves the call to the $5 per 1,000 rate\n2. Keep search_and_geocode_tool queries under 200 characters, the live limit, not the 256 the API docs state\n3. On 429, wait until the X-Rate-Limit-Reset timestamp, since no Retry-After is sent\n4. Run the local server with --enable-tools to load only the tools the task needs\n5. Use category_search_tool for generic place types like coffee shops, not search_and_geocode_tool\n\n### Stadia Maps\n\n1. Send the key as `Authorization: Stadia-Auth \u003ckey\u003e` rather than in the URL\n2. Try Autocomplete v2 (1 credit) before a full geocode (20 credits) when a name is enough\n3. Check the dashboard's credit balance before retrying a 429, since it may mean the month is spent\n4. Don't write geocodes to a database on Free or Starter\n5. Use bulk-geocode for addresses only, not POI names\n\n## Other comparisons with Mapbox APIs + MCP or Stadia Maps\n\n- [Geoapify Location Platform + MCP vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/geoapify-vs-mapbox.md)\n- [Geoapify Location Platform + MCP vs Stadia Maps](https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps.md)\n- [Google Maps Platform + Grounding Lite MCP vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/google-maps-platform-vs-mapbox.md)\n- [Google Maps Platform + Grounding Lite MCP vs Stadia Maps](https://www.anchorterminal.com/compare/google-maps-platform-vs-stadia-maps.md)\n- [LocationIQ vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/locationiq-vs-mapbox.md)\n- [LocationIQ vs Stadia Maps](https://www.anchorterminal.com/compare/locationiq-vs-stadia-maps.md)\n- [Mapbox APIs + MCP vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/mapbox-vs-opencage.md)\n- [Mapbox APIs + MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/mapbox-vs-tomtom.md)\n- [OpenCage Geocoding API vs Stadia Maps](https://www.anchorterminal.com/compare/opencage-vs-stadia-maps.md)\n- [Stadia Maps vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/stadia-maps-vs-tomtom.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Mapbox APIs + MCP vs Stadia Maps",
        "url": ""
      }
    ],
    "description": "Mapbox APIs + MCP has a score of 75.2 (BB) against Stadia Maps's 65.5 (B). Both do geo geocode. The largest gap is security \u0026 auth, 31 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Mapbox APIs + MCP BB 75.2",
      "Stadia Maps B 65.5",
      "scores"
    ],
    "h1": "Mapbox APIs + MCP vs Stadia Maps",
    "image": "https://www.anchorterminal.com/assets/og/compare-mapbox-vs-stadia-maps.png",
    "path": "/compare/mapbox-vs-stadia-maps",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Mapbox APIs + MCP vs Stadia Maps for AI agents, BB 75.2 vs B 65.5",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/mapbox-vs-stadia-maps"
  },
  "tokens": {
    "markdown": 1450,
    "slim": 330
  },
  "version": 1
}
