MCP Tools Reference: mapstools.googleapis.com

Araç: resolve_maps_urls

Google Haritalar URL'lerinden oluşan bir listeyi standart Google Haritalar yer kimliklerine dönüştürür.

Bu araç ne zaman çağrılmalıdır (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 kanonik yer kimliklerini ayıklamanız gerekir.
  • Tek bir toplu istekte çözümlenecek en fazla 20 URL belirtebilirsiniz.

Giriş Koşulları (ÇOK ÖNEMLİ):

  • urls (dizi dizeleri - ZORUNLU): Çözümlenecek Google Haritalar URL'lerinin listesi. Her URL, geçerli bir tek yerlik Google Haritalar URL'si olmalıdır.

Google Haritalar'a kaydetme:

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

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

  • Bu bir toplu işleme aracıdır. Bir istek "karma sonuçlar" döndürebilir (ör. bazı URL'ler başarıyla çözümlenirken diğerleri başarısız olur).
  • entities çıkış listesinin, urls giriş dizinleriyle 1:1 eşleneceği garanti edilir. Başarısız bir URL çözümü, entities listesindeki ilgili dizinde boş bir Entity mesajıyla (alan ayarlanmamış) sonuçlanır.
  • Hangi URL dizininin başarısız olduğunu belirlemek için yanıttaki failed_requests harita alanını KONTROL ETMENİZ GEREKİR. failed_requests anahtarı, istekteki başarısız URL'nin 0 tabanlı dizinini temsil eder. Kısmi bir hata nedeniyle tüm toplu çağrı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 simgesinin 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 (ör. https://maps.app.goo.gl/..., https://www.google.com/maps/place/... veya https://maps.google.com/...). Şu anda yalnızca tek bir yeri işaret eden 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 öğelerin listesi. İsteğin urls dizinleriyle 1:1 eşleneceği garanti edilir. i dizinindeki boş mesaj (entity ayarlanmamışsa) bu URL için çözümlemenin başarısız olduğunu gösterir. Çözüm başarısız olduysa lütfen hata durumu için 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 ayrıntılı olarak 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ülen 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 önek 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, türün tam nitelikli adı olmalıdır. Bu ad, başında nokta olmadan kanonik biçimde olmalıdır. İstemcilerin bunlarla iletişime geçmeye çalışmaması için bu URI referanslarına şema yazmayın.

Önek rastgeledir ve Protobuf uygulamalarının, türü belirlemek 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 önek, türün kaynağını belirtmez ve bu öneki içeren URI'lerin herhangi bir isteğe yanıt vermesi beklenmez.

Tüm tür URL dizeleri, ek kısıtlamalarla (metin biçimi için) yasal URI referansları olmalıdır. Referansın içeriği yalnızca alfanümerik karakterler, yüzde kodlu kaçışlar ve aşağıdaki kümedeki karakterlerden (dış ters tırnaklar hariç) oluşmalıdır: /-.~_!$&()*+,;=. Yüzde kodlamalarına izin vermemize rağmen, mevcut ayrıştırıcılarla karışıklığı önlemek için uygulamalar bunları koddan çıkarmamalıdır. Örneğin, type.googleapis.com%2FFoo reddedilmelidir.

Any'nın orijinal tasarımında, bu tür URL'lerde bir tür çözümleme hizmeti başlatma olasılığı göz önünde bulundurulmuştu ancak Protobuf hiçbir zaman böyle bir hizmet uygulamadı ve bu URL'lere ulaşmanın sorunlu ve olası bir güvenlik sorunu olduğunu düşünüyor. URL'leri yazmaya çalışmayın.

value

string (bytes format)

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

Base64 kodlu bir dize.

Araç Açıklamaları

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

Başlık dizesinin yanı sıra aşağıdaki Boole ipuçları şu şekilde tanımlanır:

  • readOnlyHint: Doğruysa araç, ortamını değiştirmez. Varsayılan: false.
  • destructiveHint: Doğruysa 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ğruysa aynı bağımsız değişkenlerle aracı tekrar tekrar çağırmanın ortamı üzerinde ek bir etkisi olmaz. Varsayılan: false.
  • openWorldHint: Doğruysa araç, harici öğelerin bulunduğu bir "açık dünya" ile etkileşim kurabilir. Yanlışsa araç yalnızca dahili öğelerle etkileşim kurabilir. Örneğin, bir web arama aracı açık dünya olurken bir bellek aracı açık dünya olmaz.

Yok Edici İpucu: ❌ | İdempotent İpucu: ❌ | Salt Okunur İpucu: ✅ | Açık Dünya İpucu: ❌