Vai al contenuto
IL MANUALE / v0.4.0

Diagnosi e risoluzione dei problemi ​

Parti dalla configurazione locale, poi verifica una sola API. Una scoperta degli strumenti riuscita non dimostra che fatturazione, API e IAM siano corretti.

sh
mcp-gmap-rs doctor
mcp-gmap-rs --enabled-tools maps_search_places doctor --live

La prima chiamata è offline; la seconda abilita sonde Google potenzialmente fatturabili. doctor stampa JSON anche in caso di errore e restituisce codice 1 se un controllo fallisce. Leggi checks[].status: pass, fail oppure not_tested. L'accesso ADC resta not_tested finché non viene effettuata una chiamata reale.

SintomoVerifica
GOOGLE_MAPS_API_KEY is requiredModalità api-key o endpoint supportato solo con chiave; controlla anche i rami Geocoding dei compositi.
GOOGLE_CLOUD_QUOTA_PROJECT is requiredImposta il progetto consumatore per le chiamate OAuth.
Google 403 / API disabilitataAbilita il servizio esatto nel progetto consumatore, collega la fatturazione e controlla le restrizioni API.
serviceusage.services.use negatoConcedi roles/serviceusage.serviceUsageConsumer al service account sul progetto quota; attendi la propagazione e riprova.
Chiave rifiutata per IPConsenti l'indirizzo pubblico di uscita del server, NAT o cluster.
Autenticazione OAuth fallitaControlla tipo/percorso JSON, validità della chiave, associazioni Workload Identity, clock e accesso agli endpoint token.
MCP HTTP 401Invia MCP_HTTP_TOKEN, distinto dal token Google.
Host o Origin rifiutatoConfronta i valori effettivi inoltrati dal proxy con le liste autorizzate; includi la porta dell'Origin.
HTTP 429 localeRiduci la frequenza o modifica il limite per processo; rispetta Retry-After.
Chiamata riuscita ma dati incompletiLeggi gli errori per elemento, le celle null e i limiti della pagina.

Per timeout, verifica rete/DNS/CA, metadata server o endpoint OAuth, quindi considera --timeout, --tool-timeout e --max-requests. Aumentarli non risolve un servizio disabilitato né IAM errato.

Per stdio, controlla percorso assoluto, directory di lavoro e stdout privo di log estranei. Per Kubernetes, una risposta /health positiva prova solo che il processo risponde. Dopo modifiche a Secret o ConfigMap riavvia i pod; per file TLS usa il ricaricamento SIGHUP descritto in produzione. Non condividere chiavi, token o contenuto del JSON durante una diagnosi.