Narzędzie: resolve_names
Rozwiązuje listę zapytań o konkretne lokalizacje (nazwy charakterystycznych obiektów lub dokładne adresy) na kanoniczne identyfikatory miejsc w Mapach Google.
Wymagania dotyczące danych wejściowych (KRYTYCZNE):
queries(tablica obiektów – WYMAGANE): lista zapytań o lokalizację do rozwiązania. Możesz podać maksymalnie 20 zapytań.- Każdy obiekt zapytania musi zawierać:
text(string – WYMAGANY): zapytanie tekstowe reprezentujące konkretną nazwę miejsca lub adres do rozwiązania.- Przykłady:
'Googleplex, Mountain View, CA','1600 Amphitheatre Pkwy, Mountain View, CA','Eiffel Tower, Paris'
- Przykłady:
- Każdy obiekt zapytania musi zawierać:
location_bias(obiekt – OPCJONALNIE): użyj tego parametru, aby nadać priorytet wynikom w pobliżu określonego obszaru geograficznego.- Format:
{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
- Format:
region_code(ciąg znaków – OPCJONALNY): kod regionu CLDR w Unicode (dwuliterowy kod kraju, np.US,CA) użytkownika, który ma wpłynąć na wyniki.
Instrukcje dotyczące wywołania narzędzia:
- Szczegółowość (KRYTYCZNA): zapytania muszą zawierać konkretną nazwę miejsca lub adres. Ogólne wyszukiwania, takie jak
'restaurants', lub nazwy sieci, takie jak'Starbucks', nie są obsługiwane. - NIE wywołuj tego narzędzia, jeśli narzędzia podrzędne, których zamierzasz użyć, akceptują już bezpośrednio ciągi znaków z adresem lub nazwą miejsca.
Obsługa błędów (KRYTYCZNA):
- To narzędzie do przetwarzania wsadowego. Żądanie może zwrócić „mieszane wyniki” (np. niektóre zapytania zostaną rozwiązane, a inne nie).
- Lista wyjściowa
resultsjest w relacji 1:1 z indeksami wejściowymiqueries. Nieudane zapytanie spowoduje, że w odpowiednim indeksie na liścieresultspojawi się pusty komunikatResult(bez ustawionego parametruentity). - MUSISZ sprawdzić pole mapy
failed_requestsw odpowiedzi, aby określić, który konkretny indeks zapytania nie działa. Kluczfailed_requestsreprezentuje indeks nieudanego zapytania 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ład pokazuje, jak za pomocą curl wywołać narzędzie resolve_names MCP.
| Żą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_names", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schemat danych wejściowych
Wiadomość z prośbą o wywołanie funkcji ResolveNames.
ResolveNamesRequest
| Zapis JSON |
|---|
{ "queries": [ { object ( |
| Pola | |
|---|---|
queries[] |
Wymagane. Lista zapytań o lokalizację, które mają zostać rozwiązane. Możesz określić maksymalnie 20 zapytań. |
locationBias |
Opcjonalnie. Opcjonalny region, który ma wpływać na wyniki rozdzielczości. Jeśli zostanie określony, wyniki rozpoznawania będą bardziej ukierunkowane na jednostki znajdujące się bliżej tego regionu. Użycie symbolu Jeśli określono zarówno parametr |
regionCode |
Opcjonalnie. Opcjonalny kod regionu, który ma wpływać na wyniki rozpoznawania. Jeśli zostanie określony region, wyniki rozpoznawania będą bardziej ukierunkowane na jednostki znajdujące się w tym regionie lub w jego pobliżu. Powinien to być kod regionu CLDR. np. „PL” lub „US”. Użycie symbolu Jeśli określono zarówno parametr |
LocationQuery
| Zapis JSON |
|---|
{ "text": string } |
| Pola | |
|---|---|
text |
Wymagane. Zapytanie tekstowe, które ma zostać przekształcone w konkretny obiekt geoprzestrzenny w Mapach Google, np. miejsce lub adres. Im bardziej szczegółowe zapytanie, tym dokładniejsze rozwiązanie. Na przykład „San Francisco”, „Googleplex, Mountain View, CA”, „1600 Amphitheatre Parkway, Mountain View, CA” lub „Wieża Eiffla, Paryż”. Zapytania muszą zawierać konkretny adres lub nazwę miejsca. Ogólne lokalizacje, takie jak nazwa sieci (np.Starbucks) lub zapytanie wyszukiwania, np. „restauracje”, nie są obsługiwane. |
LocationBias
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze type. Typ odchylenia lokalizacji. type może mieć tylko jedną z tych wartości: |
|
viewport |
Widoczny obszar zdefiniowany przez ramkę ograniczającą. |
Widoczny obszar
| Zapis JSON |
|---|
{ "low": { object ( |
| Pola | |
|---|---|
low |
Wymagane. Najniższy punkt widocznego obszaru. |
high |
Wymagane. Najwyższy punkt obszaru widocznego. |
LatLng
| Zapis JSON |
|---|
{ "latitude": number, "longitude": number } |
| Pola | |
|---|---|
latitude |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie od –90,0 do +90,0. |
longitude |
Długość geograficzna w stopniach. Musi mieścić się w zakresie od –180,0 do +180,0. |
Schemat wyjściowy
Wiadomość z odpowiedzią dla ResolveNames.
ResolveNamesResponse
| Zapis JSON |
|---|
{ "results": [ { object ( |
| Pola | |
|---|---|
results[] |
Tylko dane wyjściowe. Lista rozpoznanych podmiotów z zapytań o lokalizację. Gwarantowane mapowanie 1:1 z indeksami żądania |
failedRequests |
Tylko dane wyjściowe. Mapa pokazująca częściowe niepowodzenia. Kluczem jest indeks nieudanego żądania w polu Obiekt zawierający listę par |
Wynik
| Zapis JSON |
|---|
{ "entity": { object ( |
| Pola | |
|---|---|
entity |
Tylko dane wyjściowe. Rozwiązana encja z zapytania o lokalizację. |
confidence |
Tylko dane wyjściowe. Poziom ufności rozwiązania. |
Jednostka
| Zapis JSON |
|---|
{ // Union field |
| Pola | |
|---|---|
Pole zbiorcze entity. Rozwiązany typ encji. 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ć zgodnymi odwołaniami do URI z dodatkowym ograniczeniem (w przypadku formatu tekstowego), że treść odwołania musi składać się wyłącznie ze znaków alfanumerycznych, znaków ucieczki zakodowanych w procentach i znaków z tego zbioru (bez zewnętrznych apostrofów): W pierwotnym projekcie |
value |
Zawiera serializację Protobuf typu opisanego przez type_url. Ciąg tekstowy zakodowany w formacie Base64. |
Poziom ufności
Poziom ufności rozwiązania.
| Wartości w polu enum | |
|---|---|
CONFIDENCE_UNSPECIFIED |
Wartość domyślna. Ta wartość nie jest używana. |
MEDIUM |
Średni poziom ufności oznacza, że rozwiązanie jest prawdopodobnie prawidłowe, ale mogą istnieć inne kandydatury. |
HIGH |
Wysoki poziom ufności oznacza, że rozdzielczość jest prawidłowa i odnosi się do konkretnego obiektu geoprzestrzennego (np. konkretnego miejsca). |
Adnotacje do narzędzi
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌