@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.
- package/CHANGELOG.md +9 -2
- package/README.md +177 -24
- 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
|
-
-
|
|
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
|
|
3
|
+
Official terminal CLI and MCP stdio proxy for **maps.ikeytz.com** — Einsatzgebiet-Karten, Schlüsseldienst Ludwigsburg ikeytz.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
37
|
+
Install (Mac/Linux/Windows):
|
|
21
38
|
|
|
22
39
|
```bash
|
|
23
40
|
npm i -g @ikeytz/maps-mcp
|
|
24
|
-
ikeytz-maps-mcp --version
|
|
25
|
-
|
|
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
|
-
|
|
45
|
+
Ohne globale Installation: `npx -y @ikeytz/maps-mcp help`
|
|
29
46
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
|
33
|
-
|
|
34
|
-
|
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
200
|
+
## Legal
|
|
52
201
|
|
|
53
|
-
|
|
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.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"mcpName": "com.ikeytz/maps",
|
|
5
|
-
"description": "
|
|
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
|
}
|