MCP Tools Reference: mapstools.googleapis.com

Araç: resolve_maps_urls

Google Haritalar URL'lerinin listesini standart Google Haritalar yer kimliklerine dönüştürür.

Bu aracın ne zaman çağrılacağı (KRİTİK):

  • Kullanıcı bir veya daha fazla Google Haritalar paylaşım bağlantısı ya da URL'si (ör. "https://maps.app.goo.gl/...", "https://www.google.com/maps/place/..." veya "https://maps.google.com/...") ve temel standart yer kimliklerini ayıklamanız gerekir.
  • Tek bir toplu istekte çözümlenecek en fazla 20 URL belirtebilirsiniz.

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

  • urls (dize dizisi - ZORUNLU): Çözümlenecek Google Haritalar URL'lerinin listesi. Her URL, geçerli ve tek bir yeri gösteren Google Haritalar URL'si olmalıdır.

Google Haritalar'a kaydetme:

  • Yanıt, başarıyla çözümlenen tüm yerleri içeren tek bir Google Haritalar bağlantısı olan save_to_maps_url alanını içerir.
  • Kullanıcı, çözümlenen yerleri Google Haritalar'da liste olarak kaydetmek, paylaşmak veya açmak istediğinde (ör. bir görüşmede paylaşılan yerleri toplamak) bu bağlantıyı kullanıcıya gösterin. Bu bağlantıyı kendiniz OLUŞTURMAYIN.

Hata İşleme (KRİTİK):

  • Bu bir toplu işleme aracıdır. Bir istek "karışık sonuçlar" döndürebilir (ör. bazı URL'ler başarıyla çözümlenirken diğerleri başarısız olur).
  • entities çıkış listesinin, giriş urls dizinleriyle 1:1 eşleşmesi garanti edilir. URL çözümleme işlemi başarısız olursa entities listesindeki ilgili dizinde boş bir Entity mesajı (hiçbir alan ayarlanmaz) gösterilir.
  • Hangi URL dizininin başarısız olduğunu belirlemek için yanıttaki failed_requests harita alanını kontrol etmeniz ZORUNLUDUR. failed_requests anahtarı, istekteki başarısız URL'nin 0 tabanlı dizinini temsil eder. Kısmi bir hata nedeniyle toplu çağrının tamamının başarısız olduğunu varsaymayın.

Aşağıdaki kod örneğinde, resolve_maps_urls 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": "resolve_maps_urls",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Giriş şeması

ResolveMapsUrls için istek mesajı.

ResolveMapsUrlsRequest

JSON gösterimi
{
  "urls": [
    string
  ]
}
Alanlar
urls[]

string

Zorunlu. Çözümlenecek Google Haritalar URL'leri. Her URL geçerli bir Google Haritalar URL'si olmalıdır. Örneğin, https://maps.app.goo.gl/..., https://www.google.com/maps/place/... veya https://maps.google.com/.... Şu anda yalnızca tek bir yeri gösteren URL'ler desteklenmektedir. En fazla 20 URL belirtebilirsiniz.

Çıkış şeması

ResolveMapsUrls için yanıt mesajı.

ResolveMapsUrlsResponse

JSON gösterimi
{
  "entities": [
    {
      object (Entity)
    }
  ],
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  },
  "saveToMapsUrl": string
}
Alanlar
entities[]

object (Entity)

Yalnızca çıkış. Google Haritalar URL'lerinden çözümlenen varlıkların listesi. İstek urls dizinleriyle 1:1 eşleşme garantilidir. i dizinindeki boş bir mesaj (entity ayarlanmamışsa) ilgili URL için çözümlemenin başarısız olduğunu gösterir. Çözüm başarısız olduysa hata durumu için lütfen failed_requests alanını kontrol edin.

failedRequests

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

Yalnızca çıkış. Google Haritalar URL'leri için kısmi hataları bildiren bir harita. Anahtar, urls alanındaki başarısız isteğin dizinidir. Değer, çözümün neden başarısız olduğunu açıklayan hata durumudur.

"key": value çiftlerinin listesini içeren bir nesne. Örnek: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

saveToMapsUrl

string

Yalnızca çıkış. Başarıyla çözümlenen tüm öğeleri Google Haritalar'a kaydetme bağlantısı

Varlık

JSON gösterimi
{

  // Union field entity can be only one of the following:
  "place": string
  // End of list of possible types for union field entity.
}
Alanlar
entity birleşik alanı. Çözümlenen varlık türü. entity aşağıdakilerden yalnızca biri olabilir:
place

string

Çözümlenen yerin kaynak adı.

FailedRequestsEntry

JSON gösterimi
{
  "key": integer,
  "value": {
    object (Status)
  }
}
Alanlar
key

integer

value

object (Status)

Durum

JSON gösterimi
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Alanlar
code

integer

Durum kodu, google.rpc.Code enum değeri olmalıdır.

message

string

Geliştiriciye yönelik hata mesajı (İngilizce olmalıdır). Kullanıcıya gösterilen tüm hata mesajları yerelleştirilmiş olup google.rpc.Status.details alanında gönderilmeli veya istemci tarafından yerelleştirilmelidir.

details[]

object

Hata ayrıntılarını içeren mesajların listesi. API'lerin kullanabileceği ortak bir mesaj türleri kümesi vardır.

Herhangi türde alanlar içeren bir nesne. Ek bir "@type" alanı, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }.

Tümü

JSON gösterimi
{
  "typeUrl": string,
  "value": string
}
Alanlar
typeUrl

string

Serileştirilmiş Protobuf mesajının türünü, eğik çizgiyle biten bir ön ek ve tam nitelikli tür adından oluşan bir URI referansıyla tanımlar.

Örnek: type.googleapis.com/google.protobuf.StringValue

Bu dize en az bir / karakteri içermelidir ve son / karakterinden sonraki içerik, başında nokta olmadan standart biçimde türün tam nitelikli adı olmalıdır. İstemcilerin bu URI referanslarıyla iletişim kurmaya çalışmaması için bunlara şema yazmayın.

Önek rastgeledir ve Protobuf uygulamalarının, türü tanımlamak için son / dahil olmak üzere her şeyi kaldırması beklenir. type.googleapis.com/, bazı eski uygulamaların gerektirdiği yaygın bir varsayılan önektir. Bu ön ek, türün kaynağını belirtmez ve bu ön eki içeren URI'lerin herhangi bir isteğe yanıt vermesi beklenmez.

Tüm tür URL dizeleri, referans içeriğinin yalnızca alfanümerik karakterlerden, yüzde kodlu çıkışlardan ve aşağıdaki kümedeki karakterlerden (dış tırnak işaretleri hariç) oluşması gerektiği ek kısıtlamasıyla (metin biçimi için) yasal URI referansları olmalıdır: /-.~_!$&()*+,;=. Yüzde kodlamalarına izin vermemize rağmen, mevcut ayrıştırıcılarla karışıklığı önlemek için uygulamalar bunları kaçış karakteri olarak kullanmamalıdır. Örneğin, type.googleapis.com%2FFoo reddedilmelidir.

Any uygulamasının orijinal tasarımında, bu tür URL'lerde bir tür çözümleme hizmeti başlatma olasılığı değerlendirilmişti ancak Protobuf hiçbir zaman böyle bir hizmet uygulamadı ve bu URL'lerle iletişime geçmenin sorunlu ve potansiyel bir güvenlik sorunu olduğunu düşünüyor. İletişim türü URL'lerini kullanmaya çalışmayın.

value

string (bytes format)

type_url tarafından açıklanan türün Protobuf serileştirmesini içerir.

Base64 kodlu bir dize.

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: ❌