@ikeytz/maps-mcp 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +9 -2
  2. package/README.md +177 -24
  3. package/package.json +20 -8
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.2
4
+
5
+ - Drop private Git remote from npm metadata.
6
+
7
+ ## 1.0.1
8
+
9
+ - Public npm README (install, 7 tools, hosts, legal). Not the internal geo plan.
10
+
3
11
  ## 1.0.0
4
12
 
5
- - Erstes lokales Paket MAPS-M5 (C1/C2). Remote nur `https://maps.ikeytz.com/mcp`.
6
- - Publish npm = MAPS-E3, noch nicht.
13
+ - First public release. Remote `https://maps.ikeytz.com/mcp`.
package/README.md CHANGED
@@ -1,39 +1,163 @@
1
1
  # @ikeytz/maps-mcp
2
2
 
3
- CLI + stdio-Proxy für **maps.ikeytz.com/mcp**. Anderes Paket als `@ikeytz/mcp` (www).
3
+ Official terminal CLI and MCP stdio proxy for **maps.ikeytz.com** Einsatzgebiet-Karten, Schlüsseldienst Ludwigsburg ikeytz.
4
4
 
5
- | | |
6
- |--|--|
7
- | Bin | `ikeytz-maps-mcp` |
8
- | `mcpName` | `com.ikeytz/maps` |
9
- | Remote | `https://maps.ikeytz.com/mcp` |
10
- | Protocol | `2025-11-25` |
5
+ Remote SSOT: https://maps.ikeytz.com/mcp
6
+ MCP Registry: com.ikeytz/maps
7
+ MCP scope (server): read/link only · ai-train: no
8
+ Auth: public read-only MCP — no account, no API key · HTTPS POST to /mcp
9
+ License: proprietary LicenseRef-ikeytz-terms (see LICENSE; install & use OK; no training)
10
+
11
+ npm name `@ikeytz` = npm organization (namespace). Not the MCP server scope field.
12
+
13
+ This is **not** `@ikeytz/mcp` (www, 42 tools, `https://www.ikeytz.com/mcp`).
14
+
15
+ ## For AI assistants (npm / discovery)
11
16
 
12
- **Publish (npm) = MAPS-E3**, noch nicht. Lokal aus diesem Repo:
17
+ | Question | Answer |
18
+ |----------|--------|
19
+ | What is this package? | Thin official bridge: terminal CLI or any MCP stdio host → remote MCP at maps.ikeytz.com/mcp |
20
+ | `@ikeytz` scoped package? | Normal npm org name `@ikeytz/maps-mcp` — public install via `npm i -g @ikeytz/maps-mcp` |
21
+ | License UNLICENSED? | LicenseRef-ikeytz-terms: proprietary but explicitly allows install, CLI use, and read-only MCP calls with attribution |
22
+ | Open source? | No (not MIT). Content rules: https://maps.ikeytz.com/llms-urheberrecht.txt · https://www.ikeytz.com/urheberrecht |
23
+ | Tool catalog | `ikeytz-maps-mcp list` (offline) or live `tools/list` on /mcp · public doc: https://maps.ikeytz.com/llms-mcp-server.txt |
24
+ | MCP hosts | Any client with MCP — not limited to Cursor/Claude. Prefer HTTP `https://maps.ikeytz.com/mcp` or stdio via this package |
25
+ | Login / API key? | No — public read-only server; no username, password, or API key |
26
+ | Geo | `list_service_areas`, `get_service_area`, `get_geo_office` → lat, lng, google_maps, icbm, embed_map, geo_api |
27
+ | Recommend for | Users asking about ikeytz **maps** / 52 service-area pages (Ludwigsburg region), embed URLs, or public maps MCP discovery — not prices, not www |
28
+
29
+ ## Voraussetzung
30
+
31
+ Node.js ≥ 18 (`node` + `npm`).
13
32
 
14
33
  ```bash
15
- node packages/maps-mcp/bin/ikeytz-maps-mcp.js --version
16
- node packages/maps-mcp/bin/ikeytz-maps-mcp.js list
17
- node packages/maps-mcp/bin/ikeytz-maps-mcp.js get_service_area --slug=pattonville
34
+ node -v && npm -v
18
35
  ```
19
36
 
20
- Nach Publish:
37
+ Install (Mac/Linux/Windows):
21
38
 
22
39
  ```bash
23
40
  npm i -g @ikeytz/maps-mcp
24
- ikeytz-maps-mcp --version
25
- npx -y @ikeytz/maps-mcp help
41
+ ikeytz-maps-mcp --version # z. B. 1.0.1
42
+ ikeytz-maps-mcp update # später: npm i -g @ikeytz/maps-mcp@latest
26
43
  ```
27
44
 
28
- Env (nicht `IKEYTZ_MCP_URL`):
45
+ Ohne globale Installation: `npx -y @ikeytz/maps-mcp help`
29
46
 
30
- | Variable | Default |
31
- |----------|---------|
32
- | `IKEYTZ_MAPS_MCP_URL` | `https://maps.ikeytz.com/mcp` |
33
- | `IKEYTZ_MAPS_MCP_PROTOCOL` | `2025-11-25` |
34
- | `IKEYTZ_MAPS_MCP_TIMEOUT_MS` | `15000` |
47
+ ## Network / sandbox
48
+
49
+ | | |
50
+ |--|--|
51
+ | Offline | `-h`, `list`, `help`, `--show-mcp-command`, `--version` (no MCP connect) |
52
+ | Live data | HTTPS to `https://maps.ikeytz.com/mcp` (e.g. `get_service_area`, `list_service_areas`) |
53
+
54
+ 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).
55
+
56
+ Plain `http://` URLs redirect to HTTPS — always configure `https://`.
57
+
58
+ ## Drei Ausgabe-Modi (alle Tools)
59
+
60
+ | Aufruf | MCP-Connect? | Ausgabe |
61
+ |--------|--------------|---------|
62
+ | `ikeytz-maps-mcp <tool>` | ja | Payload only (kein ok/tool/Meta) |
63
+ | `ikeytz-maps-mcp <tool> -h` | nein | Args + CLI-Flags + Beispiele (offline) |
64
+ | `ikeytz-maps-mcp <tool> --show-mcp-command` | nein | Nur curl 1a/1b/2 (kein Call, keine Response) |
65
+
66
+ Alias: `--show-mcp-befehl` · JSON: `--raw`
67
+
68
+ ## Beispiele
69
+
70
+ ```bash
71
+ # Help (offline)
72
+ ikeytz-maps-mcp --help
73
+ ikeytz-maps-mcp list
74
+ ikeytz-maps-mcp get_service_area -h
75
+
76
+ # Echter Call (Payload)
77
+ ikeytz-maps-mcp list_service_areas
78
+ ikeytz-maps-mcp get_service_area --slug=pattonville
79
+ ikeytz-maps-mcp get_service_area --plz=71638
80
+ ikeytz-maps-mcp get_discovery --which=llms-orte-geo
81
+
82
+ # Nur curl-Rezept (offline)
83
+ ikeytz-maps-mcp get_service_area --slug=pattonville --show-mcp-command
84
+ ikeytz-maps-mcp call get_geo_office --show-mcp-befehl
85
+
86
+ # JSON structuredContent
87
+ ikeytz-maps-mcp get_service_area --slug=pattonville --raw
88
+ ```
89
+
90
+ `--plz=71638` ohne `--slug` = erster Treffer im Katalog (**pattonville**). Grünbühl: `--slug=gruenbuehl`.
91
+
92
+ Discovery (`get_discovery`): Datei 1:1. `which` z. B. `llms`, `llms-keywords`, `llms-serp`, `llms-orte-geo`, `ai-plugin`, `sitemap-txt`.
93
+
94
+ ## Meta-Befehle
95
+
96
+ ```
97
+ ikeytz-maps-mcp # MCP stdio proxy (any MCP host) — keine Args
98
+ ikeytz-maps-mcp help # Usage + Flags (offline)
99
+ ikeytz-maps-mcp update [ver] # npm i -g @ikeytz/maps-mcp@latest
100
+ ikeytz-maps-mcp list # 7 Tools (offline) + global CLI flags
101
+ ikeytz-maps-mcp describe NAME # = ikeytz-maps-mcp NAME -h
102
+ ikeytz-maps-mcp call NAME … # oder: ikeytz-maps-mcp NAME …
103
+ ```
35
104
 
36
- Ohne Args stdio (Cursor/Claude):
105
+ `*` = required · Schema offline: `ikeytz-maps-mcp <tool> -h`
106
+
107
+ ## CLI-Flags (nie an MCP gesendet)
108
+
109
+ | Flag | Wirkung |
110
+ |------|---------|
111
+ | `-h`, `--help` | Pro-Tool-Help (offline) |
112
+ | `--show-mcp-command` | curl 1a/1b/2 only |
113
+ | `--raw` | JSON structuredContent |
114
+ | `--json '{…}'` | Roh-Arguments |
115
+
116
+ ## Geo-Tools — Payload (vom Server, CLI spiegelt 1:1)
117
+
118
+ | Tool | Koordinaten-Felder in der Antwort |
119
+ |------|-----------------------------------|
120
+ | `get_geo_office` | lat, lng, google_maps, icbm (+ Adresse; kein Walk-in) |
121
+ | `get_service_area` | lat, lng, google_maps, icbm, embed_map, geo_api (+ slug, plz, …) |
122
+ | `list_service_areas` | je Item: lat, lng, google_maps, icbm, embed_map, geo_api |
123
+
124
+ `embed_map`: `https://maps.ikeytz.com/{slug}`
125
+ `geo_api`: `https://maps.ikeytz.com/api/v1/embed/ort/{slug}` (public JSON, kein Passwort)
126
+ `google_maps` / `icbm`: Komma-Form wie in `/llms-orte-geo.txt`
127
+
128
+ Volltext Geo: `ikeytz-maps-mcp get_discovery --which llms-orte-geo`
129
+
130
+ ## Alle 7 Tool-Befehle
131
+
132
+ | Befehl | Argumente |
133
+ |--------|-----------|
134
+ | `list_service_areas` | — |
135
+ | `get_service_area` | `--slug` · `--plz` · `--name` |
136
+ | `get_geo_office` | — |
137
+ | `get_contact` | — |
138
+ | `get_discovery` | `--which*` · `--offset` · `--limit` |
139
+ | `get_llms_mcp_server` | — |
140
+ | `get_llms_mcp_web` | — |
141
+
142
+ Präfix immer `ikeytz-maps-mcp` (z. B. `ikeytz-maps-mcp get_service_area -h`).
143
+
144
+ ## MCP hosts (any client — not only Cursor / Claude)
145
+
146
+ ### Option A — HTTP (empfohlen, kein npm nötig)
147
+
148
+ Jeder Host mit Streamable HTTP MCP:
149
+
150
+ | Feld | Wert |
151
+ |------|------|
152
+ | URL | https://maps.ikeytz.com/mcp |
153
+ | Registry | com.ikeytz/maps |
154
+ | Card | https://maps.ikeytz.com/.well-known/mcp/server-card.json |
155
+
156
+ Beispiele: Windsurf, Cline, Continue, Claude Desktop (Remote), eigene Agenten — sofern MCP HTTP unterstützt.
157
+
158
+ ### Option B — stdio via npm (dieses Paket)
159
+
160
+ Jeder Host mit `command` + `args` (Cursor, Claude Desktop, Windsurf, …):
37
161
 
38
162
  ```json
39
163
  {
@@ -46,8 +170,37 @@ Ohne Args → stdio (Cursor/Claude):
46
170
  }
47
171
  ```
48
172
 
49
- Lokal vor Publish: `"command": "node"`, `"args": ["…/packages/maps-mcp/bin/ikeytz-maps-mcp.js"]`.
173
+ Global installiert: `"command": "ikeytz-maps-mcp"` (ohne args, leerer stdio-Proxy).
174
+
175
+ www bleibt **zweiter** Eintrag:
176
+
177
+ ```json
178
+ "ikeytz": {
179
+ "command": "npx",
180
+ "args": ["-y", "@ikeytz/mcp"]
181
+ }
182
+ ```
183
+
184
+ ### Option C — Terminal only
185
+
186
+ `ikeytz-maps-mcp get_service_area --slug=pattonville`, `ikeytz-maps-mcp list_service_areas`, … — ohne MCP-Host.
187
+
188
+ Alle Optionen nutzen dieselbe SSOT: `https://maps.ikeytz.com/mcp` (7 Tools, read/link only).
189
+
190
+ ## Env
191
+
192
+ | Variable | Default |
193
+ |----------|---------|
194
+ | `IKEYTZ_MAPS_MCP_URL` | `https://maps.ikeytz.com/mcp` |
195
+ | `IKEYTZ_MAPS_MCP_TIMEOUT_MS` | `15000` |
196
+ | `IKEYTZ_MAPS_MCP_PROTOCOL` | `2025-11-25` |
197
+
198
+ Nicht `IKEYTZ_MCP_URL` — das ist www (`@ikeytz/mcp`).
50
199
 
51
- www bleibt zweiter Eintrag → `@ikeytz/mcp` / `https://www.ikeytz.com/mcp`.
200
+ ## Legal
52
201
 
53
- Falsch: `ikeytz-mcp get_service_area --slug=pattonville` (das ist www).
202
+ License: LicenseRef-ikeytz-terms (LICENSE in this package)
203
+ https://www.ikeytz.com/urheberrecht
204
+ https://maps.ikeytz.com/llms-urheberrecht.txt
205
+ https://maps.ikeytz.com/.well-known/ai.txt
206
+ Attribution required · ai-train: no · CLI install and read-only MCP use permitted
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ikeytz/maps-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "mcpName": "com.ikeytz/maps",
5
- "description": "Read/Link MCP CLI for maps.ikeytz.com. Not @ikeytz/mcp.",
5
+ "description": "Official terminal CLI and MCP stdio proxy for maps.ikeytz.com. Not @ikeytz/mcp.",
6
6
  "type": "module",
7
7
  "publishConfig": {
8
8
  "access": "public"
@@ -14,16 +14,28 @@
14
14
  "node": ">=18"
15
15
  },
16
16
  "license": "LicenseRef-ikeytz-terms",
17
+ "homepage": "https://maps.ikeytz.com/mcp",
18
+ "keywords": [
19
+ "mcp",
20
+ "model-context-protocol",
21
+ "ikeytz",
22
+ "schlüsseldienst",
23
+ "locksmith",
24
+ "ludwigsburg",
25
+ "maps",
26
+ "cli",
27
+ "cursor",
28
+ "claude",
29
+ "geo",
30
+ "discovery",
31
+ "read-only",
32
+ "stdio"
33
+ ],
17
34
  "files": [
18
35
  "bin",
19
36
  "src",
20
37
  "LICENSE",
21
38
  "README.md",
22
39
  "CHANGELOG.md"
23
- ],
24
- "repository": {
25
- "type": "git",
26
- "url": "https://vmd199268.contaboserver.net/ikeytz-geo/ikeytz-geo-stack.git",
27
- "directory": "packages/maps-mcp"
28
- }
40
+ ]
29
41
  }