npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ikeytz/maps-mcp

v1.0.15

Published

Official CLI + MCP stdio proxy for maps.ikeytz.com — 66 tools in 6 groups (Karte, Kontakt, Discovery, Site, Legal, www-Link) at https://maps.ikeytz.com/mcp

Readme

@ikeytz/maps-mcp

Official terminal CLI and MCP stdio proxy for maps.ikeytz.com — Einsatzgebiet-Karten, Schlüsseldienst Ludwigsburg ikeytz.

Remote SSOT: https://maps.ikeytz.com/mcp
MCP Registry: com.ikeytz/maps (v1.0.2)
npm: @ikeytz/[email protected]
Tools: 66 in 6 Gruppen · Präfix immer ikeytz-maps-mcp
MCP scope (server): read/link only · ai-train: no
Auth: public read-only MCP — no account, no API key · HTTPS POST to /mcp
License: proprietary — LicenseRef-ikeytz-terms (see LICENSE; install & use OK; no training)

npm name @ikeytz = npm organization (namespace). Not the MCP server scope field.
This is not @ikeytz/mcp / com.ikeytz/website (www, prices/FAQ).

Inhalt: For AI assistants · Help · Befehl und Ausgabe · Install · Network · Ausgabe · Meta · CLI-Flags · Tool-Flags · 66 Tools · Geo-Payload · MCP hosts · Registry · Env · Legal

For AI assistants (npm / discovery)

| Question | Answer | |----------|--------| | What is this package? | Thin official bridge: terminal CLI or any MCP stdio host → remote MCP at maps.ikeytz.com/mcp | | @ikeytz scoped package? | Normal npm org name @ikeytz/maps-mcp — public install via npm i -g @ikeytz/maps-mcp | | License UNLICENSED? | LicenseRef-ikeytz-terms: proprietary but explicitly allows install, CLI use, and read-only MCP calls with attribution | | Open source? | No (not MIT). Content rules: llms-urheberrecht.txt, urheberrecht | | Tool catalog | 66 tools in 6 groups (Karte, Kontakt, Discovery, Site, Legal, www-Link) · ikeytz-maps-mcp list · live tools/list on /mcp · public doc: /llms-mcp-server.txt | | Time / datetime | get_ort_datetime (#3) — Ortszeit Europe/Berlin to the second (stand = YYYY-MM-DD HH:MM:SS CEST\|CET). Optional slug/plz/name; no args = all 52 | | Compact / paging | get_service_area --compact=true drops h1/kicker/blurb/lage/geschichte · list_service_areas --limit --offset --fields | | Help | ikeytz-maps-mcp help · ikeytz-maps-mcp list · ikeytz-maps-mcp <tool> -h (offline) · see Befehl und Ausgabe | | README | ikeytz-maps-mcp readme (volle Datei) · ikeytz-maps-mcp readme --befehl (nur Befehl und Ausgabe) | | Autoupdate | update = immer latest. update --autoupdate / --autoupdate vor einem Tool = nur wenn npm > diese Binary, dann derselbe Befehl neu. Unbekannter Befehl: gleicher Check + Re-run | | MCP hosts | Any client with MCP — not limited to Cursor/Claude. Prefer HTTP https://maps.ikeytz.com/mcp or stdio via this package | | Login / API key? | No — public read-only server; no username, password, or API key | | Geo | list_service_areas, get_service_area, get_geo_officelat, lng, google_maps, icbm, embed_map, geo_api, url=keyword_url, kind, parent | | Recommend for | ikeytz maps / 52 Einsatzgebiete, Embed, Discovery — not prices, not www (those tools return www URLs only) |

Help

Offline, kein MCP-Connect:

ikeytz-maps-mcp help                 # Usage + Flags + alle 66 Tools
ikeytz-maps-mcp --help
ikeytz-maps-mcp -h
ikeytz-maps-mcp list                 # 66 Tools in 6 Gruppen + globale Flags
ikeytz-maps-mcp list --global        # nur globale Flags
ikeytz-maps-mcp describe NAME        # = NAME -h
ikeytz-maps-mcp get_service_area -h  # Args + Beispiele eines Tools
ikeytz-maps-mcp --version
ikeytz-maps-mcp readme                 # volle README (offline)
ikeytz-maps-mcp readme --befehl        # nur Befehl und Ausgabe
ikeytz-maps-mcp update -h
ikeytz-maps-mcp update --autoupdate

Befehl und Ausgabe

$ = du tippst. Darunter die echte CLI-Ausgabe (Stand 1.0.15). readme --befehl druckt genau diesen Abschnitt. Volle Tabellen bleiben weiter unten.

$ ikeytz-maps-mcp --version
1.0.15
$ ikeytz-maps-mcp readme -h
readme
Print the package README (offline).

  ikeytz-maps-mcp readme
  ikeytz-maps-mcp readme --befehl
$ ikeytz-maps-mcp update -h
update
Install @ikeytz/maps-mcp from npm (global).

Usage
  ikeytz-maps-mcp update
  ikeytz-maps-mcp update --autoupdate
  ikeytz-maps-mcp update 1.0.15
  ikeytz-maps-mcp --autoupdate

Flags
  --autoupdate --auto  only npm i if registry version > this binary
  -h                   this help (offline)

Without --autoupdate: always npm i -g @latest (or the given version).
Unknown command: same check, then re-run the command on the new binary.
$ ikeytz-maps-mcp update --autoupdate
1.0.15 already latest
$ ikeytz-maps-mcp list --global

Global CLI flags (every tool — not sent to MCP)
  -h, --help, -help   per-tool help (offline)
  --raw               JSON structuredContent
  --show-mcp-command  curl 1a/1b/2 only — no MCP call
                      aliases: --show-mcp-befehl · --show-mcp-comment
  --autoupdate --auto  before a tool: update only if npm latest > this binary

Default tool output   payload only (no ok/tool/meta envelope)
  --name=value   --name value   --json '{...}'
$ ikeytz-maps-mcp get_ort_datetime -h
get_ort_datetime
Ortszeit Europe/Berlin bis auf die Sekunde (YYYY-MM-DD HH:MM:SS CEST|CET). Lookup slug|plz|name wie get_service_area. Ohne Argument: alle 52.

Arguments
    --slug             string
    --plz              string
    --name             string

CLI flags (not sent to MCP)
  -h, --help, -help  this help (offline, no MCP call)
  --raw              JSON structuredContent
  --show-mcp-command   curl 1a/1b/2 only (aliases: --show-mcp-befehl, --show-mcp-comment)

Examples
  ikeytz-maps-mcp get_ort_datetime --slug=pattonville
  ikeytz-maps-mcp get_ort_datetime -h
  ikeytz-maps-mcp get_ort_datetime --show-mcp-command
$ ikeytz-maps-mcp get_service_area -h
get_service_area
Ein Einsatzgebiet. Lookup: slug → plz (erster Treffer) → name (Substring). compact=true ohne Lage-Texte.

Arguments
    --slug             string
    --plz              string
    --name             string
    --locale           string
    --compact          boolean
    --fields           string

CLI flags (not sent to MCP)
  -h, --help, -help  this help (offline, no MCP call)
  --raw              JSON structuredContent
  --show-mcp-command   curl 1a/1b/2 only (aliases: --show-mcp-befehl, --show-mcp-comment)

Examples
  ikeytz-maps-mcp get_service_area --slug=pattonville
  ikeytz-maps-mcp get_service_area -h
  ikeytz-maps-mcp get_service_area --show-mcp-command
$ ikeytz-maps-mcp get_ort_datetime --slug=pattonville
{
  "slug": "pattonville",
  "name": "Pattonville",
  "plz": "71638",
  "lat": 48.873174,
  "lng": 9.224754,
  "google_maps": "48.873174, 9.224754",
  "icbm": "48.873174, 9.224754",
  "kind": "stadtteil",
  "parent": "Ludwigsburg",
  "url": "https://www.ikeytz.com/schluesseldienst-ludwigsburg-pattonville",
  "keyword_url": "https://www.ikeytz.com/schluesseldienst-ludwigsburg-pattonville",
  "embed_map": "https://maps.ikeytz.com/pattonville",
  "geo_api": "https://maps.ikeytz.com/api/v1/embed/ort/pattonville",
  "maps_mcp": "https://maps.ikeytz.com/mcp",
  "timezone": "Europe/Berlin",
  "stand": "2026-08-30 09:56:42 CEST",
  "iso": "2026-08-30T09:56:42+02:00",
  "unix": 1788076602,
  "date": "2026-08-30",
  "time": "09:56:42",
  "tz": "CEST",
  "summary": "Pattonville · 2026-08-30 09:56:42 CEST",
  "canonicalUrl": "https://maps.ikeytz.com/pattonville"
}

ikeytz-maps-mcp help und ikeytz-maps-mcp list = Usage + die 66 Tools in 6 Gruppen (gleiche Tabellen wie 66 Tools).

Install

Node.js ≥ 18 (node + npm).

node -v && npm -v
npm i -g @ikeytz/maps-mcp
ikeytz-maps-mcp --version            # z. B. 1.0.15
ikeytz-maps-mcp update               # immer npm i -g @latest
ikeytz-maps-mcp update --autoupdate  # nur wenn npm > diese Binary

Ohne globale Installation: npx -y @ikeytz/maps-mcp help

Network / sandbox

  • Offline = -h, list, help, readme, --show-mcp-command, --version (no MCP connect)
  • Live data = needs HTTPS to https://maps.ikeytz.com/mcp
  • In restricted sandboxes (e.g. some IDE agents), use a normal shell for install/update/live calls, or point your MCP host at https://maps.ikeytz.com/mcp directly (Streamable HTTP MCP)

Plain http:// URLs redirect to HTTPS — always configure https://.

Drei Ausgabe-Modi (alle Tools)

| Aufruf | MCP-Connect? | Ausgabe | |--------|--------------|---------| | ikeytz-maps-mcp <tool> | ja | Payload only (kein ok/tool/Meta) | | ikeytz-maps-mcp <tool> -h | nein | Args + CLI-Flags + Beispiele (offline) | | ikeytz-maps-mcp <tool> --show-mcp-command | nein | Nur curl 1a/1b/2 (kein Call, keine Response) |

Alias: --show-mcp-befehl · --show-mcp-comment · JSON: --raw

Meta-Befehle

ikeytz-maps-mcp                 # MCP stdio proxy (any MCP host) — keine Args
ikeytz-maps-mcp help            # Usage + Flags + Tool-Tabelle (offline)
ikeytz-maps-mcp readme          # diese README (offline)
ikeytz-maps-mcp readme --befehl # nur Befehl und Ausgabe
ikeytz-maps-mcp update [ver]    # npm i -g @ikeytz/maps-mcp@latest
ikeytz-maps-mcp update --autoupdate  # nur wenn Registry neuer, dann Befehl neu
ikeytz-maps-mcp list            # alle Tools (offline) + global CLI flags
ikeytz-maps-mcp list --global   # nur globale Flags
ikeytz-maps-mcp describe NAME   # = ikeytz-maps-mcp NAME -h
ikeytz-maps-mcp call NAME …     # oder: ikeytz-maps-mcp NAME …

* = required · Schema offline: ikeytz-maps-mcp <tool> -h

CLI-Flags ( nie an MCP gesendet )

| Flag | Wirkung | |------|---------| | -h, --help, -help | Pro-Tool-Help (offline); ohne Tool = volle Hilfe | | --show-mcp-command | curl 1a/1b/2 only | | --show-mcp-befehl | Alias | | --show-mcp-comment | Alias (gleicher Curl-Block) | | --raw | JSON structuredContent | | --json '{…}' | Roh-Arguments | | list --global | nur globale Flags (offline) | | --autoupdate --auto | nur updaten wenn npm latest neuer als diese Binary, dann denselben Befehl neu starten |

Diese Flags sind Terminal-CLI. MCP Inspector / Cursor zeigt nur Tools, keine CLI-Flags.

Tool-Flags (gehen an MCP)

* = Pflicht.

| Flag | Tools | Bedeutung | |------|-------|-----------| | --compact --compact=true | get_service_area | ohne h1/kicker/blurb/lage/geschichte | | --limit --offset | list_service_areas, Discovery, Find, Legal-Text | Seite / Anzahl | | --fields | list_service_areas get_service_area | Komma-Liste: slug,name,plz,… | | --slug --plz --name | Gebiet-Tools | Lookup: slug → plz (erster Treffer) → name | | --locale | viele | maps nur de | | --which* | get_discovery | Datei-Name (llms-orte-geo, …) | | --lat --lng --icbm --radius_km | Geo-Find / Distanz | Punkt; 0,0outside_service_area | | --doc* | get_legal | urheberrecht copyright impressum oder www: agb datenschutz … |

Beispiele

# Help (offline)
ikeytz-maps-mcp --help
ikeytz-maps-mcp help
ikeytz-maps-mcp list
ikeytz-maps-mcp list --global
ikeytz-maps-mcp get_service_area -h

# Echter Call (Payload)
ikeytz-maps-mcp list_service_areas
ikeytz-maps-mcp list_service_areas --limit=3 --offset=0
ikeytz-maps-mcp list_service_areas --fields=slug,name,plz
ikeytz-maps-mcp get_service_area --slug=pattonville
ikeytz-maps-mcp get_service_area --slug=pattonville --compact=true
ikeytz-maps-mcp get_ort_datetime --slug=pattonville
ikeytz-maps-mcp get_ort_datetime
ikeytz-maps-mcp get_service_area --plz=71638
ikeytz-maps-mcp get_discovery --which=llms-orte-geo

# Nur curl-Rezept (offline)
ikeytz-maps-mcp get_service_area --slug=pattonville --show-mcp-command
ikeytz-maps-mcp call get_geo_office --show-mcp-befehl
ikeytz-maps-mcp get_urheberrecht --show-mcp-comment

# JSON structuredContent
ikeytz-maps-mcp get_service_area --slug=pattonville --raw

--plz=71638 ohne --slug = erster Treffer (pattonville). Grünbühl: --slug=gruenbuehl.

66 Tools

Dieselben 42 Namen wie ikeytz-mcp, plus maps-Extras. maps-Daten live. Preise/FAQ/Ratgeber/Wissen/Auswahl = www-URL, kein www-Corpus.

* = required. Volle Args + Beispiele: ikeytz-maps-mcp <tool> -h.

Einsatzgebiet / Karte (19)

| # | Befehl | Argumente | |---|--------|-----------| | 1 | list_service_areas | --locale --limit --offset --fields | | 2 | get_service_area | --slug --plz --name --locale --compact --fields · --compact=true ohne Lage/Geschichte | | 3 | get_ort_datetime | --slug --plz --name · ohne Arg: alle 52 | | 4 | get_geo_office | --locale | | 5 | find_by_plz | --plz* --q | | 6 | find_by_geo | --lat --lng --icbm --radius_km --limit | | 7 | find_by_icbm | --icbm --lat --lng --radius_km --limit | | 8 | find_by_gebiet | --q --name --slug | | 9 | find_by_area | --q --name --slug · Alias find_by_gebiet | | 10 | list_slugs | — | | 11 | list_plz | — | | 12 | get_hub | — | | 13 | get_embed_map | --slug --plz --name | | 14 | get_geo_api | --slug --plz --name | | 15 | get_lage | --slug --plz --name | | 16 | get_geschichte | --slug --plz --name | | 17 | distance_to_office | --slug --plz --name --lat --lng --icbm | | 18 | resolve_maps_url | --url --path --q | | 19 | find_by_google_maps | --q --icbm --lat --lng --radius_km --limit |

Kontakt / NAP (6)

| # | Befehl | Argumente | |---|--------|-----------| | 20 | get_contact | --locale | | 21 | list_whatsapp_options | --locale | | 22 | compose_tel_mobile | — | | 23 | compose_tel_landline | — | | 24 | compose_whatsapp | --option | | 25 | compose_mailto | — |

Discovery / Suche (12)

| # | Befehl | Argumente | |---|--------|-----------| | 26 | get_discovery | --which* --offset --limit | | 27 | get_llms_txt | --offset --limit | | 28 | get_llms_mcp_server | --offset --limit | | 29 | get_llms_mcp_web | --offset --limit | | 30 | get_ai_txt | --offset --limit | | 31 | get_sitemap_txt | --offset --limit | | 32 | find_by_keyword | --q* --limit --locale | | 33 | find_by_serp | --q --path --url --slug --limit | | 34 | get_serp_snippet | --path --url --slug --q | | 35 | get_ai_page | --path --slug --locale · maps ai-page oder www-Link | | 36 | get_page_summary | --path* --slug --locale | | 37 | get_links | --locale |

Site / Identität (7)

| # | Befehl | Argumente | |---|--------|-----------| | 38 | site_overview | --locale | | 39 | get_business_identity | --locale | | 40 | list_nav | --locale | | 41 | list_footer | --locale | | 42 | list_locales | — | | 43 | resolve_locale_url | --path* --locale* | | 44 | get_about | --locale |

Legal (maps-Text) (4)

| # | Befehl | Argumente | |---|--------|-----------| | 45 | get_legal | --doc* --offset --limit --locale | | 46 | get_urheberrecht | --offset --limit | | 47 | get_copyright | --offset --limit | | 48 | get_impressum | --offset --limit |

www-Link (kein Corpus) (18)

| # | Befehl | Argumente | |---|--------|-----------| | 49 | get_prices | --locale | | 50 | get_invoice_line_items | --situationKey* --whenKey --breakdown --locale | | 51 | list_services | --locale | | 52 | get_emergency | --locale · www /notfall-tueroeffnung | | 53 | list_auswahl | --locale | | 54 | get_auswahl_item | --slug* --locale | | 55 | get_partner_info | --locale | | 56 | get_review_url | --locale | | 57 | list_faq | --locale | | 58 | get_faq | --id --q --locale | | 59 | list_wissen | --locale | | 60 | get_wissen_entry | --id* --locale | | 61 | list_ratgeber | --locale | | 62 | get_ratgeber | --slug* --locale | | 63 | get_agb | — | | 64 | get_nutzungsbedingungen | — | | 65 | get_datenschutz | — | | 66 | get_widerruf | — |

Präfix immer ikeytz-maps-mcp (z. B. ikeytz-maps-mcp get_service_area -h).

Geo-Tools — Payload (vom Server, CLI spiegelt 1:1)

| Tool | Koordinaten-Felder in der Antwort | |------|-----------------------------------| | get_geo_office | lat, lng, google_maps, icbm (+ Adresse; kein Walk-in) | | get_service_area | lat, lng, google_maps, icbm, embed_map, geo_api, url=keyword_url, kind/parent · compact ohne Lage-Texte | | get_ort_datetime | stand (YYYY-MM-DD HH:MM:SS CEST\|CET), iso, unix, timezone · optional slug/plz/name, sonst alle 52 | | list_service_areas | je Item wie get_service_area + url/keyword_url/kind/parent/maps_mcp · limit/offset/fields |

  • embed_map: https://maps.ikeytz.com/{slug}
  • geo_api: https://maps.ikeytz.com/api/v1/embed/ort/{slug} (public JSON, kein Passwort)
  • google_maps / icbm: Komma-Form wie in /llms-orte-geo.txt
  • Volltext Geo: ikeytz-maps-mcp get_discovery --which llms-orte-geo

MCP hosts (any client — not only Cursor / Claude)

Option A — HTTP (empfohlen, kein npm nötig)
Jeder Host mit Streamable HTTP MCP:

| Feld | Wert | |------|------| | URL | https://maps.ikeytz.com/mcp | | Registry | com.ikeytz/maps | | Card | https://maps.ikeytz.com/.well-known/mcp/server-card.json |

Beispiele: Windsurf, Cline, Continue, Claude Desktop (Remote), eigene Agenten — sofern MCP HTTP unterstützt.

Option B — stdio via npm (dieses Paket)
Jeder Host mit command + args (Cursor, Claude Desktop, Windsurf, …):

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

Global installiert: "command": "ikeytz-maps-mcp" (ohne args, leerer stdio-Proxy).

www bleibt zweiter Eintrag:

"ikeytz": {
  "command": "npx",
  "args": ["-y", "@ikeytz/mcp"]
}

Option C — Terminal only
ikeytz-maps-mcp get_service_area --slug=pattonville, ikeytz-maps-mcp list, … — ohne MCP-Host.

Alle Optionen nutzen dieselbe SSOT: https://maps.ikeytz.com/mcp (66 Tools, read/link only).

MCP Registry

| Feld | Wert | |------|------| | Name | com.ikeytz/maps | | Version | 1.0.2 | | Status | active | | Website | https://maps.ikeytz.com | | npm package | @ikeytz/maps-mcp 1.0.15 | | Remote | Streamable HTTP https://maps.ikeytz.com/mcp | | Card | https://maps.ikeytz.com/.well-known/mcp/server-card.json | | Search | https://registry.modelcontextprotocol.io/v0.1/servers?search=com.ikeytz/maps |

{
  "name": "com.ikeytz/maps",
  "title": "ikeytz Einsatzgebiet-Karten",
  "version": "1.0.2",
  "websiteUrl": "https://maps.ikeytz.com",
  "packages": [
    {
      "registryType": "npm",
      "identifier": "@ikeytz/maps-mcp",
      "version": "1.0.15",
      "runtimeHint": "npx",
      "transport": { "type": "stdio" }
    }
  ],
  "remotes": [
    { "type": "streamable-http", "url": "https://maps.ikeytz.com/mcp" }
  ]
}

Server: Local (1.8.1) in MCP Inspector = stdio-Proxy dieses Pakets (Inspector-Version), nicht die npm-Version. Live-Server ist immer https://maps.ikeytz.com/mcp.

Env

| Variable | Default | |----------|---------| | IKEYTZ_MAPS_MCP_URL | https://maps.ikeytz.com/mcp | | IKEYTZ_MAPS_MCP_TIMEOUT_MS | 15000 | | IKEYTZ_MAPS_MCP_PROTOCOL | 2025-11-25 |

Nicht IKEYTZ_MCP_URL — das ist www (@ikeytz/mcp).

Maintainer

Nach MCP-Tool-Schema-Änderungen:

node scripts/sync-maps-mcp-cli-catalog.mjs   # → packages/maps-mcp/src/tools-catalog.json
node scripts/sync-maps-mcp-readme-catalog.mjs  # → README 66-Tools-Tabellen

Plan: docs/plan-maps-ai-mcp.md

Legal

  • License: LicenseRef-ikeytz-terms (LICENSE in this package)
  • https://www.ikeytz.com/urheberrecht
  • https://maps.ikeytz.com/llms-urheberrecht.txt
  • https://maps.ikeytz.com/.well-known/ai.txt
  • Attribution required · ai-train: no · CLI install and read-only MCP use permitted