VesselAPI MCP Server
Сервер MCP (Model Context Protocol), предоставляющий AI-ассистентам, таким как Claude Desktop, Cursor, Windsurf и Claude Code, доступ к морским данным из VesselAPI.
Требования
-
Зарегистрируйтесь на dashboard.vesselapi.com
-
Создайте API-токен в личном кабинете
-
Укажите токен в качестве значения
VESSELAPI_API_KEYв конфигурации ниже
Ресурсы: Документация | Обозреватель API | Личный кабинет | Служба поддержки
Возможности
-
19 инструментов для работы с судами, портами, поиском по местоположению и данными о выбросах
-
Поиск судов, получение их координат (по одному или пакетно), ETA, данных о выбросах и авариях
-
Поиск портов, получение информации о них и сведений о портовых событиях (прибытиях и отправлениях), а также поиск событий во всех охваченных портах
-
Географический поиск судов по ограничивающему прямоугольнику или радиусу
-
Ручная пагинация для контроля расхода квоты API
Быстрый запуск
Установка не требуется. Настройте AI-клиент, используя npx:
{
"mcpServers": {
"vesselapi": {
"command": "npx",
"args": ["-y", "vesselapi-mcp"],
"env": {
"VESSELAPI_API_KEY": "your-api-key"
}
}
}
}
Настройка
Добавьте приведённый выше JSON в файл конфигурации клиента:
| Клиент | Файл конфигурации |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows) |
| Cursor | .cursor/mcp.json или ~/.cursor/mcp.json |
| Claude Code | Команда claude mcp add: она создаёт файл .mcp.json в проекте или ~/.claude.json для пользовательской области действия |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
Инструменты
Инструменты для работы с судами
| Инструмент | Описание |
|---|---|
search_vessels | Поиск судов по названию, IMO, MMSI, флагу, типу, позывному или году постройки |
get_vessel | Получение подробной информации о судне |
get_vessel_position | Получение последней сохранённой позиции судна (широта и долгота, скорость, курс, метка времени); данные могут быть устаревшими на несколько часов или дней |
get_vessel_eta | Получение последнего заявленного судном ETA — это указанное значение, а не прогноз |
get_vessel_emissions | Получение отчётов EU MRV о выбросах (CO2, расход топлива) |
get_vessel_casualties | Получение сведений об авариях на море |
get_vessel_positions_batch | Получение позиций нескольких судов за один запрос (с возможностью указать временной интервал) |
Инструменты для работы с портами
| Инструмент | Описание |
|---|---|
search_ports | Поиск портов по названию, стране, типу, размеру, региону, размеру гавани или её назначению |
get_port | Получение информации о порте по коду UN/LOCODE |
get_port_inbound | Получение списка судов, указавших порт в качестве пункта назначения, с учётом временного интервала ETA |
get_port_events | Получение сведений о прибытиях и отправлениях в порту (за последние 2 часа, если не задан timeFrom) |
get_port_events_by_vessel | Получение сведений о портовых событиях для судна (за последние 2 часа, если не задан timeFrom) |
list_port_events | Просмотр портовых событий во всех охваченных портах с фильтрами по времени, стране, порту, судну или типу события |
search_port_events_by_port | Поиск портовых событий по названию порта |
search_port_events_by_vessel | Поиск портовых событий по названию судна |
get_vessel_last_port_event | Получение последнего портового события для судна |
Инструменты для работы с выбросами
| Инструмент | Описание |
|---|---|
list_emissions | Просмотр отчётов EU MRV о выбросах с возможностью фильтрации по отчётному году |
Инструменты для работы с местоположением
| Инструмент | Описание |
|---|---|
get_vessels_in_area | Поиск судов с позицией AIS в пределах ограничивающего прямоугольника (по умолчанию за последние 2 часа, максимум — за 4 часа) |
get_vessels_in_radius | Поиск судов с позицией AIS в заданном радиусе от точки (по умолчанию за последние 2 часа, максимум — за 4 часа) |
Пагинация
Все конечные точки для получения списков поддерживают параметры limit и nextToken для ручной пагинации. Если результатов больше, чем помещается на одной странице, в ответе будет указан nextToken. Передайте его в следующем запросе, чтобы получить следующую страницу.
Разработка
git clone https://github.com/vessel-api/vesselapi-mcp.git
cd vesselapi-mcp
npm install
npm run build
npm run build # Сборка сервера
npm run typecheck # Проверка типов без создания выходных файлов
npm run clean # Удаление артефактов сборки
Тестирование с помощью MCP Inspector
VESSELAPI_API_KEY=your-key npx @modelcontextprotocol/inspector node dist/index.js
Источники данных и указание авторства
Данные о выбросах и авариях: © Европейский союз. Источник: Европейское агентство морской безопасности
(EMSA): THETIS-MRV (EU MRV, Регламент (EU) 2015/757) и Европейская информационная платформа по морским авариям
(EMCIP). Данные повторно используются в соответствии с уведомлением Европейской комиссии об их повторном использовании
(Решение Комиссии 2011/833/EU), которое разрешает использовать их в коммерческих и
некоммерческих целях при условии указания источника. Данные могут преобразовываться и
объединяться с другими данными; EMSA не одобряет этот сервис.
Лицензия
MIT