Tool: resolve_maps_urls
Wandelt eine Liste von Google Maps-URLs in kanonische Google Maps-Orts-IDs um.
Wann dieses Tool aufgerufen werden muss (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 in einer einzelnen Batchanfrage bis zu 20 URLs angeben, die aufgelöst werden sollen.
Eingabeanforderungen (WICHTIG):
urls(Array von Strings – ERFORDERLICH): Die Liste der Google Maps-URLs, die aufgelöst werden sollen. 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 mit allen erfolgreich aufgelösten Orten. - Wenn der Nutzer die aufgelösten Orte als Liste in Google Maps speichern, freigeben oder öffnen möchte (z.B. um in einer Unterhaltung freigegebene Orte zu sammeln), präsentieren Sie ihm diesen Link. Erstellen Sie diesen Link NICHT selbst.
Fehlerbehandlung (KRITISCH):
- Es handelt sich um ein Tool für die Batchverarbeitung. Bei einer Anfrage können „gemischte Ergebnisse“ zurückgegeben werden, z.B. wenn einige URLs erfolgreich aufgelöst werden, während andere fehlschlagen.
- Die Ausgabeliste von
entitieswird garantiert 1:1 den Eingabeindexen vonurlszugeordnet. Wenn eine URL nicht aufgelöst werden kann, wird an der entsprechenden Stelle in der Listeentitieseine leereEntity-Nachricht zurückgegeben (keine Felder festgelegt). - Sie MÜSSEN das Feld
failed_requestsin der Antwort prüfen, um herauszufinden, bei welchem spezifischen URL-Index ein Fehler aufgetreten ist. Der Schlüssel vonfailed_requestssteht für den 0-basierten Index der fehlgeschlagenen URL in der Anfrage. Gehen Sie nicht davon aus, dass der gesamte Batchaufruf aufgrund eines teilweisen Fehlers 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 Einheiten aus den Google Maps-URLs. Die Zuordnung zu den |
failedRequests |
Nur Ausgabe. Eine Karte, die teilweise Fehler für die Google Maps-URLs enthält. Der Schlüssel ist der Index der fehlgeschlagenen Anfrage im Feld Ein Objekt, das eine Liste von |
saveToMapsUrl |
Nur Ausgabe. Ein Link, über den Sie alle erfolgreich aufgelösten Entitäten in Google Maps speichern können. |
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 einem URI-Verweis an, der aus einem Präfix, das mit einem Schrägstrich endet, und dem voll qualifizierten Typnamen besteht. Beispiel: type.googleapis.com/google.protobuf.StringValue Dieser String muss mindestens ein Das Präfix ist beliebig. Protobuf-Implementierungen entfernen einfach alles bis zum 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, prozentual codierten Escape-Sequenzen und Zeichen aus der folgenden Menge bestehen darf (ohne die äußeren Backticks): 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 ein Bestätigungs-Prompt an einen Nutzer gesendet werden soll.
Zusammen mit dem Titelstring werden die folgenden booleschen Hinweise so 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 Einheiten interagieren. Wenn „false“, kann das Tool nur mit internen Einheiten interagieren. Ein Tool für die Websuche wäre beispielsweise Open World, ein Tool für das Gedächtnis nicht.
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ❌ | Hinweis „Nur lesen“: ✅ | Hinweis „Offene Welt“: ❌