关于 Vesselapi Mcp Server
VesselAPI MCP Server 通过 VesselAPI 向 AI 助手开放船舶、港口、位置和排放数据。适用于需要搜索船舶或港口,以及查询位置、港口活动和相关记录的用户,需使用 VesselAPI 令牌。
主要功能
- 01按标识和属性搜索船舶
- 02查询位置、预计到达时间和排放
- 03搜索港口及港口事件
- 04按地理区域查找船舶
- 05手动分页结果
适用场景
- 01查看船舶位置和申报的预计到达时间
- 02检查港口的抵港和离港记录
- 03查找指定区域内的船舶
MCP 相关
提供查询 VesselAPI 船舶、港口、位置和排放数据的 MCP 工具。客户端使用 `VESSELAPI_API_KEY` 令牌进行身份验证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
19收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| q | string | 否 | 跨名称、IMO、MMSI、ENI 和呼号进行全文搜索。标识符类型未知时使用此参数。 |
| name | string | 否 | 船名(部分匹配) |
| imo | string | 否 | IMO 编号 |
| mmsi | string | 否 | MMSI 编号 |
| eni | string | 否 | ENI 编号,用于内河船舶 |
| flag | string | 否 | 船旗国(ISO 国家代码) |
| vesselType | string | 否 | 船舶类型 |
| callsign | string | 否 | 无线电呼号 |
| yearBuiltMin | number | 否 | 建造年份下限 |
| yearBuiltMax | number | 否 | 建造年份上限 |
| limit | integer | 否 | 每页结果数,范围为 1 到 50。默认值为 20。 |
| nextToken | string | 否 | 上一条响应中的分页令牌 |
详细介绍
VesselAPI MCP 服务
这是一个 MCP(模型上下文协议) 服务,可将 VesselAPI 的海事数据提供给 Claude Desktop、Cursor、Windsurf 和 Claude Code 等 AI 助手。
前置条件
- 在 dashboard.vesselapi.com 注册
- 在控制面板中创建 API 令牌
- 在下方配置中将该令牌用作
VESSELAPI_API_KEY
资源:文档 | API Explorer | 控制面板 | 联系支持
功能
- 19 个工具,涵盖船舶、港口、位置搜索和排放数据
- 船舶搜索、位置(单个和批量)、预计到达时间、排放数据和海事事故
- 港口搜索、详情、港口事件(到港/离港),以及跨所有覆盖港口的港口事件搜索
- 地理范围内的船舶搜索(边界框和半径)
- 手动分页,以控制 API 配额用量
快速开始
无需安装。使用 npx 配置你的 AI 客户端:
{
"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 # Build the server
npm run typecheck # Type-check without emitting
npm run clean # Remove build artifacts
使用 MCP Inspector 测试
VESSELAPI_API_KEY=your-key npx @modelcontextprotocol/inspector node dist/index.js
数据来源与署名
排放和事故数据:© European Union。来源:European Maritime Safety Agency (EMSA):THETIS-MRV(EU MRV,Regulation (EU) 2015/757)和 European Marine Casualty Information Platform (EMCIP)。根据 European Commission reuse notice (Commission Decision 2011/833/EU) 重新使用,该通知允许在注明来源的情况下将数据用于商业和 非商业用途。数据可能经过转换和合并;EMSA 不为本服务背书。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。