MCP Reference: mapstools.googleapis.com

Ini adalah server MCP yang disediakan oleh Maps Grounding Lite API. Server ini menyediakan alat bagi developer untuk membuat 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 aplikasi Large Language Model (LLM) atau AI. Server MCP menghubungkan aplikasi AI ke sistem eksternal seperti database dan layanan web, 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 aplikasi AI (Host untuk klien MCP) untuk membuat koneksi yang aman dan standar. Endpoint ini adalah titik kontak bagi LLM untuk meminta konteks, memanggil alat, atau mengakses resource. Endpoint MCP Google dapat bersifat global atau regional.

Server MCP Maps Grounding Lite API memiliki endpoint MCP global berikut:

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

Alat MCP

Alat MCP adalah fungsi atau kemampuan yang dapat dieksekusi yang diekspos server MCP ke aplikasi LLM atau 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, tempat menarik, atau penelusuran terkait Google Maps lainnya.

Persyaratan Input (KRITIS):

  1. text_query (string - WAJIB): Kueri penelusuran utama. Kueri ini harus menentukan dengan jelas 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 (mis., 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address').
  2. location_bias (objek - OPSIONAL): Gunakan parameter ini untuk memprioritaskan hasil di dekat area geografis tertentu.

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

    • Format: Kode bahasa dua huruf (ISO 639-1), yang secara opsional 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 ditampilkan 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.

Petunjuk untuk Panggilan Alat:

  • Informasi Lokasi (KRITIS): Penelusuran harus berisi informasi lokasi yang memadai. Jika lokasi tidak jelas (mis., hanya "tempat pizza"), Anda harus menentukannya di text_query (mis., "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 hasil yang lebih baik.

  • Output yang didasarkan harus dikaitkan dengan sumber menggunakan informasi dari kolom attribution jika tersedia.

lookup_weather

Mengambil data cuaca komprehensif termasuk kondisi saat ini, prakiraan cuaca per jam, dan harian.

Data Spesifik yang Tersedia: Suhu (Saat Ini, Terasa Seperti, Maks/Min, Indeks Panas), Angin (Kecepatan, Hembusan, Arah), Peristiwa Langit (Matahari Terbit/Terbenam, Fase Bulan), Curah Hujan (Jenis, Probabilitas, Kuantitas/QPF), Kondisi Atmosfer (Indeks UV, Kelembapan, Tutupan Awan, Probabilitas Badai Petir), dan Alamat Lokasi yang Digeokodekan.

Lokasi &Aturan Lokasi (KRITIS):

Lokasi tempat data cuaca diminta ditentukan menggunakan kolom location. Kolom ini adalah struktur 'oneof', yang berarti Anda HARUS memberikan nilai untuk HANYA SATU dari tiga sub-kolom lokasi di bawah untuk memastikan pencarian data cuaca yang akurat.

  1. Koordinat Geografis (lat_lng)

    • Gunakan parameter ini jika Anda diberikan koordinat lat/lng yang tepat.
    • Contoh: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles
  2. ID Tempat (place_id)

    • ID string yang tidak ambigu (ID Tempat Google Maps).
    • place_id dapat diambil dari alat search_places.
    • Contoh: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Menara Eiffel
  3. String Alamat (address)

    • String bentuk bebas yang memerlukan spesifisitas untuk geocoding.
    • Kota & Wilayah: Selalu sertakan wilayah/negara (mis., "London, UK", bukan "London").
    • Alamat Jalan: Berikan alamat lengkap (mis., "1600 Pennsylvania Ave NW, Washington, DC").
    • Kode Pos: HARUS disertai dengan nama negara (mis., "90210, USA", BUKAN "90210").
    • Contoh: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}

Mode Penggunaan:

  • Cuaca Saat Ini: Hanya berikan location. Jangan tentukan date dan hour.

  • Prakiraan Cuaca Per Jam: Berikan location, date, dan hour (0-23). Gunakan untuk waktu tertentu (mis., "at 5 PM") atau istilah seperti "next few hours" atau "later today". Jika pengguna menentukan menit, bulatkan ke jam terdekat. Prakiraan cuaca per jam di luar 120 jam dari sekarang tidak didukung. Cuaca per jam historis didukung hingga 24 jam yang lalu.

  • Prakiraan Cuaca Harian: Berikan location dan date. Jangan tentukan hour. Gunakan untuk permintaan hari umum (mis., "weather for tomorrow", "weather on Friday", "weather on 12/25"). Jika tanggal hari ini tidak ada dalam konteks, Anda harus mengklarifikasinya dengan pengguna. Prakiraan cuaca harian di luar 10 hari termasuk hari ini tidak didukung. Cuaca historis tidak didukung.

Batasan Parameter:

  • Zona Waktu: Semua input date dan hour harus relatif terhadap zona waktu lokal lokasi, bukan zona waktu pengguna.
  • Format Tanggal: Input harus dipisahkan menjadi bilangan bulat {year, month, day}.
  • Unit: Default-nya adalah METRIC. Tetapkan units_system ke IMPERIAL untuk Fahrenheit/Mil jika pengguna menyiratkan standar AS atau secara eksplisit memintanya.
  • Output yang didasarkan harus dikaitkan dengan sumber menggunakan informasi dari kolom attribution jika tersedia.

compute_routes

Menghitung rute perjalanan antara tempat asal dan tujuan yang ditentukan. Mode Perjalanan yang Didukung: DRIVE (default), WALK.

Persyaratan Input (KRITIS): Memerlukan tempat asal dan tujuan. Setiap tempat asal dan tujuan harus diberikan menggunakan salah satu metode berikut, yang berada dalam kolomnya masing-masing:

  • address: (string, mis., 'Eiffel Tower, Paris'). Catatan: Makin mendetail atau spesifik alamat input, makin baik hasilnya.

  • lat_lng: (objek, {"latitude": angka, "longitude": angka})

  • place_id: (string, mis., 'ChIJOwE_Id1w5EAR4Q27FkL6T_0') Catatan: ID ini dapat diperoleh dari alat search_places. Kombinasi jenis input apa pun diizinkan (mis., tempat asal berdasarkan alamat, tujuan berdasarkan lat_lng). Jika tempat asal atau tujuan tidak ada, Anda HARUS meminta klarifikasi kepada pengguna sebelum mencoba memanggil alat.

Contoh Panggilan Alat: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • Output yang didasarkan harus dikaitkan dengan sumber menggunakan informasi dari kolom attribution jika tersedia.

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