MCP Tools Reference: mapstools.googleapis.com

Alat: resolve_maps_urls

Menyelesaikan daftar URL Google Maps menjadi ID Tempat Google Maps kanonis.

Kapan harus memanggil alat ini (KRITIS):

  • Gunakan alat ini saat pengguna memberikan satu atau beberapa link atau URL berbagi Google Maps (mis. 'https://maps.app.goo.gl/...', 'https://www.google.com/maps/place/...', atau 'https://maps.google.com/...') dan Anda perlu mengekstrak ID Tempat kanonis yang mendasarinya.
  • Anda dapat menentukan hingga 20 URL untuk diselesaikan dalam satu permintaan batch.

Persyaratan Input (KRITIS):

  • urls (array string - WAJIB): Daftar URL Google Maps yang akan diselesaikan. Setiap URL harus berupa URL Google Maps satu tempat yang valid.

Simpan ke Google Maps:

  • Respons mencakup kolom save_to_maps_url: satu link Google Maps yang berisi semua tempat yang berhasil diselesaikan.
  • Jika pengguna ingin menyimpan, membagikan, atau membuka tempat yang telah diselesaikan sebagai daftar di Google Maps (misalnya, mengumpulkan tempat yang dibagikan dalam percakapan), tunjukkan link ini kepada pengguna. JANGAN membuat link ini sendiri.

Penanganan Error (KRITIS):

  • Ini adalah alat pemrosesan batch. Permintaan dapat menampilkan "hasil campuran" (misalnya, beberapa URL berhasil diselesaikan, sementara yang lain gagal).
  • Daftar output entities dijamin dipetakan 1:1 dengan indeks input urls. Resolusi URL yang gagal akan menghasilkan pesan Entity kosong (tidak ada kolom yang ditetapkan) pada indeks yang sesuai dalam daftar entities.
  • Anda HARUS memeriksa kolom peta failed_requests dalam respons untuk mengidentifikasi indeks URL tertentu yang gagal. Kunci failed_requests mewakili indeks berbasis 0 dari URL yang gagal dalam permintaan. Jangan mengasumsikan seluruh panggilan batch gagal karena kegagalan sebagian.

Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP resolve_maps_urls.

Permintaan Curl
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
}'

Skema Input

Pesan permintaan untuk ResolveMapsUrls.

ResolveMapsUrlsRequest

Representasi JSON
{
  "urls": [
    string
  ]
}
Kolom
urls[]

string

Wajib. URL Google Maps yang akan diselesaikan. Setiap URL harus berupa URL Google Maps yang valid, misalnya, https://maps.app.goo.gl/..., https://www.google.com/maps/place/..., atau https://maps.google.com/.... Saat ini, hanya URL yang mengarah ke satu tempat yang didukung. Anda dapat menentukan hingga 20 URL.

Skema Output

Pesan respons untuk ResolveMapsUrls.

ResolveMapsUrlsResponse

Representasi JSON
{
  "entities": [
    {
      object (Entity)
    }
  ],
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  },
  "saveToMapsUrl": string
}
Kolom
entities[]

object (Entity)

Hanya output. Daftar entitas yang diselesaikan dari URL Google Maps. Dijamin dipetakan 1:1 dengan indeks urls permintaan. Pesan kosong pada indeks i (jika tidak ada entity yang ditetapkan) menunjukkan bahwa resolusi gagal untuk URL tersebut. Jika resolusi gagal, periksa kolom failed_requests untuk mengetahui status error.

failedRequests

map (key: integer, value: object (Status))

Hanya output. Peta yang mengomunikasikan kegagalan sebagian untuk URL Google Maps. Kuncinya adalah indeks permintaan yang gagal di kolom urls. Nilainya adalah status error yang menjelaskan alasan kegagalan resolusi.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

saveToMapsUrl

string

Hanya output. Link untuk menyimpan semua entitas yang berhasil diselesaikan di Google Maps.

Entitas

Representasi JSON
{

  // Union field entity can be only one of the following:
  "place": string
  // End of list of possible types for union field entity.
}
Kolom
Kolom union entity. Jenis entitas yang diselesaikan. entity hanya dapat berupa salah satu dari berikut:
place

string

Nama resource tempat yang telah diselesaikan.

FailedRequestsEntry

Representasi JSON
{
  "key": integer,
  "value": {
    object (Status)
  }
}
Kolom
key

integer

value

object (Status)

Status

Representasi JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Kolom
code

integer

Kode status yang harus berupa nilai enum dari google.rpc.Code.

message

string

Pesan error yang ditampilkan ke developer dan seharusnya dalam bahasa Inggris. Setiap pesan error yang ditampilkan kepada pengguna harus dilokalkan dan dikirim di kolom google.rpc.Status.details, atau dilokalkan oleh klien.

details[]

object

Daftar pesan yang membawa detail error. Ada seperangkat jenis pesan umum untuk digunakan API.

Objek yang berisi kolom tipe arbitrer. Kolom tambahan "@type" berisi URI yang mengidentifikasi jenis. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" }.

Semua

Representasi JSON
{
  "typeUrl": string,
  "value": string
}
Kolom
typeUrl

string

Mengidentifikasi jenis pesan Protobuf berseri dengan referensi URI yang terdiri dari awalan yang diakhiri dengan garis miring dan nama jenis yang sepenuhnya memenuhi syarat.

Contoh: type.googleapis.com/google.protobuf.StringValue

String ini harus berisi setidaknya satu karakter /, dan konten setelah / terakhir harus berupa nama yang sepenuhnya memenuhi syarat dari jenis dalam bentuk kanonis, tanpa titik di depannya. Jangan tulis skema pada referensi URI ini agar klien tidak mencoba menghubungi mereka.

Awalan bersifat arbitrer dan implementasi Protobuf diharapkan cukup menghapus semua yang ada hingga dan termasuk / terakhir untuk mengidentifikasi jenisnya. type.googleapis.com/ adalah awalan default umum yang diperlukan oleh beberapa penerapan lama. Awalan ini tidak menunjukkan asal jenis, dan URI yang memuatnya tidak diharapkan merespons permintaan apa pun.

Semua string URL tipe harus berupa referensi URI yang sah dengan batasan tambahan (untuk format teks) bahwa konten referensi hanya boleh terdiri dari karakter alfanumerik, escape yang dienkode persen, dan karakter dalam set berikut (tidak termasuk tanda petik terbalik luar): /-.~_!$&()*+,;=. Meskipun kami mengizinkan encoding persen, implementasi tidak boleh meng-unescape-nya untuk mencegah kebingungan dengan parser yang ada. Misalnya, type.googleapis.com%2FFoo harus ditolak.

Dalam desain asli Any, kemungkinan meluncurkan layanan penyelesaian jenis di URL jenis ini dipertimbangkan, tetapi Protobuf tidak pernah mengimplementasikannya dan menganggap menghubungi URL ini bermasalah dan berpotensi menjadi masalah keamanan. Jangan mencoba mengetik URL.

value

string (bytes format)

Berisi serialisasi Protobuf dari jenis yang dijelaskan oleh type_url.

String berenkode base64.

Anotasi Alat

Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk ini dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim ke pengguna.

Selain string judul, petunjuk boolean berikut ditentukan sebagai berikut:

  • readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: salah.
  • destructiveHint: Jika benar, alat dapat melakukan tindakan yang merusak. Jika salah (false), alat hanya dapat melakukan tindakan tambahan. Default: true.
  • idempotentHint: Jika benar (true), memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: salah.
  • openWorldHint: Jika benar, alat dapat berinteraksi dengan 'dunia terbuka' entitas eksternal. Jika salah (false), alat hanya dapat berinteraksi dengan entitas internal. Misalnya, alat penelusuran web akan menjadi open world, sedangkan alat memori tidak akan menjadi open world.

Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ✅ | Petunjuk Dunia Terbuka: ❌