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 (KLUCZOWE):
- Użyj tego narzędzia, gdy użytkownik poda co najmniej 1 link lub adres URL do udostępniania w Mapach Google (np. „https://maps.app.goo.gl/...”, „https://www.google.com/maps/place/…” lub „https://maps.google.com/…”), a musisz wyodrębnić podstawowe kanoniczne identyfikatory miejsc.
- W jednym żądaniu zbiorczym możesz określić do 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 dla jednego miejsca.
Zapisz w Mapach Google:
- Odpowiedź zawiera pole
save_to_maps_url: pojedynczy link do Map Google zawierający wszystkie miejsca, które udało się rozpoznać. - Gdy użytkownik chce zapisać, udostępnić lub otworzyć rozwiązane miejsca jako listę w Mapach Google (np. zbierając miejsca udostępnione w rozmowie), wyświetl mu ten link. NIE twórz tego linku samodzielnie.
Obsługa błędów (KRYTYCZNA):
- Jest to narzędzie do przetwarzania wsadowego. Żądanie może zwrócić „mieszane wyniki” (np. niektóre adresy URL zostaną rozpoznane, a inne nie).
- Lista wyjściowa
entitiesjest gwarantowana do mapowania 1:1 z indeksami wejściowymiurls. Nieudane rozwiązanie adresu URL spowoduje wyświetlenie pustego komunikatuEntity(bez ustawionych pól) w odpowiednim indeksie na liścieentities. - MUSISZ sprawdzić pole
failed_requestsmap w odpowiedzi, aby określić, który indeks adresu URL nie został utworzony. Kluczfailed_requestsreprezentuje indeks nieudanego adresu URL w żądaniu (liczony od zera). Nie zakładaj, że całe wywołanie wsadowe nie powiodło się z powodu częściowej awarii.
Poniższy przykładowy kod pokazuje, jak używać curl do wywoływania narzędzia 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 MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schemat wejściowy
Wiadomość z prośbą o wywołanie funkcji ResolveMapsUrls.
ResolveMapsUrlsRequest
| Zapis JSON |
|---|
{ "urls": [ string ] } |
| Pola | |
|---|---|
urls[] |
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 jedno miejsce. Możesz podać maksymalnie 20 adresów URL. |
Schemat wyjściowy
Wiadomość z odpowiedzią dla ResolveMapsUrls.
ResolveMapsUrlsResponse
| Zapis JSON |
|---|
{ "entities": [ { object ( |
| Pola | |
|---|---|
entities[] |
Tylko dane wyjściowe. Lista rozwiązanych podmiotów z adresów URL w Mapach Google. Gwarantowane mapowanie 1:1 z indeksami żądania |
failedRequests |
Tylko dane wyjściowe. Mapa informująca o częściowych błędach w przypadku adresów URL Map Google. Kluczem jest indeks nieudanej prośby w polu Obiekt zawierający listę par |
saveToMapsUrl |
Tylko dane wyjściowe. link do zapisania wszystkich prawidłowo rozwiązanych encji w Mapach Google; |
Jednostka
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze entity. Rozwiązany typ elementu. entity może mieć tylko jedną z tych wartości: |
|
place |
Nazwa zasobu rozpoznanego miejsca. |
FailedRequestsEntry
| Zapis JSON |
|---|
{
"key": integer,
"value": {
object ( |
| Pola | |
|---|---|
key |
|
value |
|
Stan
| Zapis JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Pola | |
|---|---|
code |
Kod stanu, który powinien być wartością wyliczeniową |
message |
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 |
details[] |
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 |
Dowolna
| Zapis JSON |
|---|
{ "typeUrl": string, "value": string } |
| Pola | |
|---|---|
typeUrl |
Określa typ serializowanego komunikatu Protobuf za pomocą odwołania 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 Prefiks jest dowolny, a implementacje Protobuf powinny po prostu usuwać wszystko aż do ostatniego znaku Wszystkie ciągi URL typu muszą być prawidłowe odwołania URI z dodatkowym ograniczeniem (w przypadku formatu tekstowego), że zawartość odwołania musi składać się tylko ze znaków alfanumerycznych, znaków ucieczki zakodowanych w procentach i znaków z tego zestawu (bez zewnętrznych apostrofów): W pierwotnym projekcie |
value |
Zawiera serializację Protobuf typu opisanego przez type_url. Ciąg znaków zakodowany w formacie Base64. |
Adnotacje do narzędzi
Adnotacje narzędzia są wysyłane do klientów MCP w celu opisania podstawowego ryzyka związanego z danym narzędziem. Większość klientów traktuje te wskazówki jako niezaufane, ale można ich używać do określania, kiedy użytkownikowi może zostać wysłany monit o potwierdzenie.
Oprócz ciągu tytułu zdefiniowano te wskazówki logiczne:
readOnlyHint: jeśli wartość jest prawdziwa, narzędzie nie modyfikuje środowiska. Wartość domyślna: fałsz.destructiveHint: jeśli ma wartość Prawda, narzędzie może wykonywać działania destrukcyjne. Jeśli wartość to „false”, narzędzie może wykonywać tylko działania dodające. Wartość domyślna: true.idempotentHint: jeśli ma wartość „true”, wielokrotne wywoływanie narzędzia z tymi samymi argumentami nie będzie miało dodatkowego wpływu na jego środowisko. Wartość domyślna: fałsz.openWorldHint: jeśli wartość to „true”, narzędzie może wchodzić w interakcje z „otwartym światem” podmiotów zewnętrznych. Jeśli wartość jest fałszywa, narzędzie może wchodzić w interakcje tylko z podmiotami wewnętrznymi. Na przykład narzędzie do wyszukiwania w internecie byłoby narzędziem typu otwarty świat, a narzędzie do zapamiętywania nie.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌