MCP Tools Reference: mapstools.googleapis.com

Araç: search_places

Kullanıcı yer, işletme, adres, konum, önemli yer veya Google Haritalar ile ilgili başka bir arama yapmak istediğinde bu aracı çağırın.

Giriş Şartları (KRİTİK):

  1. text_query (dize - ZORUNLU): Birincil arama sorgusu. Bu, kullanıcının ne aradığını net bir şekilde tanımlamalıdır.

    • Örnekler: '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'.
    • Belirli yer ayrıntıları için: İstenen özelliği (ör. 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address') ekleyin.
  2. location_bias (nesne - İSTEĞE BAĞLI): Belirli bir coğrafi bölgenin yakınındaki sonuçlara öncelik vermek için bunu kullanın.

    • Biçim: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Kullanım:
      • 5 km'lik bir yarıçapa yönlendirmek için: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Merkez noktaya güçlü bir şekilde yönlendirmek için: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (radius_meters hariç).
  3. language_code (dize - İSTEĞE BAĞLI): Arama sonuçları özetinin gösterileceği dil.

    • Biçim: İki harfli bir dil kodu (ISO 639-1) ve isteğe bağlı olarak bir alt çizgi ve iki harfli bir ülke kodu (ISO 3166-1 alfa-2) (ör. en, ja, en_US, zh_CN, es_MX). Dil kodu sağlanmazsa sonuçlar İngilizce olur.
  4. region_code (dize - İSTEĞE BAĞLI): Kullanıcının Unicode CLDR bölge kodu. Bu parametre, varsa bölgeye özgü yer adı gibi yer ayrıntılarını göstermek için kullanılır. Parametre, geçerli yasaya göre sonuçları etkileyebilir.

    • Biçim: İki harfli ülke kodu (ISO 3166-1 alfa-2), ör. US, CA.

Araç Çağrısı Talimatları:

  • Konum Bilgisi (KRİTİK): Aramada yeterli konum bilgisi bulunmalıdır. Konum belirsizse (ör. yalnızca "pizzacılar") text_query parametresinde belirtmeniz (ör. "New York'taki pizzacılar") veya location_bias parametresini kullanmanız gerekir. Anlam belirsizliğini gidermek için gerekirse şehir, eyalet/il ve bölge/ülke adını ekleyin.

  • Her zaman mümkün olan en spesifik ve bağlam açısından zengin text_query kullanın.

  • location_bias aracını yalnızca koordinatlar açıkça belirtilmişse veya kullanıcının bilinen bağlamından konum çıkarımı yapmak uygunsa ve daha iyi sonuçlar için gerekliyse kullanın.

  • Temellendirilmiş çıkış, mümkün olduğunda attribution alanındaki bilgiler kullanılarak kaynağa atfedilmelidir.

Aşağıdaki kod örneğinde, search_places MCP aracını çağırmak için curl öğesinin nasıl kullanılacağı gösterilmektedir.

Curl İsteği
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": "search_places",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Giriş şeması

SearchText için istek mesajı.

SearchTextRequest

JSON gösterimi
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "pageSize": integer,
  "includeExtendedDetails": boolean,

  // Union field _location_bias can be only one of the following:
  "locationBias": {
    object (LocationBias)
  }
  // End of list of possible types for union field _location_bias.
}
Alanlar
textQuery

string

Zorunlu. Metin sorgusu.

languageCode

string

İsteğe bağlıdır. Özetin döndürülmesini istediğiniz dil. Dil kodu belirtilmemişse veya tanınmıyorsa İngilizce tercih edilen özet döndürülür.

Örneğin, İngilizce için "en".

Desteklenen dillerin güncel listesi: https://developers.google.com/maps/faq#languagesupport.

regionCode

string

İsteğe bağlıdır. İsteğin geldiği konumun Unicode ülke/bölge kodu (CLDR). Bu parametre, varsa bölgeye özgü yer adı gibi yer ayrıntılarını göstermek için kullanılır. Parametre, geçerli yasaya göre sonuçları etkileyebilir.

Örneğin, ABD için "US".

Daha fazla bilgi için https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html adresini ziyaret edin.

3 haneli bölge kodlarının şu anda desteklenmediğini unutmayın.

pageSize

integer

İsteğe bağlıdır. Döndürülecek maksimum yer sayısı (en fazla 5). Hizmet, bu değerden daha az sonuç döndürebilir. Varsayılan değer 5'tir.

includeExtendedDetails

boolean

İsteğe bağlıdır. Yanıtta genişletilmiş yer ayrıntıları yer alır.

Kullanıcı isteği; niteliksel analizler, gerçek zamanlı dinamikler veya özel varlık özellikleri gerektirdiğinde bu alanı true olarak ayarlayın: - Niteliksel incelemeler, müşteri yaklaşımı ve geri bildirimler. - Menü öğeleri, yemekler, özel yemekler, içecekler veya işletmenin öne çıkan özellikleri gibi belirli teklifler. - Nitelikli atmosfer, iç mekan dekoru, estetik, ambiyans veya ruh hali. - Gerçek zamanlı veriler ve özel tesis özellikleri, ziyaretçi politikaları/ipuçları, bekleme süreleri.

Standart keşif aramaları (ör. mutfaklar, mağaza türleri), konum/adres aramaları, iletişim bilgileri, çalışma saatleri ve standart meta veriler/olanaklar için false (varsayılan) değerini bırakın.

Bu alanın etkinleştirilmesi daha yüksek gecikmeye neden olur.

_location_bias birleşik alanı.

_location_bias aşağıdakilerden yalnızca biri olabilir:

locationBias

object (LocationBias)

Arama sonuçlarını yönlendirmek için isteğe bağlı bir bölge. text_query içinde açık bir konum varsa bu alan yerine arama sonuçlarını etkilemek için kullanılır.

LocationBias

JSON gösterimi
{
  "circle": {
    object (Circle)
  }
}
Alanlar
circle

object (Circle)

İsteğe bağlıdır. Merkez noktası ve yarıçapla tanımlanan bir daire. radius_meters isteğe bağlıdır. Ayarlanmazsa sonuçlar merkez noktasına doğru eğilimli olur.

Daire

JSON gösterimi
{
  "center": {
    object (LatLng)
  },

  // Union field _radius_meters can be only one of the following:
  "radiusMeters": number
  // End of list of possible types for union field _radius_meters.
}
Alanlar
center

object (LatLng)

Zorunlu. Dairenin merkez noktası.

_radius_meters birleşik alanı.

_radius_meters aşağıdakilerden yalnızca biri olabilir:

radiusMeters

number

Dairenin metre cinsinden yarıçapı. Yarıçap 50.000 metre içinde olmalıdır.

LatLng

JSON gösterimi
{
  "latitude": number,
  "longitude": number
}
Alanlar
latitude

number

Derece cinsinden enlem. [-90,0, +90,0] aralığında olmalıdır.

longitude

number

Derece cinsinden boylam. [-180,0, +180,0] aralığında olmalıdır.

Çıkış şeması

SearchText için yanıt mesajı.

SearchTextResponse

JSON gösterimi
{
  "places": [
    {
      object (PlaceView)
    }
  ],
  "summary": string,
  "contentToken": string
}
Alanlar
places[]

object (PlaceView)

Yalnızca çıkış. Özette bahsedilen yerlerin listesi.

summary

string

Yalnızca çıkış. Arama sonuçlarının doğal dilde bir özeti. Özet, "[0]", "[1]", "[2]" gibi sıfır tabanlı alıntılar içerebilir. Bu alıntılar, places alanındaki ilgili yerlerle eşleşir.

contentToken

string

Yalnızca çıkış. Arama bağlamını kapsayan ve döndürülen arama sonuçları için etkileşimli kullanıcı arayüzü bileşenlerini görüntülemek üzere Google Haritalar görsel oluşturma hizmetlerine, SDK'lara veya Haritalar ajan tabanlı kullanıcı arayüzü araç setine (A2UI) iletilebilen şifrelenmiş bir jeton.

PlaceView

JSON gösterimi
{
  "place": string,
  "id": string,
  "googleMapsLinks": {
    object (GoogleMapsLinks)
  },
  "attribution": {
    object (Attribution)
  },

  // Union field _location can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field _location.
}
Alanlar
place

string

Temel yerin "places/{id}" biçimindeki kaynak adı.

id

string

Temel yerin yer kimliği.

googleMapsLinks

object (GoogleMapsLinks)

Farklı Google Haritalar işlemlerini tetikleyen bağlantılar.

attribution

object (Attribution)

Yerle birlikte gösterilmesi gereken atıf.

_location birleşik alanı.

_location aşağıdakilerden yalnızca biri olabilir:

location

object (LatLng)

Bu yerin konumu.

LatLng

JSON gösterimi
{
  "latitude": number,
  "longitude": number
}
Alanlar
latitude

number

Derece cinsinden enlem. [-90,0, +90,0] aralığında olmalıdır.

longitude

number

Derece cinsinden boylam. [-180,0, +180,0] aralığında olmalıdır.

JSON gösterimi
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
Alanlar
directionsUrl

string

Yere giden yol tarifini gösteren bir bağlantı. Bağlantı yalnızca hedef konumu doldurur ve varsayılan seyahat modunu DRIVE kullanır.

placeUrl

string

Bu yeri gösteren bir bağlantı.

writeAReviewUrl

string

Google Haritalar'da bu yerle ilgili yorum yazma bağlantısı.

reviewsUrl

string

Bu yerle ilgili yorumları Google Haritalar'da gösteren bir bağlantı.

photosUrl

string

Google Haritalar'da bu yerin fotoğraflarını gösteren bir bağlantı.

İlişkilendirme

JSON gösterimi
{
  "title": string,
  "url": string
}
Alanlar
title

string

İlişkilendirme için gösterilecek başlık.

url

string

İlişkilendirme için bağlantı verilecek URL.

Araç Notları

Araç notları, belirli bir aracın temel riskini açıklamak için MCP istemcilerine gönderilir. Çoğu istemci bu ipuçlarını güvenilir olmayan olarak değerlendirir ancak kullanıcıya ne zaman onay istemi gönderileceğine karar vermek için kullanılabilir.

Başlık dizesiyle birlikte aşağıdaki boole ipuçları şu şekilde tanımlanır:

  • readOnlyHint: Doğru ise araç, ortamını değiştirmez. Varsayılan: false.
  • destructiveHint: Doğru ise araç, yıkıcı işlemler gerçekleştirebilir. Yanlış ise araç yalnızca ekleme işlemleri gerçekleştirebilir. Varsayılan: true.
  • idempotentHint: Doğru ise aracın aynı bağımsız değişkenlerle tekrar tekrar çağrılması, ortamı üzerinde ek bir etki yaratmaz. Varsayılan: false.
  • openWorldHint: Doğru ise araç, harici varlıkların "açık dünyası" ile etkileşime girebilir. Yanlış ise araç yalnızca dahili varlıklarla etkileşim kurabilir. Örneğin, web arama aracı açık dünya iken bellek aracı açık dünya değildir.

Yıkıcı İpucu: ❌ | Eşgüçlü İpucu: ❌ | Salt Okunur İpucu: ✅ | Açık Dünya İpucu: ❌