vessel-api/vesselapi-mcp

vessel-api/vesselapi-mcp

от vessel-api
MCP-сервер для доступа к морским данным VesselAPI: поиск судов, портов, позиций, ETA, классификации, выбросов и сообщений NAVTEX. Полезен трейдерам, логистам и разработчикам в морской отрасли для и...

VesselAPI MCP Server

CI npm Node License: MIT

An MCP (Model Context Protocol) server that exposes maritime data from the VesselAPI to AI assistants like Claude Desktop, Cursor, Windsurf, and Claude Code.

Prerequisites

  1. Sign up at dashboard.vesselapi.com
  2. Create an API token in your dashboard
  3. Use the token as VESSELAPI_API_KEY in the configuration below

Resources: Documentation | API Explorer | Dashboard | Contact Support

Features

  • 19 tools covering vessels, ports, location search, and emissions
  • Vessel search, positions (single and batch), ETA, emissions, and casualties
  • Port search, details, port events (arrivals/departures), and port event search across all covered ports
  • Geographic vessel search (bounding box and radius)
  • Manual pagination to control API quota usage

Quick Start

No installation required. Configure your AI client with npx:

{
  "mcpServers": {
    "vesselapi": {
      "command": "npx",
      "args": ["-y", "vesselapi-mcp"],
      "env": {
        "VESSELAPI_API_KEY": "your-api-key"
      }
    }
  }
}
Инструменты были проиндексированы:
get_port

Получает подробную информацию о конкретном порте по UN/LOCODE.

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

    UN/LOCODE порта (например, NLRTM для Роттердама)

get_port_events

Получает события порта (прибытия/отправления) для конкретного порта. Охватывает только последние 2 часа, если не указан timeFrom.

Параметры
  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • timeFromstring

    Начало временного окна, RFC3339. Без него сервис возвращает данные только за последние 2 часа.

  • timeTostring

    Конец временного окна в формате RFC3339. По умолчанию - текущее время.

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

    UN/LOCODE порта

get_port_events_by_vessel

Получает события порта (прибытия/отправления) для конкретного судна. Охватывает только последние 2 часа, если не указан timeFrom. События хранятся 31 день.

Параметры
  • eventTypeenum

    Фильтр по типу события. Не указывайте, чтобы отобразить и прибытия, и отправления.

  • idTypeenum

    Тип идентификатора: imo (по умолчанию) или mmsi

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • sortOrderenum

    Сортировка по timestamp.

  • timeFromstring

    Начало временного окна, RFC3339. Без него сервис возвращает данные только за последние 2 часа.

  • timeTostring

    Конец временного окна в формате RFC3339. По умолчанию - текущее время.

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

    Идентификатор судна (по умолчанию номер IMO)

get_port_inbound

Получает суда, у которых порт назначения по собственным данным - этот порт, а заявленное ETA попадает в окно прибытия. ETA сообщают сами суда, а не прогноз.

Параметры
  • etaFromstring

    Начало окна прибытия ETA (RFC3339). Опустите, чтобы по умолчанию использовалось текущее время.

  • etaTostring

    Конец окна прибытия ETA (RFC3339). Если поле не указано, по умолчанию будет 72 часа вперед.

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • timeFromstring

    Использует только отчёты, полученные после этого времени, в формате RFC3339. По умолчанию: 24 часа назад.

  • timeTostring

    Использовать только отчёты, полученные до этого времени, в формате RFC3339. По умолчанию: текущее время.

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

    UN/LOCODE порта назначения (например, NLRTM для Роттердама)

get_vessel

Получает подробную информацию о конкретном судне.

Параметры
  • idTypeenum

    Тип идентификатора: imo (по умолчанию) или mmsi

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

    Идентификатор судна (по умолчанию номер IMO)

get_vessel_casualties

Получить записи о морских происшествиях для судна

Параметры
  • idTypeenum

    Тип идентификатора: imo (по умолчанию) или mmsi

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

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

    Идентификатор судна (по умолчанию номер IMO)

get_vessel_emissions

Получает годовые отчёты о выбросах EU MRV для судна (CO2, расход топлива). Данные есть только у судов, которые отчитываются в рамках EU MRV.

Параметры
  • idTypeenum

    Тип идентификатора: imo (по умолчанию) или mmsi

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

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

    Идентификатор судна (по умолчанию номер IMO)

get_vessel_eta

Возвращает самую свежую ETA, которую судно само указало в данных рейса AIS. Это заявленная ETA, а не прогноз.

Параметры
  • idTypeenum

    Тип идентификатора: imo (по умолчанию) или mmsi

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

    Идентификатор судна (по умолчанию номер IMO)

get_vessel_last_port_event

Получает самое последнее событие в порту (прибытие или отход) для судна.

Параметры
  • idTypeenum

    Тип идентификатора: imo (по умолчанию) или mmsi

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

    Идентификатор судна (по умолчанию номер IMO)

get_vessel_position

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

Параметры
  • idTypeenum

    Тип идентификатора: imo (по умолчанию) или mmsi

  • satboolean

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

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

    Идентификатор судна (по умолчанию номер IMO)

get_vessel_positions_batch

Получает позиции нескольких судов одновременно по номерам MMSI или IMO

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

    Список номеров MMSI или IMO через запятую

  • idTypeenum

    Тип идентификатора: imo (по умолчанию) или mmsi

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • timeFromstring

    Фильтр времени начала в формате RFC3339 (по умолчанию — 2 часа назад)

  • timeTostring

    Фильтр конечного времени в формате RFC3339 (по умолчанию — текущее время).

get_vessels_in_area

Находит суда с AIS-позицией внутри прямоугольной ограничивающей рамки в течение временного окна (по умолчанию последние 2 часа, максимум 4 часа). Сумма размаха по широте и размаха по долготе не может превышать 4 градуса.

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

    Широта северной границы.

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

    Широта южной границы.

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

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

    Долгота восточной границы

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

    Долгота западной границы

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • timeFromstring

    Начало временного окна, RFC3339. По умолчанию: 2 часа назад. Окно не должно превышать 4 часа.

  • timeTostring

    Конец временного окна, RFC3339. По умолчанию - текущее время. Окно не может превышать 4 часа.

get_vessels_in_radius

Находит суда с AIS-позицией в радиусе вокруг точки в течение временного окна (по умолчанию последние 2 часа, максимум 4 часа). Радиус задаётся в МЕТРАХ, а не в морских милях или километрах.

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

    Центральная широта

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

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

    Центральная долгота

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

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

    Радиус поиска в МЕТРАХ, максимум 100000 (100 км). Одна морская миля равна 1852 метрам.

  • timeFromstring

    Начало временного окна, RFC3339. По умолчанию: 2 часа назад. Окно не должно превышать 4 часа.

  • timeTostring

    Конец временного окна, RFC3339. По умолчанию - текущее время. Окно не может превышать 4 часа.

list_emissions

Выводит список годовых отчётов EU MRV о выбросах (суда, заходящие в порты ЕС и ЕЭЗ), с необязательным фильтром по отчётному году

Параметры
  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • periodnumber

    Фильтр по отчетному году (например, 2024)

list_port_events

Выводит список портовых событий (прибытия/отправления) по всем охваченным портам с необязательными фильтрами по времени, стране, порту, судну или типу события. Охватывает только последние 2 часа, если не задан timeFrom. События хранятся 31 день.

Параметры
  • countrystring

    Фильтрует по стране порта (без учёта регистра).

  • eventTypeenum

    Фильтр по типу события. Не указывайте, чтобы отобразить и прибытия, и отправления.

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • portNamestring

    Фильтрует по имени порта (полнотекстовый поиск)

  • timeFromstring

    Начало временного окна, RFC3339. Без него сервис возвращает данные только за последние 2 часа.

  • timeTostring

    Конец временного окна в формате RFC3339. По умолчанию - текущее время.

  • unlocodestring

    Фильтрует по UN/LOCODE порта.

  • vesselNamestring

    Фильтрует по названию судна (полнотекстовый поиск).

search_port_events_by_port

Ищет события порта по имени порта. Охватывает только последние 2 часа, если не указан timeFrom.

Параметры
  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

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

    Имя порта для поиска

  • timeFromstring

    Начало временного окна, RFC3339. Без него сервис возвращает данные только за последние 2 часа.

  • timeTostring

    Конец временного окна в формате RFC3339. По умолчанию - текущее время.

search_port_events_by_vessel

Ищет события в порту по названию судна. Охватывает только последние 2 часа, если не указан timeFrom.

Параметры
  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • timeFromstring

    Начало временного окна, RFC3339. Без него сервис возвращает данные только за последние 2 часа.

  • timeTostring

    Конец временного окна в формате RFC3339. По умолчанию - текущее время.

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

    Название судна для поиска

search_ports

Ищет порты по названию, стране, типу, размеру, региону, размеру гавани или назначению гавани

Параметры
  • countrystring

    Страна (код ISO)

  • harborSizestring

    Классификация гаваней по размеру.

  • harborUsestring

    Основное использование гавани.

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • namestring

    Имя порта (частичное совпадение)

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • portTypestring

    Классификация типов портов

  • regionstring

    Географический регион (частичное совпадение)

  • sizestring

    Классификация размеров портов.

search_vessels

Ищет суда. Используйте q, если у вас есть идентификатор, но вы не знаете, какого он типа; используйте конкретные фильтры, чтобы сузить флот.

Параметры
  • callsignstring

    Радиопозывной

  • enistring

    Номер ENI, который присваивается судам внутреннего плавания.

  • flagstring

    Государство флага (код страны ISO)

  • imostring

    Номер ИМО

  • limitinteger

    Результатов на странице: от 1 до 50. По умолчанию: 20.

  • mmsistring

    номер MMSI

  • namestring

    Название судна (частичное совпадение)

  • nextTokenstring

    Токен пагинации из предыдущего ответа.

  • qstring

    Производит поиск по произвольному тексту среди названия, IMO, MMSI, ENI и позывного. Используйте это, когда тип идентификатора неизвестен.

  • vesselTypestring

    Тип судна

  • yearBuiltMaxnumber

    Максимальный год постройки.

  • yearBuiltMinnumber

    Минимальный год постройки

2.0.1основная
2.0.0
1.3.0
1.2.0
1.1.0
1.0.1
1.0.0

Выберите клиент, чтобы установить vessel-api/vesselapi-mcp:

Любой клиент

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

{
  "mcpServers": {
    "vessel-api-vesselapi-mcp-lyqr1akqit": {
      "command": "npx",
      "args": [
        "-y",
        "vesselapi-mcp"
      ],
      "env": {
        "VESSELAPI_API_KEY": "your-api-key"
      }
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "vessel-api-vesselapi-mcp-lyqr1akqit": {
      "command": "npx",
      "args": [
        "-y",
        "vesselapi-mcp"
      ],
      "env": {
        "VESSELAPI_API_KEY": "your-api-key"
      }
    }
  }
}
VS Code

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

{
  "servers": {
    "vessel-api-vesselapi-mcp-lyqr1akqit": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "vesselapi-mcp"
      ],
      "env": {
        "VESSELAPI_API_KEY": "your-api-key"
      }
    }
  }
}

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

code --add-mcp "{\"name\":\"vessel-api-vesselapi-mcp-lyqr1akqit\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"vesselapi-mcp\"],\"env\":{\"VESSELAPI_API_KEY\":\"your-api-key\"}}"
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": {
    "vessel-api-vesselapi-mcp-lyqr1akqit": {
      "command": "npx",
      "args": [
        "-y",
        "vesselapi-mcp"
      ],
      "env": {
        "VESSELAPI_API_KEY": "your-api-key"
      }
    }
  }
}
Claude CodeClaude Code

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

claude mcp add vessel-api-vesselapi-mcp-lyqr1akqit --env VESSELAPI_API_KEY=your-api-key -- npx -y vesselapi-mcp

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

claude mcp add-json vessel-api-vesselapi-mcp-lyqr1akqit "{\"command\":\"npx\",\"args\":[\"-y\",\"vesselapi-mcp\"],\"env\":{\"VESSELAPI_API_KEY\":\"your-api-key\"}}"
CodexCodex

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

codex mcp add vessel-api-vesselapi-mcp-lyqr1akqit --env VESSELAPI_API_KEY=your-api-key -- npx -y vesselapi-mcp

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

[mcp_servers.vessel-api-vesselapi-mcp-lyqr1akqit]
command = "npx"
args = ["-y", "vesselapi-mcp"]

[mcp_servers.vessel-api-vesselapi-mcp-lyqr1akqit.env]
VESSELAPI_API_KEY = "your-api-key"
PerplexityPerplexity

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

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите vessel-api/vesselapi-mcp, а в поле команды запуска — строку ниже:
npx -y vesselapi-mcp

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "vessel-api-vesselapi-mcp-lyqr1akqit": {
      "command": "npx",
      "args": [
        "-y",
        "vesselapi-mcp"
      ],
      "env": {
        "VESSELAPI_API_KEY": "your-api-key"
      }
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "vessel-api-vesselapi-mcp-lyqr1akqit": {
      "command": "npx",
      "args": [
        "-y",
        "vesselapi-mcp"
      ],
      "env": {
        "VESSELAPI_API_KEY": "your-api-key"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например vessel-api-vesselapi-mcp-lyqr1akqit.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: vessel-api-vesselapi-mcp-lyqr1akqit
    command: npx
    args:
      - "-y"
      - "vesselapi-mcp"
    env:
      VESSELAPI_API_KEY: your-api-key
Zed

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

{
  "context_servers": {
    "vessel-api-vesselapi-mcp-lyqr1akqit": {
      "command": "npx",
      "args": [
        "-y",
        "vesselapi-mcp"
      ],
      "env": {
        "VESSELAPI_API_KEY": "your-api-key"
      }
    }
  }
}

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

tools-mcp/vessel-traffic-mcp

tools-mcp/vessel-traffic-mcp

от tools-mcp

MCP сервер для отслеживания судов и поиска морских данных: AIS-позиции, треки, порты и расписания рейсов. Полезен логистам и разработчикам AI-агентов. Поиск по имени, MMSI или IMO — с указанием ист...

JavaScript⭐ 7
skedgo/tripgo-mcp-server

skedgo/tripgo-mcp-server

от skedgo

MCP-сервер для интеграции с API TripGo: поиск транспортных локаций, отправлений и мультимодальное построение маршрутов. Полезен разработчикам ИИ-агентов для планирования поездок и анализа транспорта.

TypeScript⭐ 5
Pradumnasaraf/aviationstack-mcp

Pradumnasaraf/aviationstack-mcp

от pradumnasaraf

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

Python⭐ 26
forgemeshlabs/travel-mcp

forgemeshlabs/travel-mcp

от forgemeshlabs

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

TypeScript⭐ 1
lodordev/mcp-teslamate-fleet

lodordev/mcp-teslamate-fleet

от lodordev

MCP-сервер, объединяющий аналитику TeslaMate с Fleet API для живых данных и команд. 29 инструментов: статус, поездки, климат, зарядка, замки. Автоматизируйте контроль Tesla через MCP-клиенты.

Python⭐ 2
cobanov/teslamate-mcp

cobanov/teslamate-mcp

от cobanov

MCP сервер для подключения TeslaMate к AI-клиентам (Claude, Cursor). Через PostgreSQL даёт 20 инструментов аналитики и run_sql — от состояния батареи до эффективности поездок. Полезен владельцам Tesla для анализа данных.

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

Лука Никитин