ThinAirTelematics/thinair-geo

ThinAirTelematics/thinair-geo

от thinairtelematics
ThinAir Geo MCP сервер даёт AI-агентам геопространственную осведомлённость: геокодирование адресов и перекрёстков, маршрутизация для авто и грузовиков с 10 пресетами, трафик, погода, изохроны. Результаты с оценкой уверенности — полезен для логистики и fleet-приложений.

ThinAir Geo MCP Server

Give your AI agent complete geospatial awareness — geocode addresses and intersections, route across multiple modes (auto, truck, bicycle, pedestrian), check live traffic and weather, draw reachability polygons, and search places. Confidence-scored results so your agent knows when to ask again. 19 tools via MCP.

19 MCP tools · Geocoding, routing, traffic, weather, places · Built for fleet-grade workflows

npm version License: MIT smithery badge

> geocode "Bayport Terminal"
✓ matched: Bayport Terminal, Harris County, TX, USA
✓ confidence: 1.0  (method: search_venue)
✓ coordinates: 29.61345, -95.00292

Part of ThinAir

ThinAir Geo is the geospatial intelligence layer behind ThinAir fleet workflows: geocoding, routing context, address search, service-area visibility, map intelligence, traffic, weather, and reachability.

Hosted product vs this repository

  • geo.thinair.co is the hosted ThinAir product.
  • This repository is the thin public MCP package/pointer for developers and AI-agent clients.
  • Production use may require a ThinAir account, API key, OAuth connection, or hosted workspace.
Инструменты были проиндексированы:
batch_geocodeтолько чтениеидемпотентныйвнешний мир

Геокодирует несколько адресов в одном запросе со структурированными результатами по каждой записи. Используется для пакетных операций вместо повторяющихся одиночных вызовов геокодирования. Максимум 50 за пакет.

Параметры
  • addressesstring[]обязательный

    Массив адресов для геокодирования (максимум 50 в пакете)

directionsтолько чтениеидемпотентныйвнешний мир

Генерирует маршруты, рассчитывает время прибытия (ETA) и выдаёт пошаговые инструкции между точками. Информация о трафике в реальном времени обогащает ETA уже после построения маршрута и не меняет возвращаемый путь (path_influenced=false); корректировки для грузового трафика учитывают только замедления. Поддерживает автомобили, грузовики, мотоциклы, пешеходов и велосипеды, а также коммерческую маршрутизацию с учётом опасных грузов, габаритов и объезда платных дорог. Время прибытия возвращается в формате ISO 8601 со смещением часового пояса (в местном часовом поясе пункта назначения). При построении маршрутов для грузовиков используйте пресеты vehicle_profile (всего 10 — DRY_VAN_53, FLATBED_48/_40, STEP_DECK, TANKER, BOX_TRUCK_26, AUTO_CARRIER, SPRINTER_VAN, DOUBLE_TRAILER, OVERSIZE) — они задают высоту, вес и длину одним параметром.

Параметры
  • alternatesinteger

    Количество реальных альтернативных маршрутов для моторизованного транспорта, которое нужно запросить (0, 1 или 2). Положительные значения не требуют промежуточных точек via.

  • avoid_tollsboolean

    Избегает платных дорог, когда пользователь запрашивает маршрут без платных участков.

  • axle_countnumber

    Количество осей (по умолчанию 5 для полуприцепа)

  • axle_loadnumber

    Нагрузка на ось в метрических тоннах (например, 9,07 т = 20 000 фунтов на ось)

  • costingenum

    Режим транспорта (по умолчанию: auto). Использует 'truck' для коммерческих транспортных средств.

  • fromstringобязательный

    Origin: строка с адресом ('Houston, TX'), строка 'lat,lon' или объект { lat, lon }

  • hazmatboolean

    Установите значение true при перевозке опасных материалов, чтобы избежать запрещённых маршрутов.

  • include_elevationboolean

    Если true, включает доступные поля высоты маршрута. Высоту точки могут вернуть для начальной и конечной точки. Суммарный набор/сброс высоты возвращается, только когда доступна высота профиля маршрута.

  • include_geometryenum

    Управляет формой геометрии маршрута. "none" возвращает только Points начальной и конечной точек. "encoded" возвращает строку polyline6 в поле geometry верхнего уровня плюс Points начальной и конечной точек (примерно на 95% меньше сырого GeoJSON; декодируется через @mapbox/polyline с точностью 6). "full" отдаёт раскодированные координаты в виде LineString в geojson.features[0]. Если параметр не указан (по умолчанию), короткие маршруты используют "full", а длинные автоматически понижаются до "encoded" с предупреждением geometry_truncated.

  • include_trafficboolean

    Применяет обогащение ETA данными о трафике в реальном времени после построения маршрута (по умолчанию: true). Трафик не меняет возвращаемый маршрут; корректировки для грузовиков только замедляют движение.

  • include_weatherboolean

    Прикрепляет текущие условия, собранные вдоль коридора маршрута (по умолчанию: false). Аннотация только после маршрута: погода не меняет возвращаемый путь. Дополнительный запрос к upstream, только при явном включении.

  • toanyобязательный

    Пункт назначения: строка с адресом ('Houston, TX'), строка 'lat,lon' или объект { lat, lon }

  • top_speednumber

    Максимальная скорость в км/ч (по умолчанию 105 для грузовиков)

  • truck_heightnumber

    Высота грузовика в метрах (например, 4.11 м = 13'6"). Включает объезд мостов.

  • truck_lengthnumber

    Длина грузовика в метрах (например, 16.2m = 53')

  • truck_weightnumber

    Вес грузовика в метрических тоннах (например, 36.3t = 80 000 фунтов). Включает объезд дорог с ограничением по весу

  • truck_widthnumber

    Ширина грузовика в метрах (например, 2.6m = 8'6")

  • unitsenum

    Единицы измерения расстояния (по умолчанию: мили). Принимает 'km'/'mi' как алиасы.

  • use_ferrynumber

    Предпочтение паромов 0-1 (0=избегать, 1=разрешать)

  • use_highwaysnumber

    Предпочтение автомагистралей 0-1 (0=избегать, 1=предпочитать)

  • vehicle_profilestring

    Предустановленный профиль транспортного средства (10): DRY_VAN_53, FLATBED_48, FLATBED_40, STEP_DECK, TANKER, BOX_TRUCK_26, AUTO_CARRIER, SPRINTER_VAN, DOUBLE_TRAILER, OVERSIZE. Каждый одним параметром задаёт height/weight/length/axle_count для этого класса транспортного средства (например, DRY_VAN_53 = высота 4,11 м, 36,3 т, длина 22,25 м, 5 осей; OVERSIZE = высота 4,88 м, ширина 3,66 м, 45,36 т). Ответ дублирует применённые габариты в costing_options.truck. Любой отдельный truck_height/truck_weight/и т. д. переопределяет одно поле.

  • viaany[]

    Промежуточные остановки по порядку; такой же формат, как у from/to. До 48 путевых точек (всего не более 50 локаций).

distance_matrixтолько чтениеидемпотентныйвнешний мир

Вычисляет расстояния по дорогам и время в пути для каждой пары пункт отправления → пункт назначения. Конечные точки принимают адреса в свободной форме или строки 'lat,lon'; N × M ограничено 625 парами. Подходит для диспетчеризации автопарка, поиска ближайшего депо и массовых таблиц ETA. Длительность НЕ учитывает пробки в реальном времени или исторические данные - см. duration_basis; для ETA с поправкой на пробки между двумя конкретными точками используйте directions.

Параметры
  • costingenum

    Режим транспорта (по умолчанию auto)

  • destinationsstring[]обязательный

    Конечные точки назначения (1-25): адрес или 'lat,lon'

  • originsstring[]обязательный

    Точки отправления (1–25): адрес или 'lat,lon'

  • unitsenum

    Единицы измерения расстояния (по умолчанию километры)

exploreтолько чтениеидемпотентныйвнешний мир

BROWSING / DISCOVERY search: находит административные единицы (города, районы, боро, графства, регионы) рядом с местоположением. Используйте этот инструмент, когда пользователь исследует РЕГИОН, а не ищет конкретную категорию. Поддерживает фильтрацию по населению ('cities > 100k'), сортировку по значимости или расстоянию и фильтрацию по слоям (locality / neighbourhood / borough / county / region). Места, адреса и улицы здесь НЕ возвращаются. Для мест и категорий POI (заправки, еда, зарядные станции и т.д.) используйте search_places. Каждый результат содержит расстояние в единицах вызывающей стороны и направление от центра.

Параметры
  • boundary_countrystring

    Код страны ISO для ограничения результатов (alpha-2 или alpha-3)

  • latnumber

    Широта центральной точки

  • layersstring

    Административные уровни, разделённые запятыми: locality (по умолчанию), neighbourhood, borough, county, region. venue, address, street и неизвестные имена отклоняются со структурированной ошибкой invalid_layer - используйте search_places для venue. Политика радиуса для каждого уровня: locality/county/region по умолчанию 150 км и максимум 500 км; neighbourhood/borough по умолчанию 25 км и максимум 100 км; смешанный запрос берёт самые строгие значения по умолчанию и ограничения. При нескольких уровнях size делится поровну между ними (остаток достаётся первому), чтобы один плотный уровень не переполнил результат.

  • locationstring

    Адрес центральной точки или 'lat,lon'

  • lonnumber

    Долгота центральной точки

  • min_populationnumber

    Фильтр по минимальному населению, применяется на стороне JS к тем слоям, которые отдаются (locality, neighbourhood, borough, county, region).

  • radiusnumber | string

    Радиус поиска - например, radius: 30, units: 'miles'. Числа без единиц измерения считаются милями, если units не задан; километры задаются через units или суффикс km ('50km'); псевдонимы mi/km/imperial/metric. Значение с собственным суффиксом единицы ('50km', '30mi') тоже принимается для совместимости, и его суффикс имеет приоритет. Политика по слоям: locality/county/region по умолчанию 150 км (93.206 мили) и предел 500 км (~310 миль); neighbourhood/borough по умолчанию 25 км (15.534 мили) и предел 100 км (~62 мили); запрос, где указано несколько слоёв, берёт наиболее строгое значение по умолчанию и наиболее строгий предел среди них. Числовые значения выше 500 не проходят проверку входных данных до запуска инструмента; строковая форма выше максимума ('600km') или число в допустимом диапазоне, которое превышает предел, если прочитать его как мили (например, 400 или 400 с units 'miles' - 644 км), возвращает структурированную ошибку radius_exceeds_max с указанием применимого предела вместо результатов.

  • sizenumber

    Максимум результатов (по умолчанию: 5, максимум: 20)

  • sortenum

    Основа ранжирования. По умолчанию population: значимость (численность населения, если источник её содержит), а расстояние служит тайбрейкером. distance - сначала ближайшие; combined смешивает численность населения с затуханием по расстоянию. Применённая основа отражается в meta.ranking.

  • unitsenum

    Единицы для radius, заданного просто числом: мили (по умолчанию) или километры. Принимает псевдонимы mi, mile, imperial (мили) и km, kilometer, kilometre, kilometres, metric (километры), в любом регистре; в ответе отражается как miles|kilometers. Игнорируется, если radius уже содержит суффикс единицы; противоречивую пару отклоняет. Сам радиус не подставляет (значение по умолчанию зависит от слоя: 150 км для locality/county/region, 25 км для neighbourhood/borough; при смешении побеждает наименьший), но выбирает единицу отображения для meta.radius / meta.units в ответе.

geocodeтолько чтениеидемпотентныйвнешний мир

Преобразует адрес, название места, улицу или перекрёсток в координаты и структурированные результаты по местоположению. Используйте, когда на входе текст и вам нужны координаты перед построением маршрута, получением погоды или поиском. Поддерживает детализацию до уровня улиц и смещение по близости.

Параметры
  • boundary_countrystring

    Код страны ISO для уменьшения неоднозначности (alpha-2 или alpha-3)

  • focus_latnumber

    Смещает результаты к этой широте - используйте, когда пользователь говорит 'near me' или 'close to'

  • focus_lonnumber

    Смещает результаты вблизи этой долготы

  • layersstring

    Ограничивает: address, street, venue, locality. Использует layers=street, когда пользователь явно хочет сущность типа street. Использует layers=venue для стадионов, монументов, парков и именованных POI (например, 'Minute Maid Park', 'Lambeau Field', 'Statue of Liberty'): так обходит токенизацию address-parser, которая иначе сводит venue+state к центроиду региона штата

  • querystringобязательный

    Адрес, название места, улица, перекрёсток (например, 'Broadway and 42nd Street New York') или произвольный текст местоположения

  • sizenumber

    Количество кандидатов для возврата (по умолчанию 5, максимум 40)

geocode_structuredтолько чтениеидемпотентныйвнешний мир

Геокодирует по отдельным компонентам адреса (адрес, населённый пункт, регион, почтовый индекс, страна), а не по одной строке свободного текста. Используйте, когда входные данные уже разбиты на поля (формы, записи CRM, таблицы остановок) — пропускает разбор свободного текста, поэтому компоненты не могут быть неверно токенизированы. Требуется хотя бы один компонент. Поля для перекрёстка нет: для именованных перекрёстков используйте resolve_intersection или geocode.

Параметры
  • addressstring

    Адрес улицы - номер дома + название улицы (например, '1600 Pennsylvania Ave NW')

  • boundary_countrystring

    Ограничивает результаты этим кодом страны ISO - при фильтрации по границам перебивает country

  • countrystring

    Код страны ISO 3166-1 alpha-2/alpha-3 (полные названия тоже распознаются)

  • focus_latnumber

    Смещает результаты вблизи этой широты

  • focus_lonnumber

    Смещает результаты вблизи этой долготы

  • localitystring

    Название города / населённого пункта

  • postalcodestring

    Почтовый индекс / ZIP-код

  • regionstring

    Штат / провинция - полное название или аббревиатура (например, 'TX')

  • sizenumber

    Количество кандидатов для возврата (по умолчанию 5, максимум 40)

geofence_containsтолько чтениеидемпотентныйвнешний мир

Проверяет одну или несколько точек на вхождение внутрь полигона, который вы задаёте в формате GeoJSON (Polygon, MultiPolygon или Feature/FeatureCollection, оборачивающий один из них). Чистая геометрия по вашей собственной фигуре: не ищет по индексу мест, поэтому для поиска того, что находится рядом с точкой, используйте explore или search_places. Точки на границе считаются входящими. До 1000 точек на вызов, для полигона максимум 100 колец/частей и 1000 позиций на кольцо; входные данные большего размера отклоняются. Работает локально без внешних запросов, но всё равно считается одним тарифицируемым запросом, как и другие инструменты, поэтому объединяйте точки в один вызов, а не перебирайте в цикле. Выдаёт ошибку, а не возвращает false, если полигон структурно некорректен. Возвращает по одному булеву значению на точку, по порядку, плюс contained_count и point_count.

Параметры
  • pointsobject[]обязательный

    Точки для тестирования ({ lat, lon } каждая), до 1000

  • polygonany

    Геометрия GeoJSON Polygon / MultiPolygon, Feature, оборачивающий такую геометрию, или FeatureCollection.

isochroneтолько чтениеидемпотентныйвнешний мир

Вычисляет полигоны достижимости: область, достижимую из исходной точки в пределах заданных диапазонов времени в пути или расстояния поездки. Использует для покрытия сервисов, зоны выезда, проектирования территорий и вопросов в духе 'как далеко я доберусь за X минут'; вместо этого использует directions или distance_matrix для маршрута или расстояния между конкретными точками. Передаёт несколько диапазонов в одном вызове (contours_minutes:[10,20,30]), чтобы получить вложенные полигоны в одном ответе, до 4 диапазонов, а если ни одного не задано, по умолчанию берёт 15/30/60-минутные диапазоны вождения. location принимает строку адреса или 'lat,lon'. costing выбирает профиль передвижения (по умолчанию auto, либо truck/bicycle/pedestrian/motorcycle). Работает только на чтение и кешируется. Возвращает GeoJSON FeatureCollection с вложенными контурами полигонов, по одному на диапазон.

Параметры
  • contours_kmnumber[]

    Диапазоны расстояний в км. Максимум 4 диапазона на вызов (при превышении возвращает 400).

  • contours_minutesnumber[]

    Временные диапазоны в минутах, например [10, 20, 30]. Максимум 4 диапазона на вызов (при превышении возвращается 400).

  • costingenum

    Транспортный режим.

  • locationstringобязательный

    Адрес центральной точки или 'lat,lon'

  • truck_heightnumber

    Высота грузовика в метрах

  • truck_weightnumber

    Вес грузовика в метрических тоннах

issue_api_key

Выпускает новый API-ключ ta_geo_* для ThinAir GEO (геокодирование/маршрутизация) для вашего текущего аутентифицированного пользователя/тенанта и выполняет ротацию: любой предыдущий ключ продолжает работать в течение часа, затем перестаёт действовать. В ответе сообщается, сколько ключей и когда именно (previous_keys_retiring, previous_keys_retire_at). Используйте его для ротации или когда клиенту CLI/MCP нужен ключ, а до консоли не добраться. Новый ключ привязан к вашему текущему плану. Засчитывается как 1 запрос в суточной квоте. ВНИМАНИЕ: этот ключ работает ТОЛЬКО с ThinAir Geo. Он НЕ аутентифицируется в ThinAir Data, которое выдаёт собственный ключ ta_data_* через собственный одноимённый инструмент.

Параметры

Без параметров.

locateтолько чтениеидемпотентныйвнешний мир

Совмещает одну координату с дорожной сетью и возвращает контекст совпавшей дороги: название, класс дороги, ограничение скорости, направление, дистанцию совмещения, сторону улицы, легальность для грузовиков и флаги платной дороги, парома, шоссе, моста, тоннеля, а также часовой пояс IANA. Используется для ответа на вопрос «на какой дороге находится эта точка и каковы её правила?» для совмещения с дорожной сетью в автопарках и телематике, проверок границ геозон или обогащения GPS-фикса. Установите include_elevation для точки elevation_m на основе рельефа; grade_pct — это совместимое с будущими версиями поле, которое пока остаётся пустым. Возвращает matched:false, если рядом с точкой нет пригодной для движения дороги, и никогда не строит догадок.

Параметры
  • costingenum

    Область действия профиля путешественника для доступа/легальности на границе. По умолчанию 'auto'.

  • include_elevationboolean

    Включает высоту точек по желанию: заполняет elevation_m/elevation_ft из данных рельефа (null с предупреждением 'elevation_unavailable' только там, где рельеф не покрыт). grade_pct - поле, совместимое с будущими версиями, пока остаётся null (зарезервировано для дорожной сети с поддержкой высот).

  • latnumberобязательный

    широта.

  • lonnumberобязательный

    Долгота

  • unitsenum

    Система единиц для человекочитаемой сводки - определяется автоматически (US/UK → имперская), если её не указать.

map_matchтолько чтениеидемпотентныйвнешний мир

Map matching привязывает необработанные GPS-треки к дорожной сети. Подайте записанный трек (2–100 точек) и получите обратно точный по дорогам маршрут, который реально был пройден: согласованную геометрию, расстояние, время, названия дорог и уверенность сопоставления от 0 до 1. matched: true означает только то, что маршрут вернулся - ориентируйтесь на match_status: full, когда каждая входная точка была сопоставлена или интерполирована на дорожную сеть и сопоставление образует один непрерывный участок, none, когда ни одна точка не сопоставилась, иначе partial. coverage даёт счётчики по точкам, unmatched_ranges (индексы входных точек с отсчётом от 0, которые не сопоставились) и route_sections (если больше 1, геометрия, расстояние и время охватывают только первый участок - разделите трек в этом месте). match_status равен null, вместе с coverage.unavailable_reason, когда проверку по точкам не удалось завершить. Треки с редкими отчётами (последовательные фиксации дальше друг от друга, чем расстояние разрыва по умолчанию - например, транспортные средства автопарка, передающие данные каждые несколько минут на шоссе) могут разбиваться на несколько участков; увеличьте breakage_distance_m, чтобы они остались одним участком. Общее сопоставленное расстояние ограничено 200 км на вызов - разделяйте более длинные редкие треки по расстоянию, а не только по лимиту в 100 точек. Используйте для очистки треков автопарка, подсчёта пробега по GPS-логам и восстановления маршрутов по телеметрии. road_names берутся из точек манёвров маршрута, поэтому охватывают дороги, на которые маршрут поворачивает или с которых начинается - чтобы получить название каждого фактически пройденного сегмента, используйте trace_attributes. Для планирования маршрута между местами используйте directions.

Параметры
  • breakage_distance_minteger

    Максимальный разрыв в метрах между последовательными фиксациями, прежде чем трек разобьётся на отдельные участки (100-20000). Увеличивает значение для GPS с редкими отчётами, например для транспорта автопарков, который передаёт данные раз в несколько минут на трассе. Необязательный: если пропустить, используется значение по умолчанию.

  • costingenum

    Транспортный режим, с которым записана трассировка (по умолчанию: auto)

  • search_radiusnumber

    Радиус привязки в метрах вокруг каждой точки (1-100). Увеличивается при шумных данных GPS.

  • shapeobject[]обязательный

    Необработанная цепочка GPS-точек в порядке следования: от 2 до 100 точек вида { lat, lon, time? }. time - необязательные секунды epoch; метки времени повышают качество сопоставления на зашумлённых треках.

  • vehicle_profilestring

    Пресет грузовика (DRY_VAN_53, FLATBED_48, BOX_TRUCK_26, …): та же таблица из 10 профилей, что и в directions. Подразумевает costing=truck.

place_getтолько чтениеидемпотентный

Находит место по его стабильному идентификатору ThinAir (ta_place_… / ta_intersection_…), который возвращается в поле id результатов geocode, reverse_geocode, search_places или resolve_intersection. Идентификаторы детерминированы и остаются валидными при повторных выдачах, поэтому их безопасно хранить как избранное или внешние ключи. Возвращает каноническое имя, метку, слой и координаты. Неизвестные или устаревшие идентификаторы возвращают ошибку с рекомендацией выполнить поиск повторно.

Параметры
  • idstringобязательный

    Идентификатор места ThinAir ровно в том виде, в каком он возвращён в поле id предыдущего ответа - ta_place_<key> или ta_intersection_<key>

quotaтолько чтение

Проверяет текущее использование, оставшиеся лимиты, план и детализацию квоты для вызывающего. ВЫЗОВ БЕСПЛАТЕН: никогда не идёт в зачёт вашей квоты и никогда не блокируется ею. Используйте этот инструмент проактивно, когда пользователь спрашивает об использовании или когда кажется, что он близок к лимиту.

Параметры

Без параметров.

resolve_intersectionтолько чтениеидемпотентныйвнешний мир

Преобразует ИМЕНОВАННОЕ пересечение улиц (street1 × street2 в пределах населённого пункта/региона/страны) в одну наилучшую координату с показателем уверенности и безопасным для автопарка запасным вариантом. Уровень высокой уверенности обрабатывает перекрёстки автомагистралей в агломерациях США; именованные не-магистральные улицы определяются через запасной геокодер. Для улиц в свободной форме используйте geocode.

Параметры
  • countrystring

    Код страны ISO 3166-1 alpha-2/alpha-3

  • localitystring

    Город / населённый пункт, который ограничивает область поиска.

  • regionstring

    Штат / провинция - полное название или аббревиатура (например, 'TX')

  • street1stringобязательный

    Первая улица из пары пересекающихся улиц

  • street2stringобязательный

    Вторая (поперечная) улица пары

reverse_geocodeтолько чтениеидемпотентныйвнешний мир

Преобразует пару координат в ближайшие адреса, улицы, места или административные объекты, упорядоченные по близости. Используйте, когда отправная точка - GPS или позиция на карте; для перевода текста в координаты берите geocode, а для дорожного контекста точки (название, класс, ограничение скорости, легальность) - locate. Работает только на чтение, результаты кешируются. Вблизи полюсов (|lat| >= 85 градусов) индекс слишком разрежен для настоящего ближайшего совпадения, поэтому инструмент возвращает пустой результат, а не далёкую ошибочную догадку. Возвращает до size кандидатов (по умолчанию 5, максимум 40); layers ограничивает возвращаемый тип (address, street, venue, neighbourhood, locality, county, region, country, postalcode и другие). Каждый результат несёт оценку уверенности, слой, метку и координаты - та же структура, что и у geocode.

Параметры
  • latnumberобязательный

    широта.

  • layersstring

    Ограничивает списком через запятую: address, street, venue, neighbourhood, borough, locality, localadmin, county, macrocounty, region, macroregion, dependency, country, continent, postalcode, coarse. Административные слои определяются по родительской иерархии ближайшего проиндексированного объекта.

  • lonnumberобязательный

    Долгота

  • sizenumber

    Количество ближайших кандидатов (по умолчанию 5, максимум 40)

search_placesтолько чтениеидемпотентныйвнешний мир

Ищет POI конкретной КАТЕГОРИИ рядом с точкой: заправки, стоянки для грузовиков, рестораны, зарядные станции и т. д. Используйте его, когда пользователь имеет в виду определённый ТИП места (еда / здоровье / розница / топливо / жильё / ночная жизнь / транспорт / госучреждения / отдых). Для более широкого ПОИСКА (например, «города в радиусе 50 миль» или «площадки по населению») используйте explore.

Параметры
  • categoriesstring[]

    Структурированные категории: food, fuel, charging_station, education, health, entertainment, retail, accommodation, nightlife, transport, government, recreation. Обязательно указать categories или query - если передать только center (lat+lon/center) без них, запрос отклоняется.

  • centerobject

    Центральная точка для поиска поблизости (объект {lat, lon} или JSON-строка). Можно также передать lat/lon отдельными параметрами.

  • latnumber

    Широта центра (альтернатива объекту center)

  • layersstring

    Ограничивает: venue, address

  • limitnumber

    Максимум результатов (по умолчанию: 5, максимум: 20)

  • lonnumber

    Центральная долгота (альтернатива объекту center)

  • querystring

    Произвольный текстовый запрос места, например 'truck stop', 'restaurant', 'charging station'. Обязателен один из параметров query или categories: центр сам по себе (lat+lon/center) без любого из них отклоняется.

  • radiusnumber | string

    Радиус поиска - например, radius: 30, units: 'miles'. Числа без единиц измерения считаются милями, если не задан units; километры задаются через units или суффикс km ('5km'); псевдонимы mi/km/imperial/metric. Значение с собственным суффиксом единицы ('30mi', '5km') тоже принимается, и приоритет у его суффикса. По умолчанию 50 км (около 31 mi); максимум 50 км (до 31.068 mi). Предпочтительнее, чем radius_m. Числовые значения больше 50 не проходят проверку входных данных до запуска инструмента; строковая форма выше максимума ('60km') или число в допустимом диапазоне, которое превышает лимит, если прочитать его как мили (например, 40, или 40 с units 'miles' - 64 км), отклоняется с ошибкой радиуса вместо результатов.

  • radius_mnumber

    Радиус поиска в метрах (максимум 50000, то есть 50 км / ~31 ми; по умолчанию 50 км; 0 означает 'не указан', тогда используется значение по умолчанию). Допустимый псевдоним; предпочтительнее radius + units. Отправка обоих допустима, только если они согласованы. Не сочетается с units.

  • unitsenum

    Единицы измерения для числового radius без единицы: мили (по умолчанию) или километры. Принимает псевдонимы mi, mile, imperial (мили) и km, kilometer, kilometre, kilometres, metric (километры), в любом регистре; в ответе отображается как miles|kilometers. Игнорируется, если radius уже содержит суффикс единицы измерения; противоречивая пара отклоняется. Не работает вместе с одним только radius_m: radius_m всегда в метрах, поэтому такая пара отклоняется. Сам радиус не задаёт (применяется значение по умолчанию 50 км), но выбирает единицу отображения для units в ответе.

trace_attributesтолько чтениеидемпотентныйвнешний мир

Trace attributes возвращает атрибуты дороги и сети для сопоставленных треков. Подайте цепочку GPS-точек (2-100 точек) и получите названия дорог по сегментам, классы дорог, ограничения скорости, покрытие, флаги грузовых маршрутов и длины сегментов вдоль сопоставленного маршрута, плюс оценку уверенности матчера. Треки с редкими точками (соседние фиксации дальше друг от друга, чем расстояние разрыва по умолчанию, например машины автопарка, которые отмечаются раз в несколько минут на трассе) могут разбиться на несколько секций; увеличьте breakage_distance_m, чтобы сохранить их как один трек. Суммарная длина сопоставления ограничена 200 км на один вызов - разбивайте длинные разреженные треки по расстоянию, а не только по лимиту в 100 точек. Используйте, чтобы проверить, по каким дорогам реально проехала машина (соблюдение ограничений скорости, следование грузовым маршрутам, проверка покрытия). Если нужна только линия сопоставленного маршрута, используйте map_match.

Параметры
  • breakage_distance_minteger

    Максимальный разрыв в метрах между последовательными точками, после которого трек разбивается на отдельные участки (100-20000). Увеличьте для GPS с редкими отчётами, например для устройств автопарка, которые передают данные раз в несколько минут на трассе. Необязательный параметр: если пропустить, используется значение по умолчанию.

  • costingenum

    Транспортный режим, с которым записана трассировка (по умолчанию: auto)

  • search_radiusnumber

    Радиус привязки в метрах вокруг каждой точки (1-100). Увеличивается при шумных данных GPS.

  • shapeobject[]обязательный

    Необработанная цепочка GPS-точек в порядке следования: от 2 до 100 точек вида { lat, lon, time? }. time - необязательные секунды epoch; метки времени повышают качество сопоставления на зашумлённых треках.

  • vehicle_profilestring

    Пресет грузовика (DRY_VAN_53, FLATBED_48, BOX_TRUCK_26, …): та же таблица из 10 профилей, что и в directions. Подразумевает costing=truck.

trafficтолько чтениевнешний мир

Получает данные о дорожном движении, загруженности и скорости в реальном времени для указанного места. Используйте, когда данные о трафике нужны независимо от маршрутизации: для мониторинга коридоров, проверки загруженности районов или происшествий. ПОКРЫТИЕ: данные в реальном времени примерно для 30 крупных городских агломераций США; за пределами этих областей возвращает ухудшенные или пустые значения. Для координат в сельской местности добавьте к ответу оговорку (например, «здесь нет данных о трафике в реальном времени, показываем скорость свободного потока»).

Параметры
  • latnumberобязательный

    широта.

  • lonnumberобязательный

    Долгота

  • unitsenum

    Единицы скорости: определяются автоматически по местоположению (mph в США и Великобритании, km/h в остальных странах). При необходимости переопределяются. Принимает 'km'/'mi' как синонимы.

weatherтолько чтениевнешний мир

Получает текущую и прогнозируемую погоду для местоположения, включая предупреждения о неблагоприятных погодных условиях и поминутные осадки. Используется для оценки условий в пункте назначения, планирования поездок или оценки рисков на маршруте.

Параметры
  • forecast_daysnumber

    Количество дней прогноза (1-10, по умолчанию 3).

  • include_alertsboolean

    Включает оповещения и предупреждения об опасной погоде (по умолчанию: true)

  • include_forecastboolean

    Включает многодневный почасовой прогноз

  • include_minutelyboolean

    Включает поминутную информацию об осадках на ближайшие 60 минут.

  • latnumber

    широта.

  • locationstring

    Название места или адрес (будет геокодирован)

  • lonnumber

    Долгота

  • unitsenum

    Единицы измерения температуры/ветра (по умолчанию: имперские)

Выберите клиент, чтобы установить ThinAirTelematics/thinair-geo:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "thinairtelematics-thinair-geo-iseyiz3ftv": {
      "url": "https://geo.thinair.co/mcp",
      "type": "http"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "thinairtelematics-thinair-geo-iseyiz3ftv": {
      "url": "https://geo.thinair.co/mcp",
      "type": "http"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "thinairtelematics-thinair-geo-iseyiz3ftv": {
      "type": "http",
      "url": "https://geo.thinair.co/mcp"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"thinairtelematics-thinair-geo-iseyiz3ftv\",\"type\":\"http\",\"url\":\"https://geo.thinair.co/mcp\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "thinairtelematics-thinair-geo-iseyiz3ftv": {
      "url": "https://geo.thinair.co/mcp",
      "type": "http"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add --transport http thinairtelematics-thinair-geo-iseyiz3ftv https://geo.thinair.co/mcp

Либо через JSON-конфиг:

claude mcp add-json thinairtelematics-thinair-geo-iseyiz3ftv "{\"url\":\"https://geo.thinair.co/mcp\",\"type\":\"http\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add thinairtelematics-thinair-geo-iseyiz3ftv --url https://geo.thinair.co/mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.thinairtelematics-thinair-geo-iseyiz3ftv]
url = "https://geo.thinair.co/mcp"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите ThinAirTelematics/thinair-geo.

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "thinairtelematics-thinair-geo-iseyiz3ftv": {
      "url": "https://geo.thinair.co/mcp",
      "type": "http"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "thinairtelematics-thinair-geo-iseyiz3ftv": {
      "url": "https://geo.thinair.co/mcp",
      "type": "http",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например thinairtelematics-thinair-geo-iseyiz3ftv.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: thinairtelematics-thinair-geo-iseyiz3ftv
    type: http
    url: https://geo.thinair.co/mcp
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "thinairtelematics-thinair-geo-iseyiz3ftv": {
      "url": "https://geo.thinair.co/mcp",
      "type": "http"
    }
  }
}

Похожие MCP-сервера

matbel91765/gis-mcp-server

matbel91765/gis-mcp-server

от matbel91765

MCP-сервер для ИИ-агентов, добавляющий геоинструменты: геокодирование адресов, построение маршрутов и пространственный анализ. Работает с Nominatim, Pelias, OSRM. Полезен разработчикам, интегрирующ...

Python⭐ 4
ipfind/ipfind-mcp-server

ipfind/ipfind-mcp-server

от ipfind

Определяет страну, город и координаты по IP-адресу через сервис IP Find. Работает по API-ключу, подходит для геоаналитики и проверки трафика.

JavaScript⭐ 3
ip2location/mcp-ip2location-io

ip2location/mcp-ip2location-io

от ip2location

MCP-сервер для геолокации по IP-адресу. Возвращает страну, город, координаты, провайдера, информацию о прокси и безопасности. Полезен разработчикам и администраторам для анализа сетевого трафика и ...

Python⭐ 16
GeiserX/pumperly-mcp

GeiserX/pumperly-mcp

от geiserx

Pumperly-MCP — сервер, соединяющий LLM с Pumperly для запросов цен на топливо, поиска заправок, планирования маршрутов и геокодирования. Агенты могут находить станции, рассчитывать маршруты и получать курсы валют через единый JSON-RPC эндпоинт.

Go⭐ 3
cablate/mcp-google-map

cablate/mcp-google-map

от cablate

Ищет места на Google Maps, строит маршруты до 25 точек, показывает погоду, качество воздуха и снимки карт. 18 инструментов, больше, чем у Google Grounding.

TypeScript⭐ 473
discava/mcp-server

discava/mcp-server

от discava

MCP сервер для поиска локальных бизнесов через Discava API. AI-агенты находят компании по запросу, городу и стране, получают полную информацию и рейтинг. Интегрируется в ассистенты для доступа к бизнес-данным.

TypeScript⭐ 1
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин