MCP Reference: mapstools.googleapis.com

Ini adalah server MCP yang disediakan oleh alat agentic Maps Experience. Server ini menyediakan alat bagi developer untuk membangun aplikasi LLM di atas Google Maps Platform.

Server Model Context Protocol (MCP) bertindak sebagai proxy antara layanan eksternal yang menyediakan konteks, data, atau kemampuan ke Model Bahasa Besar (LLM) atau aplikasi AI. Server MCP menghubungkan aplikasi AI ke sistem eksternal seperti database dan layanan web, serta menerjemahkan responsnya ke dalam format yang dapat dipahami oleh aplikasi AI.

Penyiapan Server

Anda harus mengaktifkan server MCP dan menyiapkan autentikasi sebelum menggunakannya. Untuk mengetahui informasi selengkapnya tentang cara menggunakan server MCP jarak jauh Google dan Google Cloud, lihat Ringkasan server MCP Google Cloud.

Endpoint Server

Endpoint layanan MCP adalah alamat jaringan dan antarmuka komunikasi (biasanya URL) server MCP yang digunakan oleh aplikasi AI (Host untuk klien MCP) untuk membuat koneksi yang aman dan terstandardisasi. MCP adalah titik kontak bagi LLM untuk meminta konteks, memanggil alat, atau mengakses resource.

Server MCP alat agen Maps Experience memiliki endpoint MCP global berikut:

  • https://mapstools.googleapis.com/mcp

Alat MCP

Alat MCP adalah fungsi atau kemampuan yang dapat dieksekusi yang diekspos oleh server MCP ke LLM atau aplikasi AI untuk melakukan tindakan di dunia nyata.

Alat

Server MCP mapstools.googleapis.com memiliki alat berikut:

Alat MCP
search_places

Panggil alat ini saat permintaan pengguna adalah untuk menemukan tempat, bisnis, alamat, lokasi, lokasi menarik, atau penelusuran terkait Google Maps lainnya.

Persyaratan Input (PENTING):

  1. text_query (string - WAJIB): Kueri penelusuran utama. Hal ini harus dengan jelas menentukan apa yang dicari pengguna.

    • Contoh: 'restaurants in New York', 'coffee shops near Golden Gate Park', 'SF MoMA', '1600 Amphitheatre Pkwy, Mountain View, CA, USA', 'pets friendly parks in Manhattan, New York', 'date night restaurants in Chicago', 'accessible public libraries in Los Angeles'.
    • Untuk detail tempat tertentu: Sertakan atribut yang diminta (misalnya, 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address').
  2. location_bias (objek - OPSIONAL): Gunakan ini untuk memprioritaskan hasil di dekat area geografis tertentu.

    • Format: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Penggunaan:
      • Untuk membiaskan ke radius 5 km: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Untuk memberikan bias yang kuat ke titik pusat: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (menghilangkan radius_meters).
  3. language_code (string - OPSIONAL): Bahasa yang digunakan untuk menampilkan ringkasan hasil penelusuran.

    • Format: Kode bahasa dua huruf (ISO 639-1), yang dapat diikuti dengan garis bawah dan kode negara dua huruf (ISO 3166-1 alpha-2), misalnya, en, ja, en_US, zh_CN, es_MX. Jika kode bahasa tidak diberikan, hasilnya akan dalam bahasa Inggris.
  4. region_code (string - OPSIONAL): Kode wilayah CLDR Unicode pengguna. Parameter ini digunakan untuk menampilkan detail tempat, seperti nama tempat khusus wilayah, jika tersedia. Parameter ini dapat memengaruhi hasil berdasarkan hukum yang berlaku.

    • Format: Kode negara dua huruf (ISO 3166-1 alpha-2), misalnya, US, CA.
  5. page_size (bilangan bulat - OPSIONAL): Jumlah maksimum tempat yang akan ditampilkan, dari 1 hingga 10. Nilai defaultnya adalah 5. Tetapkan di atas 5 hanya jika pengguna ingin membandingkan lebih dari 5 tempat; nilai dari 6 hingga 10 akan dikenai biaya yang lebih tinggi dan latensi yang lebih tinggi.

  6. include_extended_details (boolean - OPSIONAL): Tetapkan kolom ini ke true jika permintaan pengguna memerlukan insight kualitatif yang lengkap, dinamika real-time, atau atribut entitas khusus. Defaultnya adalah false. Menyetelnya ke true akan menimbulkan biaya dan latensi yang lebih tinggi.

Instructions for Tool Call:

  • Informasi Lokasi (PENTING): Penelusuran harus berisi informasi lokasi yang memadai. Jika lokasinya ambigu (misalnya, hanya "tempat pizza"), Anda harus menentukannya di text_query (misalnya, "tempat pizza di New York") atau menggunakan parameter location_bias. Sertakan nama kota, negara bagian/provinsi, dan wilayah/negara jika diperlukan untuk disambiguasi.

  • Selalu berikan text_query yang paling spesifik dan kaya konteks.

  • Hanya gunakan location_bias jika koordinat diberikan secara eksplisit atau jika menyimpulkan lokasi dari konteks pengguna yang diketahui sesuai dan diperlukan untuk mendapatkan hasil yang lebih baik.

  • Output yang di-grounding harus diatribusikan ke sumber menggunakan informasi dari kolom attribution jika tersedia.

lookup_weather Mengambil kecerdasan lingkungan yang komprehensif untuk suatu lokasi, termasuk Cuaca, Kualitas Udara (AQI & polutan), dan Pollen (tingkat alergen spesies pohon, rumput, gulma, dan tanaman): kondisi saat ini, perkiraan/histori per jam, dan perkiraan harian untuk Cuaca dan Kualitas Udara; Pollen hanya berupa perkiraan harian (hari ini hingga +4 hari, tanpa data per jam atau data historis). Domain & Kemampuan Lingkungan yang Tersedia (capabilities: WEATHER, AIR_QUALITY, POLLEN — PENTING): * Pemilihan Eksplisit Wajib: Anda HARUS menyertakan setidaknya salah satu dari WEATHER, AIR_QUALITY, atau POLLEN di capabilities pada setiap panggilan. Menghilangkan capabilities TIDAK diizinkan. * Kueri Luar Ruangan yang Luas/Ambigu (Suite Luar Ruangan Ambien Lengkap): Jika pengguna mengajukan pertanyaan umum tentang luar ruangan, perjalanan, atau situasional tanpa membatasi pada domain tertentu (misalnya, "Bagaimana kondisi luar ruangan saat ini untuk berlari?"), sertakan ketiga kemampuan secara eksplisit (capabilities: ["WEATHER", "AIR_QUALITY", "POLLEN"]) untuk menampilkan suite luar ruangan ambien lengkap (Cuaca + Kualitas Udara + Serbuk Sari); untuk date/hour sebelumnya, hapus POLLEN, yang tidak memiliki histori. * Pemilihan Domain yang Ditargetkan (Kueri Spesifik): Jika pengguna secara khusus meminta hanya satu atau dua domain (misalnya, "Berapa AQI di Jakarta saat ini?"), sertakan hanya kemampuan yang diminta (WEATHER, AIR_QUALITY, dan/atau POLLEN). Hanya domain yang diminta yang akan dieksekusi dan ditampilkan. Data Spesifik yang Tersedia menurut Domain: * Cuaca (weather): Suhu (Saat Ini, Terasa Seperti, Maks/Min, Indeks Panas), Angin (Kecepatan, Embusan, Arah), Peristiwa Langit (Matahari Terbit/Terbenam, Fase Bulan), Presipitasi (Jenis, Probabilitas, Kuantitas/QPF), dan Kondisi Atmosfer (Indeks UV, Kelembapan, Tutupan Awan, Probabilitas Badai Petir, Tekanan Udara). * Kualitas Udara (air_quality): Indeks Kualitas Udara Universal & Lokal (nilai AQI, kategori, polutan dominan), Rekomendasi Kesehatan di 7 kelompok sensitivitas, dan Konsentrasi Polutan (include_pollutant_concentration: true). Setiap indeks memiliki polutan dominannya sendiri; laporkan per indeks (misalnya, jangan berikan polutan AQI Universal untuk AQI AS). * Serbuk Sari (pollen): Indeks Serbuk Sari Universal (UPI, 0–5) harian per kategori Pohon, Rumput, dan Gulma serta per spesies tanaman (index.value dengan index.category, misalnya 1 = "Sangat Rendah"), status musim, reaksi silang, dan rekomendasi kesehatan. * Kolom Pollen Tidak Ada: in_season yang tidak ada berarti tidak sedang musimnya. Abaikan spesies tanaman yang ditampilkan tanpa index, kecuali jika pengguna bertanya tentang tanaman tersebut; lalu katakan bahwa tidak ada data serbuk sari yang dilaporkan untuk tanaman tersebut hari ini (jangan menyimpulkan tingkatnya). Aturan Lokasi (PENTING): Lokasi target HARUS ditentukan di location menggunakan HANYA SATU subkolom oneof berikut: 1. Koordinat Geografis (lat_lng): * Gunakan jika koordinat lintang/bujur yang tepat diketahui. * Contoh: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} 2. ID Tempat (place_id): * ID Tempat Google Maps yang jelas (misalnya, diperoleh dari search_places atau resolve_names). * Contoh: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} 3. String Alamat (address): * Kota/wilayah, lingkungan, tempat terkenal atau lokasi menarik, alamat, atau kode pos, idealnya dengan kota/negara. * Contoh: {"location": {"address": "Paris, France"}} Mode Waktu & Penggunaan (date dan hour — PENTING): * Referensi Zona Waktu Lokal: Semua input date ({year, month, day}) dan hour (0-23) HARUS dinyatakan dalam zona waktu sipil lokal location yang diminta (misalnya, kueri untuk "Paris tomorrow at 13:00" menggunakan tanggal dan jam lokal Europe/Paris 13), bukan UTC atau zona waktu penelepon. * 1. Kondisi Saat Ini (date dihilangkan DAN hour dihilangkan): * Berikan location dan capabilities target (WEATHER, AIR_QUALITY, POLLEN). JANGAN tentukan date atau hour. * Menampilkan Kondisi Saat Ini (CC) real-time untuk domain yang diminta (Cuaca saat ini, Kualitas Udara jam saat ini, dan/atau prakiraan Serbuk Sari hari ini). * Untuk Kualitas Udara, Kondisi Saat Ini adalah satu jam: JANGAN menggunakannya sendiri untuk menjawab pertanyaan tentang kualitas udara atau pertanyaan umum di luar ruangan tentang hari ini secara keseluruhan (gunakan Kueri Harian di bawah). * 2. Perkiraan/Histori Per Jam (date ditentukan DAN hour ditentukan 0-23): * Berikan location, date ({year, month, day}), hour (0-23), dan capabilities target. Jika menit disebutkan, bulatkan ke bawah ke jam terdekat. * BATASAN KRITIS (date DIPERLUKAN jika hour ditetapkan): Memberikan hour tanpa date (date dihilangkan, hour ditetapkan) TIDAK diizinkan dan akan gagal dengan error. Meskipun pengguna menanyakan jam tertentu hari ini (misalnya, "at 13:00 today"), Anda HARUS mengisi date (tanggal hari ini pada pukul location) dan hour. * Menjalankan pencarian per jam untuk Cuaca dan/atau Kualitas Udara yang diminta pada YYYY-MM-DD-HH dan pencarian harian untuk Serbuk Sari yang diminta pada YYYY-MM-DD. * Pertanyaan "kapan" terkait cuaca: untuk pertanyaan cuaca yang menanyakan kapan/jam berapa/waktu terbaik (misalnya, "what time will it stop raining?"), gunakan panggilan WEATHER per jam (date + hour) untuk jam yang relevan. Prakiraan Cuaca harian tidak memiliki nilai per jam. Untuk pertanyaan aktivitas luar ruangan umum "kapan/waktu terbaik" (misalnya, "when is the best time to go walking today?"), lakukan panggilan WEATHER per jam ini selain panggilan harian penuh untuk Kualitas Udara (dan Serbuk Sari) yang dijelaskan di bagian Kueri Harian. * 3. Kueri Harian (date ditentukan DAN hour dihilangkan): * Berikan location, date ({year, month, day} dalam waktu sipil lokal location yang diminta) tanpa hour, dan capabilities target untuk kueri sehari penuh (misalnya, "weather and pollen in London tomorrow"). * Pertanyaan tentang Kualitas Udara dan pertanyaan umum tentang aktivitas luar ruangan untuk hari ini: untuk pertanyaan tentang kualitas udara dan pertanyaan umum tentang aktivitas luar ruangan (yang mencakup Kualitas Udara) untuk hari ini (misalnya, "how will the air quality change today", "is today a good day for a picnic?"), tetapkan date ke tanggal hari ini pada location (jam dihilangkan) untuk mendapatkan deret Kualitas Udara per jam untuk hari tersebut. Panggilan Kondisi Saat Ini saja hanya menampilkan Kualitas Udara jam saat ini dan tidak cukup; Anda dapat menambahkannya jika pengguna juga bertanya tentang "sekarang". * Rentang waktu Kualitas Udara: untuk pertanyaan kualitas udara tentang rentang waktu dalam satu hari (misalnya, "air quality between noon and 6 PM"), pilih satu panggilan Harian untuk tanggal tersebut dan baca jam rentang waktu dari deret Kualitas Udara, daripada mengambil sampel jam satu per satu. Jika Anda menggunakan panggilan per jam, cakup setiap jam dalam periode tersebut. * Menampilkan perkiraan harian untuk Cuaca dan/atau Serbuk Sari yang diminta, serta rangkaian Kualitas Udara per jam dalam sehari yang mencakup satu hari penuh waktu setempat (00.00–23.00 waktu setempat): 24 jam historis untuk tanggal yang telah berlalu, 24 jam perkiraan untuk tanggal mendatang, dan untuk hari ini, jam-jam sebelumnya (histori), jam saat ini, dan jam yang tersisa (perkiraan). Rentang Waktu yang Didukung menurut Domain: * Cuaca: Per jam dari 24 jam yang lalu hingga 240 jam (10 hari) ke depan (jam yang lalu memerlukan date dan hour); harian hingga 10 hari termasuk hari ini (hari ini hingga +9 hari); tidak ada histori harian. * Kualitas Udara: Per jam dari 720 jam (30 hari) yang lalu hingga 96 jam (4 hari) ke depan; panggilan sehari penuh harus sesuai dengan periode tersebut (dalam praktiknya hari ini −29 hari hingga +3 hari). * Serbuk sari: Hanya harian, hari ini hingga +4 hari (5 hari termasuk hari ini); tidak ada tanggal sebelumnya, dan hour diabaikan. * (Catatan: Jika beberapa kemampuan diminta dan date/hour berada di luar salah satu rentangnya, panggilan akan tetap berhasil dan hanya menampilkan kemampuan yang didukung.) * Permintaan di luar rentang: Jika tanggal atau jam yang diminta mungkin berada di luar rentang yang didukung domain di atas (misalnya, Serbuk Sari untuk tanggal yang telah berlalu), tetap panggil lookup_weather untuk tanggal/jam yang diminta; error akan menyatakan rentang yang didukung. Jangan menelepon pada tanggal, jam, atau domain lain sebagai pengganti. Opsi Domain & Atribusi: * Bahasa (language_code): Kode bahasa BCP-47 opsional (misalnya, "fr"). Defaultnya adalah "en". * Satuan Cuaca (weather_options.units_system atau units_system): Defaultnya adalah METRIC. Tetapkan ke IMPERIAL (Fahrenheit/mph) jika pengguna menyiratkan standar AS atau secara eksplisit meminta satuan Imperial. Didukung di weather_options.units_system (lebih disukai) dan units_system level teratas; jika keduanya ditentukan, keduanya tidak boleh bertentangan. * Opsi Kualitas Udara (air_quality_options): Tetapkan include_pollutant_concentration: true jika konsentrasi polutan tertentu (PM2.5, PM10, O3, NO2, SO2, CO) diperlukan; tetapkan index_region_code (kode negara ISO 2 huruf, misalnya, "US") secara opsional untuk meminta skala AQI regional tertentu. Secara default, respons mencakup AQI Universal dan AQI regional lokasi. * Atribusi: Output yang di-grounding HARUS diatribusikan ke sumber menggunakan kolom attribution di dalam setiap penampung domain yang ditampilkan (weather.attribution, air_quality.attribution, pollen.attribution). * Waktu yang Ditampilkan: Nilai date_time Kualitas Udara sudah dalam waktu lokal lokasi (termasuk utc_offset); tampilkan apa adanya. Waktu date_time Cuaca (saat ini dan per jam) serta waktu matahari terbit/terbenam adalah UTC; konversikan ke waktu lokal lokasi menggunakan time_zone. Beri label semua waktu sebagai waktu lokal.
compute_routes

Menghitung rute perjalanan antara tempat asal dan tujuan, secara opsional melalui perhentian sementara. Menampilkan jarak dan durasi untuk setiap rute.

Persyaratan Input (PENTING):

  1. origin dan destination (objek - WAJIB): Masing-masing harus diberikan menggunakan salah satu dari:

    • address (string, misalnya, 'Eiffel Tower, Paris'). Tempat, tempat terkenal, dan bisnis yang diberi nama akan di-resolve secara langsung, jadi JANGAN panggil search_places terlebih dahulu hanya untuk melakukan geocoding pada titik jalan. Sertakan kota, wilayah, atau negara yang disebutkan pengguna.
    • lat_lng (objek, {"latitude": number, "longitude": number}).
    • place_id (string, misalnya, 'ChIJOwE_Id1w5EAR4Q27FkL6T_0'), misalnya dari search_places.
  2. intermediate_waypoints (array objek - OPSIONAL): Maksimal 25 perhentian yang harus dilewati, secara berurutan, antara tempat asal dan tujuan. Format sama seperti origin. Tidak didukung dengan TRANSIT. Hanya sertakan perhentian yang diminta pengguna; menentukan lebih dari 10 titik jalan perantara akan dikenai biaya yang lebih tinggi dan latensi yang lebih tinggi.

  3. travel_mode (enum - OPSIONAL): DRIVE (default), WALK, BICYCLE, atau TRANSIT.

  4. Waktu (OPSIONAL - tetapkan maksimal SATU): Stempel waktu RFC 3339 dengan selisih UTC, misalnya, '2026-09-19T08:00:00-07:00'. Defaultnya adalah berangkat sekarang. Untuk TRANSIT, waktu dapat ditetapkan hingga 7 hari yang lalu atau hingga 100 hari ke depan. Untuk mode lainnya, waktu dapat ditetapkan hingga 365 hari ke depan dan tidak boleh di masa lalu.

    • departure_time: Gunakan saat pengguna menyebutkan waktu keberangkatan (misalnya, "besok pukul 08.00").
    • arrival_time: Gunakan saat pengguna menyebutkan waktu kedatangan (misalnya, "tiba di sana pukul 09.00").
  5. routing_preference (enum - OPSIONAL):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (default): mengabaikan lalu lintas langsung, insiden, dan penutupan. Latensi terendah.
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: menggunakan kondisi lalu lintas real-time jika tersedia. Tidak didukung untuk WALK atau BICYCLE. Tetapkan ini HANYA jika pengguna bertanya tentang lalu lintas, kemacetan, atau perkiraan waktu tiba (ETA) yang disesuaikan dengan lalu lintas. Hal ini menimbulkan biaya dan latensi yang lebih tinggi.
  6. location_bias (objek - OPSIONAL): {"latitude": number, "longitude": number} digunakan untuk memperjelas nama tempat di alamat titik jalan. Jika nama bersifat ambigu (misalnya, "Springfield") dan pengguna tidak memberikan wilayah, pertahankan nama seperti yang diberikan di address dan tetapkan location_bias ke area yang dimaksud, bukan menebak wilayah.

  7. compute_alternative_routes (boolean - OPSIONAL): Tetapkan ke true hanya jika pengguna meminta opsi atau alternatif rute. Defaultnya adalah false, yang hanya menampilkan rute yang direkomendasikan.

  8. include_polyline (boolean - OPSIONAL): Tetapkan ke true hanya jika geometri rute (encoded_polyline) diperlukan. Nilai defaultnya adalah false.

Instructions for Tool Call:

  • Jika asal atau tujuan tidak ada, Anda HARUS meminta klarifikasi kepada pengguna sebelum memanggil alat.
  • Untuk pertanyaan "Seberapa jauh A dari B?", gunakan B sebagai origin dan A sebagai destination.

Contoh Panggilan Alat: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Louvre Museum"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"}

Instructions for Response:

  • Saat rute alternatif diminta, rute diurutkan dari yang paling direkomendasikan hingga yang paling tidak direkomendasikan.
  • Jika routes kosong, beri tahu pengguna bahwa tidak ada rute yang ditemukan. Jangan menebak rute.
  • Untuk menemukan tempat di sepanjang rute DRIVE, teruskan retrieval_token rute ke search_along_route. Token ini berlaku selama 10 menit.
  • Hanya nyatakan fakta yang ditampilkan oleh alat. JANGAN membuat rute belokan demi belokan, jalur transportasi umum, stasiun, peron, atau transfer.
  • Output yang di-grounding harus diatribusikan ke sumber menggunakan kolom attribution setiap rute jika tersedia.
search_along_route

Panggil alat ini saat pengguna ingin menemukan tempat, bisnis, atau lokasi menarik di sepanjang rute perjalanan (misalnya, "pom bensin dalam perjalanan ke Tahoe", "kedai kopi antara SF dan San Jose"). Memanggil alat ini memerlukan biaya yang lebih tinggi daripada search_places, jadi gunakan search_places saat menelusuri di dekat satu lokasi, bukan di sepanjang rute.

Persyaratan Input (PENTING):

  1. text_query (string - WAJIB): Deskripsi bahasa alami tentang apa yang harus ditelusuri di sepanjang rute.

    • Contoh: 'ev chargers', 'coffee', 'vegetarian restaurants', 'rest stops'.
  2. Spesifikasi rute (WAJIB - berikan tepat SATU dari hal berikut):

    • retrieval_token (string): retrieval_token yang ditampilkan oleh panggilan compute_routes sebelumnya untuk rute DRIVE. Pilih opsi ini setiap kali rute sudah dihitung. Token ini berlaku selama 10 menit.
    • route_endpoints (objek): origin dan destination rute. Masing-masing harus disediakan menggunakan salah satu dari address, lat_lng, atau place_id.
      • Contoh: {"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
    • encoded_polyline (string): Polyline yang dienkode yang mewakili rute DRIVE.
  3. travel_mode (enum - OPSIONAL): DRIVE (default), WALK, atau BICYCLE. WALK dan BICYCLE hanya didukung dengan route_endpoints. TRANSIT tidak didukung.

  4. routing_preference (enum - OPSIONAL):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (default): menghitung rute dan rute memutar tanpa lalu lintas real-time. Latensi terendah.
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: menggunakan kondisi lalu lintas real-time jika tersedia. Tidak didukung untuk WALK atau BICYCLE. Setel ini HANYA jika pengguna bertanya tentang lalu lintas, kemacetan, atau waktu rute alternatif yang disesuaikan dengan lalu lintas. Hal ini menimbulkan latensi yang lebih tinggi.
  5. include_extended_details (boolean - OPSIONAL): Tetapkan ke true hanya jika permintaan memerlukan insight ulasan kualitatif, item menu atau penawaran tertentu, suasana, tips atau tingkat kesibukan pengunjung, ketersediaan pengisi daya EV, harga bensin, atau detail kualitatif lengkap lainnya. Defaultnya adalah false. Mengaktifkannya dapat meningkatkan latensi.

  6. language_code (string - OPSIONAL): Bahasa untuk ringkasan hasil dan detail tempat, misalnya, en, ja, en-US. Nilai defaultnya adalah en-US.

  7. region_code (string - OPSIONAL): Kode wilayah CLDR Unicode pengguna, misalnya, US, CA.

Instructions for Tool Call:

  • Setiap hasil menyertakan detour_summary (jika tersedia) yang menjelaskan jarak tambahan (localized_detour_distance) dan, kecuali jika rute diberikan sebagai encoded_polyline, waktu tambahan (detour_duration) yang diperlukan untuk berhenti di tempat tersebut. Gunakan untuk membandingkan opsi.
  • Respons summary dapat berisi kutipan berbasis nol (misalnya, "[0]") yang merujuk ke entri di results.
  • Output yang di-grounding harus diatribusikan ke sumber menggunakan kolom attribution dari setiap results[].place jika tersedia.
resolve_names

Menyelesaikan daftar batch kueri lokasi tertentu (nama tempat terkenal atau alamat persis) menjadi ID Tempat Google Maps kanonis.

Persyaratan Input (PENTING):

  1. queries (array objek - WAJIB): Daftar kueri lokasi yang akan di-resolve. Anda dapat menentukan hingga 20 kueri.

    • Setiap objek kueri harus memiliki:
      • text (string - WAJIB): Kueri teks yang mewakili nama atau alamat tempat tertentu yang akan di-resolve.
        • Contoh: 'Googleplex, Mountain View, CA', '1600 Amphitheatre Pkwy, Mountain View, CA', 'Eiffel Tower, Paris'.
  2. location_bias (objek - OPSIONAL): Gunakan ini untuk memprioritaskan hasil di dekat area geografis tertentu.

    • Format: {"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
  3. region_code (string - OPSIONAL): Kode wilayah CLDR Unicode (kode negara dua huruf, misalnya, US, CA) pengguna untuk membiaskan hasil.

Instructions for Tool Call:

  • Kekhususan (PENTING): Kueri harus mewakili nama atau alamat tempat tertentu. Penelusuran umum seperti 'restaurants' atau nama jaringan seperti 'Starbucks' tidak didukung.
  • JANGAN panggil alat ini jika alat downstream yang ingin Anda panggil sudah menerima string alamat mentah atau nama tempat secara langsung.

Simpan ke Google Maps:

  • Responsnya mencakup kolom save_to_maps_url: satu link Maps Google yang berisi semua Tempat yang berhasil di-resolve.
  • Jika pengguna ingin menyimpan, membagikan, atau membuka tempat yang di-resolve sebagai daftar di Google Maps, tampilkan link ini kepada pengguna. JANGAN buat link ini sendiri.

Penanganan Error (PENTING):

  • Alat ini adalah alat batch processing. Permintaan mungkin menampilkan "hasil yang beragam" (misalnya, beberapa kueri berhasil diselesaikan, sementara yang lain gagal).
  • Daftar output results dijamin akan dipetakan 1:1 dengan indeks queries input. Kueri yang gagal akan menghasilkan pesan Result kosong (tidak ada entity yang ditetapkan) pada indeks yang sesuai dalam daftar results.
  • Anda HARUS memeriksa kolom peta failed_requests dalam respons untuk mengidentifikasi indeks kueri tertentu yang gagal. Kunci failed_requests mewakili indeks berbasis 0 dari kueri yang gagal dalam permintaan. Jangan berasumsi bahwa seluruh panggilan batch gagal karena kegagalan parsial.
resolve_maps_urls

Me-resolve daftar URL Google Maps menjadi ID Tempat Google Maps kanonis.

Kapan harus memanggil alat ini (PENTING):

  • Gunakan alat ini saat pengguna memberikan satu atau beberapa link atau URL berbagi Google Maps (misalnya, '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 di-resolve dalam satu permintaan batch.

Persyaratan Input (PENTING):

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

Simpan ke Google Maps:

  • Responsnya mencakup kolom save_to_maps_url: satu link Maps Google yang berisi semua Tempat yang berhasil di-resolve.
  • Saat pengguna ingin menyimpan, membagikan, atau membuka tempat yang telah di-resolve sebagai daftar di Google Maps (misalnya, mengumpulkan tempat yang dibagikan dalam percakapan), tampilkan link ini kepada pengguna. JANGAN buat link ini sendiri.

Penanganan Error (PENTING):

  • Alat ini adalah alat batch processing. Permintaan mungkin menampilkan "hasil yang beragam" (misalnya, beberapa URL berhasil diselesaikan, sementara yang lain gagal).
  • Daftar output entities dijamin akan dipetakan 1:1 dengan indeks urls input. 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 spesifik yang gagal. Kunci failed_requests mewakili indeks berbasis 0 dari URL yang gagal dalam permintaan. Jangan berasumsi bahwa seluruh panggilan batch gagal karena kegagalan parsial.

Mendapatkan spesifikasi alat MCP

Untuk mendapatkan spesifikasi alat MCP untuk semua alat di server MCP, gunakan metode tools/list. Contoh berikut menunjukkan cara menggunakan curl untuk mencantumkan semua alat dan spesifikasinya yang saat ini tersedia dalam server MCP.

Permintaan Curl
curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'