Tool: resolve_maps_urls
Löst eine Liste von Google Maps-URLs in kanonische Google Maps-Orts-IDs auf.
Wann dieses Tool aufgerufen werden sollte (WICHTIG):
- Verwenden Sie dieses Tool, wenn der Nutzer einen oder mehrere Google Maps-Freigabelinks oder ‑URLs angibt (z.B. „https://maps.app.goo.gl/...“, „https://www.google.com/maps/place/...“ oder „https://maps.google.com/...“) und Sie müssen die zugrunde liegenden kanonischen Orts-IDs extrahieren.
- Sie können bis zu 20 URLs angeben, die in einer einzelnen Batchanfrage aufgelöst werden sollen.
Eingabeanforderungen (WICHTIG):
urls(Array von Strings – ERFORDERLICH): Die Liste der aufzulösenden Google Maps-URLs. Jede URL muss eine gültige Google Maps-URL für einen einzelnen Ort sein.
In Google Maps speichern:
- Die Antwort enthält das Feld
save_to_maps_url, eine einzelne Google Maps-URL, die alle erfolgreich aufgelösten Orte enthält. - Wenn der Nutzer die aufgelösten Orte als Liste in Google Maps speichern, teilen oder öffnen möchte (z.B. um in einer Unterhaltung geteilte Orte zu sammeln), präsentiere ihm diesen Link. Erstellen Sie diesen Link NICHT selbst.
Fehlerbehandlung (KRITISCH):
- Dies ist ein Tool für die Batchverarbeitung. Eine Anfrage kann „gemischte Ergebnisse“ zurückgeben (z.B. werden einige URLs erfolgreich aufgelöst, andere nicht).
- Die Ausgabeliste von
entitieswird garantiert 1:1 den Eingabe-urls-Indizes zugeordnet. Eine fehlgeschlagene URL-Auflösung führt zu einer leerenEntity-Nachricht (keine Felder festgelegt) am entsprechenden Index in derentities-Liste. - Sie MÜSSEN das Kartenfeld
failed_requestsin der Antwort prüfen, um festzustellen, bei welchem URL-Index der Fehler aufgetreten ist. Der Schlüssel vonfailed_requestsstellt den 0-basierten Index der fehlgeschlagenen URL in der Anfrage dar. Gehen Sie nicht davon aus, dass der gesamte Batchaufruf aufgrund eines Teilfehlers fehlgeschlagen ist.
Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool resolve_maps_urls aufrufen.
| Curl-Anfrage |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "resolve_maps_urls", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Eingabeschema
Anfragenachricht für ResolveMapsUrls.
ResolveMapsUrlsRequest
| JSON-Darstellung |
|---|
{ "urls": [ string ] } |
| Felder | |
|---|---|
urls[] |
Erforderlich. Die aufzulösenden Google Maps-URLs. Jede URL muss eine gültige Google Maps-URL sein, z. B. https://maps.app.goo.gl/..., https://www.google.com/maps/place/... oder https://maps.google.com/.... Derzeit werden nur URLs unterstützt, die auf einen einzelnen Ort verweisen. Sie können bis zu 20 URLs angeben. |
Ausgabeschema
Antwortnachricht für ResolveMapsUrls.
ResolveMapsUrlsResponse
| JSON-Darstellung |
|---|
{ "entities": [ { object ( |
| Felder | |
|---|---|
entities[] |
Nur Ausgabe. Die Liste der aufgelösten Entitäten aus den Google Maps-URLs. Die Zuordnung zu den |
failedRequests |
Nur Ausgabe. Eine Zuordnung, die teilweise Fehler für die Google Maps-URLs kommuniziert. Der Schlüssel ist der Index der fehlgeschlagenen Anfrage im Feld Ein Objekt, das eine Liste von |
saveToMapsUrl |
Nur Ausgabe. Ein Link zum Speichern aller erfolgreich aufgelösten Entitäten in Google Maps. |
Entität
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld entity. Der aufgelöste Entitätstyp. Für entity ist nur einer der folgenden Werte zulässig: |
|
place |
Der Ressourcenname des aufgelösten Orts. |
FailedRequestsEntry
| JSON-Darstellung |
|---|
{
"key": integer,
"value": {
object ( |
| Felder | |
|---|---|
key |
|
value |
|
Status
| JSON-Darstellung |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Felder | |
|---|---|
code |
Der Statuscode, der idealerweise ein ENUM-Wert von |
message |
Eine an Entwickler gerichtete Fehlermeldung, die englischsprachig sein sollte. Jede für Nutzer sichtbare Fehlermeldung sollte lokalisiert und im Feld |
details[] |
Eine Auflistung aller Meldungen, die die Fehlerdetails enthalten. Es gibt einen gemeinsamen Satz von Nachrichtentypen, die APIs verwenden können. Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld |
Alle
| JSON-Darstellung |
|---|
{ "typeUrl": string, "value": string } |
| Felder | |
|---|---|
typeUrl |
Gibt den Typ der serialisierten Protobuf-Nachricht mit einer URI-Referenz an, die aus einem Präfix, das mit einem Schrägstrich endet, und dem vollständig qualifizierten Typnamen besteht. Beispiel: type.googleapis.com/google.protobuf.StringValue Dieser String muss mindestens ein Das Präfix ist beliebig und Protobuf-Implementierungen entfernen einfach alles bis einschließlich des letzten Alle Typ-URL-Strings müssen gültige URI-Referenzen sein. Für das Textformat gilt die zusätzliche Einschränkung, dass der Inhalt der Referenz nur aus alphanumerischen Zeichen, prozentcodierten Escapes und Zeichen aus dem folgenden Satz (ohne die äußeren Backticks) bestehen darf: Im ursprünglichen Design von |
value |
Enthält eine Protobuf-Serialisierung des Typs, der durch „type_url“ beschrieben wird. Ein base64-codierter String. |
Tool-Annotationen
Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann eine Bestätigungsaufforderung an einen Nutzer gesendet werden soll.
Zusätzlich zum Titelstring werden die folgenden booleschen Hinweise definiert:
readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Entitäten interagieren. Wenn „false“, kann das Tool nur mit internen Entitäten interagieren. Ein Tool für die Websuche wäre beispielsweise ein Open-World-Tool, ein Tool für gemerkte Informationen dagegen nicht.
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ❌ | Lesezugriff-Hinweis: ✅ | Hinweis „Open World“: ❌