Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

AtlasFetch

by atlasfetch-devversion 0.4.4i★ –iRuns on your computer
Registry namexyz.atlasfetch/atlasfetch

Install

Overview

Description from the maker (original English)

Coordinates to places and streets, ZA addresses to points, and routes around your own geofences.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Travel, maps & weather
  • You need to fill in: ATLASFETCH_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ATLASFETCH_API_KEY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "atlasfetch": {
      "command": "npx",
      "args": [
        "-y",
        "atlasfetch-mcp"
      ],
      "env": {
        "ATLASFETCH_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add atlasfetch --env ATLASFETCH_API_KEY=your-value -- npx -y atlasfetch-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "atlasfetch": {
      "command": "npx",
      "args": [
        "-y",
        "atlasfetch-mcp"
      ],
      "env": {
        "ATLASFETCH_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "atlasfetch": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "atlasfetch-mcp"
      ],
      "env": {
        "ATLASFETCH_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ATLASFETCH_API_KEY secret env
    Your API key from https://atlasfetch.xyz/dashboard. Without it, the shared public demo key is used.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain atlasfetch.xyz (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Travel, maps & weatheri

  • More stars than 0% of the other 1715 servers in this category
  • Published to the registry more recently than 79% of the other 1715 servers in this category
  • Basic checks equal to or better than 100% of the other 1715 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is AtlasFetch safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ATLASFETCH_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.4.4) reached the registry 8 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: topo^alpin, roadstyle, Weather MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

topo^alpin

by topoalpin.app

Avalanche bulletins, mountain weather, stations, huts, ski and snowshoe tours in the Alps.

Runs in the cloudUpdated today
Install

roadstyle

by Khoshkhah

Styled, interactive road maps of any place (OpenStreetMap) or road file, with PNG previews.

Runs on your computerUpdated today
Install

Weather MCP Server

by thenextgennexus.com

Current weather and forecast lookup as an agent tool.

Runs in the cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

atlasfetch-mcp

No signup needed to try it: without a key it falls back to a shared public demo key, capped at 1,000 lookups a month across everyone using it. Get your own limits with a free sign-up at atlasfetch.xyz.

An MCP server for AtlasFetch — reverse geocoding to administrative boundaries and streets, and geofencing, as tools your AI assistant can call directly.

Ask "which municipality is -33.9249, 18.4241 in?" and get Cape Town, Western Cape, South Africa with ISO 3166 codes — from a real point-in-polygon lookup, not the model's memory.

country: United Kingdom (GB) · region: England (GB-ENG) · municipal: City of Westminster (GB-WSM)

What it does

ToolWhat it does
lookup_locationA coordinate becomes the country, region and municipality containing it, with ISO 3166-1 / 3166-2 codes, plus matches from your own boundary sets. Optionally the nearest street (ask for the street layer), and the point as an H3 cell or Google Plus Code.
geocode_addressAn address becomes a point, in South Africa today, with a precision that says whether the house, the street or only the suburb was found — and what to do about it.
get_routeA route between 2 and 25 coordinates by car, bike, foot or truck, with turn-by-turn steps — optionally around your own zones, or measuring how far it runs inside them.
list_boundary_setsLists your boundary sets, their counts, and which API keys may query them.
create_boundary_setCreates an empty set for your own polygons.
add_boundaryAdds one GeoJSON polygon, with properties returned on every match.
update_boundaryMoves or reshapes one boundary, keeping its id, name and properties.

Good for: reverse geocoding to administrative areas, finding the street a point is on, geofencing against your own delivery zones or service areas, jurisdiction and region checks, tagging location data with region codes, geocoding delivery addresses in South Africa, and routing that keeps out of the areas you name.

Not for: geocoding outside South Africa (yet), searching for places by name, traffic-aware ETAs, distance matrices, isochrones, map tiles, or downloading boundary geometry.

Directions

get_route returns distance, duration and turn-by-turn steps between 2 and 25 coordinates, for car, bike, foot or truck.

car: 3.5 km · 5 min · 11 steps · a location moved 62 m to reach a road — free-flow, no traffic

Three things worth knowing before you wire it up:

  • A route costs 10 lookups, not one. Everything it returns is included in that, but it is ten times a lookup.
  • Durations are free-flow — the network at its own speed limits, with no live or historical traffic. They are not ETAs. For those, use a traffic-aware service.
  • The route line is off by default (routeGeometry: "none"). An encoded polyline is thousands of characters an assistant cannot read; ask for polyline6 or geojson only when something will draw it.

Your own zones, in a route. avoidSets names boundary sets to route *around*; exposureSets names sets to *measure* against, leaving the route alone and reporting how many metres of it ran inside each zone. A zone containing one of your locations cannot be avoided for that route — it is skipped, and the answer says so.

Plan limits apply: 2 locations on the free plans and up to 25 on Pro, truck is Pro only, and alternatives need exactly 2 locations. Over a cap the answer is a 403 and nothing is billed; a location with no road near it is a 422, and that one is billed, because the route was attempted.

Geocoding

geocode_address turns one address into a point — q on one line, or address already split into parts. South Africa today.

address · confidence 0.96 · 25 Adderley Street, Cape Town, ZA-WC — dispatch

street · confidence 0.47 · ambiguous · Long Street, Cape Town, ZA-WC — ask the customer before dispatching

Read the precision before you use the point. address is the house; interpolated is estimated between the numbers either side; intersection is a street corner ("Cnr Main Rd and Belmont Rd"); site is a named place such as a shopping centre, office park or hospital (pass the shop or unit number on to the driver); street is the right street but not the house; locality is only the suburb. The result line applies the API's own advice for deliveries: dispatch only on a house-, corner- or site-level answer that is not ambiguous, ask the recipient for a pin on a street-level one, and ask the customer when it is ambiguous, listing the other candidates by the suburb each lies in (five Long Streets in Cape Town: City Centre, Observatory, Maitland…). In South Africa most answers are street-level, because OpenStreetMap has house numbers on about 13% of street names.

One address per call, at 1 lookup each, found or not. That is deliberate: a delivery list goes through one row at a time, where you can see what it spends. Programs with thousands of rows should call POST /geocode/batch on the API directly.

Streets

Add the street layer and the answer includes the nearest street, and the house number where one is mapped. It is worldwide, and opt-in — not part of the default country, region, municipal.

You always get three answers — for 5 m, 20 m and unlimited — because "the nearest street" depends on how far you are willing to look:

"street": [

{ "radiusMeters": 5, "streetNumber": null, "streetName": "Adderley Street", "postcode": null, "distanceMeters": 2.7 }, { "radiusMeters": 20, "streetNumber": "25", "streetName": "Adderley Street", "postcode": "8001", "distanceMeters": 9.6 }, { "radiusMeters": null, "streetNumber": "25", "streetName": "Adderley Street", "postcode": "8001", "distanceMeters": 9.6 } ]

Two nulls that mean different things: "street": null means there is no street data for that country, while an entry whose fields are null means nothing was within that radius. streetNumber and postcode are strings (44A, 12-14, 0181); house numbers are rare outside well-mapped areas. Set streetGeometry and each answer also carries the street's line, trimmed to about 250 m — leave it off unless something will draw it.

Install

Claude Code
claude mcp add atlasfetch -- npx -y atlasfetch-mcp
Claude Desktop, Cursor, VS Code and other clients

Add to your MCP config (claude_desktop_config.json, .cursor/mcp.json, or your client's equivalent):

{

"mcpServers": { "atlasfetch": { "command": "npx", "args": ["-y", "atlasfetch-mcp"], "env": { "ATLASFETCH_API_KEY": "your-key-here" } } } }

Requires Node 20 or newer.

Getting a key

The demo key is shared by every anonymous user on the internet — one pooled quota and rate limit. Fine for a first look, wrong for anything real.

Create your own at atlasfetch.xyz/dashboard and set ATLASFETCH_API_KEY. The free Personal plan needs no card. You can copy a key from the dashboard at any time — so restrict it to your own domains there. Keys made before 12 October 2026 were revoked; if yours stops working, copy a live one.

VariableDefaultPurpose
ATLASFETCH_API_KEY*(demo key)*Your API key.
ATLASFETCH_API_URLhttps://api.atlasfetch.xyzOverride only for local or staging APIs.

Two things that surprise people

`municipal` is the finest unit available, not a consistent kind of thing. Los Angeles returns a city; rural Kansas returns a county; some places return a district. Where a country's fine tier is patchy, a coarser complete tier answers instead, because a county beats null for most uses. Don't assume the value names a city.

A new boundary set cannot be made queryable from here. Sets are created switched off and granted to no key, and granting is addressed by API key *id* — which only a signed-in browser session can list. So this server can create a set and fill it, but the last step happens in the dashboard. create_boundary_set says so in its response rather than leaving you with a set that silently matches nothing.

Billing

A lookup or a geocoded address is one lookup; a route is 10 on the standard plans. A lookup is one, however many layers, sets or grid codes it touches. Metering happens before matching, so a lookup that matches nothing still counts. Requests rejected as invalid or rate-limited are not billed.

Conventions

A few rules hold across all seven tools, so an input means the same thing wherever it appears.

  • `set` names one set, `sets` names several. add_boundary and update_boundary act on one set (set). lookup_location and geocode_address match against any number of sets (sets).
  • `get_route` flattens two API objects. The API takes avoid: { sets: [...] } and exposure: { sets: [...] }. The tool takes avoidSets and exposureSets, because a one-key wrapper object is a step a model gets wrong.
  • `…Geometry` is always a line you ask to get back, and always off by default. routeGeometry on get_route, and streetGeometry on lookup_location and geocode_address. A plain geometry input is a polygon you send, on add_boundary and update_boundary. (get_route still accepts geometry as an old name for routeGeometry; it goes in 1.0.)
  • Where a default differs from the API's, it is on purpose:
ToolInputThis serverAPIWhy
get_routestepstruefalseTurn-by-turn is what someone asks an assistant for
lookup_locationstreetGeometryadds street to base400 without streetAsking for a street's line means asking for the street
  • The first line of every answer is for a person, and is not a contract. It summarises the answer and says what to do with it (— dispatch, — ask the customer), and its wording will keep improving. The JSON below it is the API's answer, unchanged, and that is what to parse.

Stability

Before 1.0, minor versions (0.3 → 0.4) may rename or remove an input, as 0.4.0 did, though always with a deprecated alias first.

From 1.0:

  • Frozen: tool names, input names, input types and defaults.
  • May change in a minor release: new tools, new optional inputs, new values an output can take (as intersection and site were added to precision), and the wording of descriptions and of the first line of each answer.
  • Breaking changes go through deprecation. The old form keeps working for at least one minor release, its description says what replaces it, and it is removed only in the next major version.
  • The JSON in each answer follows the AtlasFetch API, which versions its own contract in its OpenAPI spec.

Every release is described in CHANGELOG.md.

Development

npm install

npm run build node scripts/smoke.mjs # drives the built server with a real MCP client, against the live API

Links

Licence

MIT for this server. Reference boundaries derive from OpenStreetMap under the ODbL; attribution and share-alike obligations pass through to you. Coordinates you look up are not stored.

Ask PopNx