Apple Maps

io.github.mgcreaPublished by GitHub account mgcreav1.37.0Updated Nov 7, 2026

Read and act on Apple Maps — favourites, Guides and recents, writes off by default

VerifiedSTDIODesktop onlyLocation & LifestyleFiles & Storage

Overview

Apple Maps's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Apple Maps in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@mgcrea/mcp-apple-maps

MCP server for the macOS Maps app: the places you have saved.

json
{  "mcpServers": {    "apple-maps": { "command": "npx", "args": ["-y", "@mgcrea/mcp-apple-maps"] }  }}

What it reads

Favourites, collections (Guides) and recents, with names, addresses and real coordinates, from Maps' Core Data store.

ToolWhat
apple_maps_list_favoritesthe places saved as favourites
apple_maps_list_collectionsthe Guides
apple_maps_list_collection_placeswhat is filed in one Guide
apple_maps_list_unfiled_placessaved places filed in no Guide
apple_maps_list_recentswhere you have looked recently
apple_maps_search_placesall three at once, by name, label or address
apple_maps_get_placeone place, by ref
apple_maps_diagnosticswhat opened, which columns resolved, what it cannot do

What it writes

Only with APPLE_MAPS_ALLOW_WRITES=1. Both are unregistered rather than refused when it is off, so a client that has not opted in is never told they exist.

ToolWhat
apple_maps_add_favoritesave a place as a favourite, seeding it through maps://
apple_maps_remove_favoritedrop a favourite row

Three more press controls on a place card through Accessibility rather than writing SQL, and are registered only when Cupertino.app hosts this server: the grant belongs to the app, so a package run from npm has no way to reach them and is never told they exist.

ToolWhat
apple_maps_save_placeadd a place to the Places library (not the same as Pinned)
apple_maps_remove_saved_placeremove a place from the Places library
apple_maps_add_place_to_guidefile a place in an existing Guide; Maps cannot confirm it

Each opens Maps, brings its window forward and leaves the place in your Recents.

What it does not do

It reads what is saved on this Mac. It does not search Apple's map of the world, geocode an address, give directions or compute a travel time. Those are network calls to Apple's services, not data on your disk.

It writes only with APPLE_MAPS_ALLOW_WRITES set: favourites through the store, and the Places library and Guide membership through Maps' own interface. Everything else here is read-only. The store is mirrored to iCloud by NSPersistentCloudKitContainer, so a write is an edit to one replica of a synchronising object graph underneath a running app — a malformed row reaches every device on the account. That is why a place record is never fabricated: adding a favourite opens maps:// so that Maps itself mints the record, and only then is it copied. The place is left in your Recents whether or not you keep the favourite, and resolving it over the network can take tens of seconds.

Full Disk Access is mandatory

Not an optimisation. Maps ships no scripting dictionary, so there is no Apple Events lane to fall back to — without the grant this server returns an error, never an empty list. Grant it to the app running the server, not to Maps.

If a listing comes back empty, that means you have saved nothing of that kind. Run apple_maps_diagnostics to tell the two apart.

Configuration

VariableDefaultWhat
APPLE_MAPS_STOREdiscoveredexplicit store path, for tests and forensic copies
APPLE_MAPS_INDEX_MODEautoauto / ro / immutable / off
APPLE_MAPS_MAX_RESULTS50default result ceiling
APPLE_MAPS_SEED_TIMEOUT_MS30000how long add_favorite waits for Maps to resolve a place
APPLE_MAPS_EXPOSE_PROMPTSonregister the prompt and cupertino://maps/* resources
APPLE_MAPS_DEBUGoffverbose logging on stderr

APPLE_MAPS_ALLOW_WRITES (off) registers the tools under What it writes.

See docs/maps.md for the phase-0 measurements, including the three separate occasions on which this store was declared not to exist.

Licence

MIT.

Source: packages/maps/README.md at commit 5aea2ad

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

17
  1. v1.37.0LatestNov 7, 2026
  2. v1.36.2Nov 4, 2026
  3. v1.36.1Nov 3, 2026
  4. v1.35.0Oct 30, 2026
  5. v1.34.0Oct 29, 2026
  6. v1.31.0Oct 26, 2026
  7. v1.30.0Oct 22, 2026
  8. v1.29.1Oct 21, 2026
  9. v1.28.0Oct 13, 2026
  10. v1.27.0Oct 13, 2026
  11. v1.26.0Oct 6, 2026
  12. v1.25.0Oct 3, 2026
  13. v1.24.1Sep 29, 2026
  14. v1.24.0Sep 27, 2026
  15. v1.23.0Sep 19, 2026
  16. v1.22.1Sep 16, 2026
  17. v1.21.1Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts