mcp-google-map 0.2.0 → 0.3.0
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/README.md +43 -2
- package/docs/CONFIGURATION.md +36 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# mcp-google-map (0.
|
|
1
|
+
# mcp-google-map (0.3.0)
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<img src="https://img.shields.io/badge/node-%3E%3D22-339933?style=flat-square&logo=nodedotjs&logoColor=white" alt="Node.js >= 22">
|
|
@@ -89,7 +89,7 @@ gcloud services enable places-backend-new.googleapis.com \
|
|
|
89
89
|
|
|
90
90
|
**Prerequisites**: Node.js **>= 22** and a Google Maps API key (see [Requisiti](#requisiti)).
|
|
91
91
|
|
|
92
|
-
### From npm
|
|
92
|
+
### From npm
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
95
|
npm install -g mcp-google-map
|
|
@@ -170,6 +170,47 @@ scripts/test.sh # test unitari (nessuna API key richiesta)
|
|
|
170
170
|
}
|
|
171
171
|
```
|
|
172
172
|
|
|
173
|
+
### pi CLI
|
|
174
|
+
|
|
175
|
+
pi legge i server MCP da `~/.pi/agent/mcp.json` (utente) o `.pi/mcp.json` (progetto, richiede trust). Voce stdio per questo server:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"mcpServers": {
|
|
180
|
+
"maps": {
|
|
181
|
+
"command": "node",
|
|
182
|
+
"args": ["/percorso/assoluto/a/mcp-google-map/dist/cli.js", "--stdio"],
|
|
183
|
+
"env": { "GOOGLE_MAPS_API_KEY": "${GOOGLE_MAPS_API_KEY}" }
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
- Da terminale: `pi mcp add maps -- node /percorso/assoluto/a/mcp-google-map/dist/cli.js --stdio` (aggiungere `--env GOOGLE_MAPS_API_KEY=...` per la chiave).
|
|
190
|
+
- `${GOOGLE_MAPS_API_KEY}` espande la variabile d'ambiente al volo: la chiave non resta cablata nel file di configurazione.
|
|
191
|
+
- Dopo una modifica di `mcp.json` esterna alla sessione, eseguire `/reload` in pi; `/mcp` ispeziona stato, tool ed errori di connessione.
|
|
192
|
+
- I tool appaiono con il prefisso `mcp__<server>__`: `mcp__maps__maps_geocode`, `mcp__maps__maps_search_places`, ...
|
|
193
|
+
|
|
194
|
+
### OpenClaw
|
|
195
|
+
|
|
196
|
+
OpenClaw gestisce i server MCP in `~/.openclaw/openclaw.json` tramite CLI (verificato su OpenClaw 2026.4.21):
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
openclaw mcp set maps '{"command":"node","args":["/percorso/assoluto/a/mcp-google-map/dist/cli.js","--stdio"],"env":{"GOOGLE_MAPS_API_KEY":"AIza..."},"description":"Google Maps: Places API (New), geocoding, routes, weather"}'
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
- Senza installazione locale: usare `"command":"npx","args":["-y","mcp-google-map","--stdio"]` (esegue il pacchetto npm pubblicato).
|
|
203
|
+
- Dopo la modifica ricaricare il gateway o riavviare la sessione agente perché il nuovo server venga collegato.
|
|
204
|
+
- Ispezione e rimozione: `openclaw mcp list`, `openclaw mcp show maps`, `openclaw mcp unset maps`.
|
|
205
|
+
- L'agente OpenClaw può installare e configurare il server in autonomia (shell + `openclaw mcp set`); la creazione della API key su Google Cloud Console resta un'operazione umana.
|
|
206
|
+
|
|
207
|
+
### Prerequisiti di configurazione
|
|
208
|
+
|
|
209
|
+
1. **Una sola API key**: crea `GOOGLE_MAPS_API_KEY` su <https://console.cloud.google.com/apis/credentials> e abilita i servizi elencati nella tabella [API Google Cloud richieste](#api-google-cloud-richieste).
|
|
210
|
+
2. **Minimo operativo**: Places API (New) + Geocoding API; abilitare gli altri servizi solo per i tool corrispondenti.
|
|
211
|
+
3. **Limitare l'esposizione**: `GOOGLE_MAPS_ENABLED_TOOLS=maps_geocode,maps_search_places,maps_place_details` riduce i tool registrati (e il contesto per l'LLM).
|
|
212
|
+
4. **Verifica post-installazione**: `mcp-google-map doctor` (nessuna chiamata di rete), poi `mcp-google-map doctor --live --apikey "AIza..."` (probe reali su Geocoding, Places, Routes).
|
|
213
|
+
|
|
173
214
|
## Struttura del progetto
|
|
174
215
|
|
|
175
216
|
```
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -54,6 +54,42 @@ scripts/start-http.sh --port 8123 --host 0.0.0.0
|
|
|
54
54
|
|
|
55
55
|
Ogni sessione MCP (`mcp-session-id`) può ricevere una API key propria via header `X-Goog-Api-Key`: le chiamate dei tool usano la chiave della sessione, non quella globale.
|
|
56
56
|
|
|
57
|
+
## Registrazione nei client MCP
|
|
58
|
+
|
|
59
|
+
### pi CLI
|
|
60
|
+
|
|
61
|
+
Voce stdio per `~/.pi/agent/mcp.json` (utente) o `.pi/mcp.json` (progetto, richiede trust):
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"mcpServers": {
|
|
66
|
+
"maps": {
|
|
67
|
+
"command": "node",
|
|
68
|
+
"args": ["/percorso/assoluto/a/mcp-google-map/dist/cli.js", "--stdio"],
|
|
69
|
+
"env": { "GOOGLE_MAPS_API_KEY": "${GOOGLE_MAPS_API_KEY}" }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
- `${VAR}` espande variabili d'ambiente: la chiave non resta cablata nel file di configurazione.
|
|
76
|
+
- `pi mcp add maps -- node /percorso/assoluto/a/mcp-google-map/dist/cli.js --stdio` registra da terminale; `/reload` in sessione dopo modifiche esterne; `/mcp` ispeziona la connessione.
|
|
77
|
+
|
|
78
|
+
### OpenClaw
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
openclaw mcp set maps '{"command":"node","args":["/percorso/assoluto/a/mcp-google-map/dist/cli.js","--stdio"],"env":{"GOOGLE_MAPS_API_KEY":"AIza..."},"description":"Google Maps MCP"}'
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
- Alternativa senza installazione: `"command":"npx","args":["-y","mcp-google-map","--stdio"]`.
|
|
85
|
+
- Ricaricare il gateway o riavviare la sessione agente dopo la modifica; `openclaw mcp list` / `openclaw mcp show maps` per verificare.
|
|
86
|
+
|
|
87
|
+
### Prerequisiti chiave e API Google
|
|
88
|
+
|
|
89
|
+
- **Una sola chiave** `GOOGLE_MAPS_API_KEY` (priorità di risoluzione in [Google Maps API key](#google-maps-api-key)); servizi da abilitare e sottoinsieme minimo (Places API (New) + Geocoding API): tabella in [README.md](../README.md#api-google-cloud-richieste).
|
|
90
|
+
- Limitare i tool esposti con [`GOOGLE_MAPS_ENABLED_TOOLS`](#variabili-dambiente).
|
|
91
|
+
- Verifica post-installazione: `node dist/cli.js doctor` e `node dist/cli.js doctor --live --apikey "AIza..."`.
|
|
92
|
+
|
|
57
93
|
## Comandi CLI
|
|
58
94
|
|
|
59
95
|
```bash
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-google-map",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Google Maps MCP server — 18 tools for AI agents: geocoding, Places API (New) search with server-side filters, directions, distance matrix and more, via stdio or Streamable HTTP",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|