MCP Tools Reference: mapstools.googleapis.com

Narzędzie: resolve_maps_urls

Rozwiązuje listę adresów URL Map Google na kanoniczne identyfikatory miejsc w Mapach Google.

Kiedy wywołać to narzędzie (KRYTYCZNE):

  • Użyj tego narzędzia, gdy użytkownik poda co najmniej 1 link lub adres URL udostępniania w Mapach Google (np. „https://maps.app.goo.gl/...”, „https://www.google.com/maps/place/...” lub „https://maps.google.com/...”) i musisz wyodrębnić podstawowe kanoniczne identyfikatory miejsc.
  • W jednym żądaniu zbiorczym możesz określić maksymalnie 20 adresów URL do rozwiązania.

Wymagania dotyczące danych wejściowych (KRYTYCZNE):

  • urls (tablica ciągów znaków – WYMAGANE): lista adresów URL Map Google do rozwiązania. Każdy adres URL musi być prawidłowym adresem URL Map Google wskazującym na jedno miejsce.

Obsługa błędów (KRYTYCZNE):

  • To narzędzie do przetwarzania wsadowego. Żądanie może zwrócić „wyniki mieszane” (np. niektóre adresy URL zostaną rozwiązane, a inne nie).
  • Gwarantujemy, że wyjściowa lista entities będzie mapować 1:1 z indeksami wejściowych urls. Jeśli nie uda się rozwiązać adresu URL, w odpowiednim indeksie na liście entities pojawi się pusta wiadomość Entity (bez ustawionych pól).
  • MUSISZ sprawdzić pole mapy failed_requests w odpowiedzi, aby określić, który konkretny indeks adresu URL nie powiódł się. Klucz failed_requests reprezentuje indeks nieudanego adresu URL w żądaniu (liczony od 0). Nie zakładaj, że całe wywołanie zbiorcze nie powiodło się z powodu częściowej awarii.

Z przykładu poniżej dowiesz się, jak za pomocą curl wywołać narzędzie MCP resolve_maps_urls.

Żądanie Curl
                  
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 tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Schemat wejściowy

Wiadomość z żądaniem ResolveMapsUrls.

ResolveMapsUrlsRequest

Zapis JSON
{
  "urls": [
    string
  ]
}
Pola
urls[]

string

Wymagane. Adresy URL Map Google do rozwiązania. Każdy adres URL powinien być prawidłowym adresem URL Map Google, np. https://maps.app.goo.gl/..., https://www.google.com/maps/place/..., lub https://maps.google.com/.... Obecnie obsługiwane są tylko adresy URL wskazujące na jedno miejsce. Możesz podać maksymalnie 20 adresów URL.

Schemat wyjściowy

Wiadomość z odpowiedzią ResolveMapsUrls.

ResolveMapsUrlsResponse

Zapis JSON
{
  "entities": [
    {
      object (Entity)
    }
  ],
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
Pola
entities[]

object (Entity)

Tylko dane wyjściowe. Lista rozwiązanych encji z adresów URL Map Google. Gwarantujemy, że będzie mapować 1:1 z indeksami urls żądania. Pusta wiadomość w indeksie i (gdzie nie jest ustawiona entity) oznacza, że nie udało się rozwiązać tego adresu URL. Jeśli nie udało się rozwiązać problemu, sprawdź stan błędu w polu failed_requests.

failedRequests

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

Tylko dane wyjściowe. Mapa informująca o częściowych awariach adresów URL Map Google. Kluczem jest indeks nieudanego żądania w polu urls. Wartość to stan błędu zawierający szczegółowe informacje o przyczynie niepowodzenia.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Jednostka

Zapis JSON
{

  // Union field entity can be only one of the following:
  "place": string
  // End of list of possible types for union field entity.
}
Pola
Pole zbiorcze entity. Rozwiązany typ encji. entity może mieć tylko jedną z tych wartości:
place

string

Nazwa zasobu rozwiązanego miejsca.

FailedRequestsEntry

Zapis JSON
{
  "key": integer,
  "value": {
    object (Status)
  }
}
Pola
key

integer

value

object (Status)

Stan

Zapis JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Pola
code

integer

Kod stanu, który powinien być wartością wyliczeniową google.rpc.Code.

message

string

Komunikat o błędzie widoczny dla programisty, który powinien być w języku angielskim. Wszelkie komunikaty o błędach dla użytkowników powinny być zlokalizowane i wysyłane w polu google.rpc.Status.details lub zlokalizowane przez klienta.

details[]

object

Lista wiadomości zawierających szczegóły błędu. Na potrzeby interfejsów API dostępny jest wspólny zestaw typów wiadomości.

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI określający typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }.

Dowolna

Zapis JSON
{
  "typeUrl": string,
  "value": string
}
Pola
typeUrl

string

Określa typ serializowanej wiadomości Protobuf za pomocą odniesienia URI składającego się z prefiksu kończącego się ukośnikiem i pełnej nazwy typu.

Przykład: type.googleapis.com/google.protobuf.StringValue

Ten ciąg znaków musi zawierać co najmniej 1 znak /, a treść po ostatnim znaku / musi być pełną nazwą typu w postaci kanonicznej, bez kropki na początku. Nie wpisuj schematu w tych odniesieniach URI, aby klienci nie próbowali się z nimi kontaktować.

Prefiks jest dowolny, a implementacje Protobuf powinny po prostu usuwać wszystko do ostatniego znaku / włącznie, aby określić typ. type.googleapis.com/ to typowy prefiks domyślny, który jest wymagany w niektórych starszych implementacjach. Ten prefiks nie wskazuje pochodzenia typu, a identyfikatory URI, które go zawierają, nie powinny odpowiadać na żadne żądania.

Wszystkie ciągi znaków URL typu muszą być prawidłowymi odniesieniami URI z dodatkowym ograniczeniem (w przypadku formatu tekstowego), że treść odniesienia musi składać się tylko ze znaków alfanumerycznych, znaków ucieczki zakodowanych w procentach i znaków z tego zestawu (bez zewnętrznych odwrotnych apostrofów): /-.~_!$&()*+,;=. Mimo że zezwalamy na kodowanie procentowe, implementacje nie powinny ich dekodować, aby uniknąć nieporozumień z istniejącymi analizatorami. Na przykład type.googleapis.com%2FFoo powinno zostać odrzucone.

W pierwotnym projekcie Any rozważano możliwość uruchomienia usługi rozpoznawania typów pod tymi adresami URL, ale Protobuf nigdy jej nie zaimplementował i uważa kontaktowanie się z tymi adresami URL za problematyczne i potencjalne zagrożenie bezpieczeństwa. Nie próbuj kontaktować się z adresami URL typu.

value

string (bytes format)

Zawiera serializację Protobuf typu opisanego przez type_url.

Ciąg znaków zakodowany w formacie Base64.

Adnotacje narzędzia

Wskazówka dotycząca działania destrukcyjnego: ❌ | Wskazówka dotycząca działania idempotentnego: ❌ | Wskazówka dotycząca działania tylko do odczytu: ✅ | Wskazówka dotycząca działania w otwartym świecie: ❌