| 优势 | 说明 |
|---|---|
| 标准化 | 统一的接口协议,一次接入,多处使用 |
| 实时性 | AI 可直接获取最新船舶动态、气象数据等 |
| 组合性 | 多个工具可链式调用,完成复杂业务场景 |
| 安全性 | API Key 权限控制,数据访问可追溯 |
| 免开发 | 无需编写代码,通过自然语言即可调用服务 |
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ 用户提问 │────▶│ AI 助手(LLM) │────▶│ MCP 服务决策 │
│ "查询青岛港 │ │ 理解意图,选择 │ │ 判断需要调用 │
│ 靠泊船舶" │ │ 合适的工具 │ │ 哪些工具 │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ 返回结果 │◀────│ 数据组装与展示 │◀────│ 船讯网 API │
│ "青岛港当前有 │ │ AI 整合多接口 │ │ 返回原始数据 │
│ 45艘靠泊船..." │ │ 数据,生成回复 │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘┌─────────────────────────────────────────────────────────────────────┐
│ 船讯网 MCP 服务能力全景 │
├──────────────┬──────────────────────────────────────────────────────┤
│ 船舶查询 │ 模糊搜索、单船/多船/船队位置、周边船舶、区域船舶 │
│ │ 船舶船籍、船舶档案 │
├──────────────┼──────────────────────────────────────────────────────┤
│ 港口查询 │ 港口信息、当前靠泊船、当前到锚船、预抵船舶 │
├──────────────┼──────────────────────────────────────────────────────┤
│ 历史行为 │ 船舶历史轨迹、船舶搭靠记录 │
├──────────────┼──────────────────────────────────────────────────────┤
│ 挂靠记录 │ 历史挂靠记录、挂靠指定港口、当前挂靠、港口挂靠历史 │
├──────────────┼──────────────────────────────────────────────────────┤
│ 航线规划 │ 点到点航线规划、港到港航线规划、ETA 查询 │
├──────────────┼──────────────────────────────────────────────────────┤
│ 气象天气 │ 单点海洋气象、海区气象、全球台风、港口潮汐 │
│ │ 新全球气象、历史气象记录 │
├──────────────┼──────────────────────────────────────────────────────┤
│ 海图应用 │ 船位光栅瓦片、港口位置瓦片 │
├──────────────┼──────────────────────────────────────────────────────┤
│ 海事数据 │ 航行警告查询 │
├──────────────┼──────────────────────────────────────────────────────┤
│ 监控推送 │ 船队管理、实时船位推送、到离港事件、区域监控 │
│ │ 动态 ETA 推送、AIS 信号消失、搭靠事件、航速提醒 │
└──────────────┴──────────────────────────────────────────────────────┘1F6D701272402D1E7D8D316CCE519123)┌────────────────────────────────────────────────────────────────────┐
│ ⚠️ 重要提示 │
│ │
│ 1. API Key 是调用服务的唯一凭证,请勿泄露给第三方 │
│ 2. 正式使用需联系销售开通更多权限 │
│ 3. 将 Key 发送给对接的销售人员即可
│
│ │
│ 销售商务邮箱:support@shipxy.com | 电话:400-010-8558 │
└────────────────────────────────────────────────────────────────────┘| 业务场景 | 需开通的权限 |
|---|---|
| 基础船舶追踪 | 船舶查询(默认开通) |
| 港口态势监控 | 港口查询 + 靠泊/锚地/预抵查询 |
| 航线规划 | 港到港/点到点航线规划 + ETA 查询 |
| 气象辅助决策 | 单点气象 + 海区气象 + 台风查询 |
| 船舶行为分析 | 历史轨迹 + 搭靠记录 + 挂靠记录 |
| 实时监控预警 | 监控船队 + 各类推送服务 |
| 配置项 | 说明 | 示例值 |
|---|---|---|
| 服务名称 | 自定义标识 | shipxy-mcp |
| 服务地址 | 船讯网 MCP 服务端点 | https://mcp.shipxy.com/sse |
| API Key | 从控制台获取的授权码 | 您的应用Key |
| 传输方式 | SSE 长连接 | sse |
{
"mcpServers": {
"shipxy": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-shipxy"],
"env": {
"SHIPXY_API_KEY": "您的应用Key"
}
}
}
}船讯网船舶数据SSEhttps://mcp.shipxy.com/sse您的应用Keynpm install -g @shipxy/mcp-cli{
"mcpServers": {
"shipxy": {
"command": "shipxy-mcp",
"args": ["--api-key", "您的应用Key"],
"transport": "stdio"
}
}
}请帮我查询 MMSI 为 413961925 的船舶当前位置船舶名称:皖鸿远369 (WANHONGYUAN369)
当前位置:纬度 32.192517°,经度 119.628093°
航速:6.2 节
航向:80.8°
目的地:泰州
预计到达时间:2025-03-31 02:09:00
航行状态:航行中查询青岛港的信息港口名称:青岛 (Qingdao)
五位码:CNQDG
时区:UTC+8
所属国家:中国| 工具名称 | 功能描述 | 关键输入参数 | 典型用途 |
|---|---|---|---|
search_ship | 船舶模糊搜索 | 关键字(船名/MMSI/IMO/呼号) | 根据名称查找船舶 MMSI |
get_single_ship | 单船位置查询 | MMSI | 获取一艘船的实时位置和状态 |
get_many_ship | 多船位置查询 | MMSI 列表(逗号分隔,最多100) | 批量查询船队位置 |
get_fleet_ship | 船队船位置查询 | 船队 ID | 查询控制台维护的船队 |
get_surrounding_ship | 周边船舶查询 | 中心船 MMSI | 获取10海里内所有船舶 |
get_area_ship | 区域船舶查询 | 多边形区域坐标 | 监控指定区域内所有船舶 |
get_ship_registry | 船舶船籍查询 | MMSI | 查询船舶所属国家/地区 |
search_ship_particular | 船舶档案查询 | MMSI/IMO/船名 | 获取船舶详细档案信息 |
| 工具名称 | 功能描述 | 关键输入参数 | 典型用途 |
|---|---|---|---|
search_port | 港口信息查询 | 关键字(港名/五位码) | 获取港口五位码等基础信息 |
get_berth_ships | 港口当前靠泊船 | 港口五位码 | 查询港口正在装卸货的船舶 |
get_anchor_ships | 港口当前到锚船 | 港口五位码 | 查询港口锚地等待的船舶 |
get_eta_ships | 港口预抵船舶查询 | 港口五位码 + 时间范围 | 查询即将到港的船舶列表 |
| 工具名称 | 功能描述 | 关键输入参数 | 典型用途 |
|---|---|---|---|
get_ship_track | 船舶历史轨迹 | MMSI + 起止时间 | 回放船舶航行轨迹 |
search_ship_approach | 船舶搭靠记录 | MMSI + 时间范围 | 查询船舶并靠行为 |
| 工具名称 | 功能描述 | 关键输入参数 | 典型用途 |
|---|---|---|---|
get_portof_call_by_ship | 船舶历史挂靠记录 | MMSI + 时间范围 | 查询船舶靠港历史 |
get_portof_call_by_ship_port | 挂靠指定港口记录 | MMSI + 港口五位码 | 查询船舶在特定港口的记录 |
get_ship_status | 船舶当前挂靠信息 | MMSI | 查询船舶当前所在港口 |
get_portof_call_by_port | 港口挂靠历史船舶 | 港口五位码 + 时间 | 查询某港口历史靠泊船舶 |
| 工具名称 | 功能描述 | 关键输入参数 | 典型用途 |
|---|---|---|---|
plan_route_by_point | 点到点航线规划 | 起点坐标 + 终点坐标/港口 | 规划两坐标间航线 |
plan_route_by_port | 港到港航线规划 | 出发港五位码 + 到达港五位码 | 规划两港口间航线 |
get_single_eta_precise | ETA 精确查询 | MMSI + 目的港 | 计算船舶预计到港时间 |
| 工具名称 | 功能描述 | 关键输入参数 | 典型用途 |
|---|---|---|---|
get_weather_by_point | 单点海洋气象 | 经纬度坐标 | 获取某位置实时气象 |
get_weather | 海区气象 | 区域类型 | 获取沿海海区气象预报 |
get_typhoon | 全球台风 | 无/台风名称 | 查询台风路径和预报 |
get_tide_cn | 国内港口潮汐 | 港口五位码 | 查询中国港口潮汐数据 |
get_tide_global | 全球港口潮汐 | 港口五位码 | 查询全球港口潮汐数据 |
get_weather_new_global | 新全球气象 | 经纬度 + 时间 | 获取实时+预报气象数据 |
get_weather_history | 历史气象记录 | 经纬度 + 历史时间 | 查询历史气象数据 |
| 工具名称 | 功能描述 | 关键输入参数 | 典型用途 |
|---|---|---|---|
get_nav_warning | 航行警告查询 | 区域/时间 | 查询海事局发布的航行警告 |
| 工具名称 | 功能描述 | 关键输入参数 | 典型用途 |
|---|---|---|---|
get_ship_raster_tile | 船位光栅瓦片 | 层级/坐标 | 海图叠加显示船舶位置 |
get_port_tile | 港口位置瓦片 | 层级/坐标 | 海图叠加显示港口标记 |
使用说明:以下场景中,左侧为 用户的自然语言输入(即您可以直接对 AI 说的话),右侧为 工具调用链条 和 输出结果示例。AI 会根据您的描述自动完成工具选择和调用。
帮我查一下"中远海运天秤座"这艘船现在在哪里,以及它周围10海里内有哪些船search_ship(keywords="中远海运天秤座")
→ get_single_ship(mmsi=477172700)
→ get_surrounding_ship(mmsi=477172700)帮我分析一下上海港现在的船舶态势,包括靠泊的、锚地等待的、以及未来24小时预抵的船舶情况search_port(keywords="上海")
→ get_berth_ships(port_code="CNSHG")
→ get_anchor_ships(port_code="CNSHG")
→ get_eta_ships(port_code="CNSHG", start_time=now, end_time=now+24h)帮我追踪 MMSI 477172700 这艘船从上个月离港以来的航行轨迹,
再看看它现在到上海还要多久,沿途天气怎么样get_single_ship(mmsi=477172700)
→ get_ship_track(mmsi=477172700, start_time=last_month, end_time=now)
→ get_single_eta_precise(mmsi=477172700, port_code="CNSHG")
→ get_weather_by_point(lng=current_lng, lat=current_lat)我想了解一下"COSCO SHIPPING LIBRA"这艘船的详细档案,
看看它适合运什么货,以及它最近一年去过哪些港口search_ship(keywords="COSCO SHIPPING LIBRA")
→ search_ship_particular(mmsi=477172700)
→ get_ship_registry(mmsi=477172700)
→ get_portof_call_by_ship(mmsi=477172700, start_time=one_year_ago, end_time=now)帮我规划一下从青岛到宁波的最优航线,再看看沿途现在的天气怎么样,
有没有台风需要避让search_port(keywords="青岛")
→ search_port(keywords="宁波")
→ plan_route_by_port(start_port_code="CNQDG", end_port_code="CNNBO")
→ get_weather_by_point(lng=midpoint_lng, lat=midpoint_lat)
→ get_typhoon()帮我监控长江口这个区域现在有多少船,有没有航行警告,
然后再查一下 MMSI 413842124 这艘船最近有没有和其他船靠在一起get_area_ship(region="长江口多边形坐标")
→ get_nav_warning(area="长江口")
→ search_ship_approach(mmsi=413842124, start_time=recent, end_time=now)帮我查一下宁波港最近7天的船舶作业情况,
看看平均在港时间是多少,未来有哪些大船要来,今天潮汐情况如何search_port(keywords="宁波")
→ get_portof_call_by_port(port_code="CNNBO", start_time=7days_ago, end_time=now)
→ get_berth_ships(port_code="CNNBO")
→ get_eta_ships(port_code="CNNBO", start_time=now, end_time=now+7days)
→ get_tide_cn(port_code="CNNBO")帮我查一下 MMSI 477172700 这艘船过去半年去过哪些港口,
有没有在什么奇怪的地方停过,或者和什么可疑的船接触过get_portof_call_by_ship(mmsi=477172700, start_time=6months_ago, end_time=now)
→ search_ship_approach(mmsi=477172700, start_time=6months_ago, end_time=now)
→ get_ship_track(mmsi=477172700, start_time=specific_period, end_time=now)我有一艘船现在在东海 (125°E, 28°N) 附近航行,
帮我查一下那里的天气怎么样,周边海区预报如何,
有没有台风,再到上海的潮汐情况get_weather_by_point(lng=125, lat=28)
→ get_weather(weather_type=1)
→ get_typhoon()
→ get_tide_cn(port_code="CNSHG")帮我创建一个叫"华东货轮船队"的船队,把 MMSI 413961925、
477172700、412304788 这三艘船加进去,
然后查一下这个船队现在所有船的位置manage_fleet(action="create", fleet_name="华东货轮船队")
→ manage_fleet(action="add_ships", fleet_id=new_fleet_id, mmsis=[413961925,477172700,412304788])
→ get_fleet_ship(fleet_id=new_fleet_id)| 错误码 | 含义 | 解决方法 |
|---|---|---|
| 14 | 来源域错误 | API Key 绑定了特定域名,请使用正确的来源域名 |
| 15 | 权限不足 | 该接口需要开通高级权限,请联系商务 |
| 16 | 请求参数错误 | 检查输入参数格式,如 MMSI 是否为9位数字 |
| 17 | 请 求频率超限 | 降低请求频率,或升级套餐 |
| 18 | 数据不存在 | 该船舶/港口暂无数据,请确认输入是否正确 |
search_ship 通过船名查找get_many_ship,比多次单船查询更高效[动作] + [对象] + [条件/范围] + [输出要求]
示例:
✅ "查询青岛港当前靠泊的集装箱船列表"
✅ "帮我规划从宁波到深圳的航线,并查看沿途天气"
✅ "分析一下 MMSI 477172700 近3个月的挂靠记录"
❌ "帮我查一下船" (太模糊)
❌ "天气怎么样" (缺少位置信息)| 类型编号 | 船舶类型 |
|---|---|
| 20-29 | 地效应船 |
| 30 | 捕捞 |
| 31 | 拖引 |
| 32 | 拖引并且船长>200m或船宽>25m |
| 33 | 疏浚或水下作业 |
| 34 | 潜水作业 |
| 35 | 参与军事行动 |
| 36 | 帆船航行 |
| 37 | 娱乐船 |
| 40-49 | 高速船 |
| 50 | 引航船 |
| 51 | 搜救船 |
完整类型列表请参考 API 接口文档附录 船舶类型对照表
| 状态码 | 说明 |
|---|---|
| 0 | 返回成功 |
| 1 | 返回失败 |
| 3 | 操作对象不存在(船舶、船队等) |
| 6 | Key 过期 |
| 7 | key 被锁定 |
| 9 | key 不存在 |
| 12 | 请求数据量过大,拒绝执行 |
| 13 | 服务器繁忙 |
| 14 | 请求来自非绑定域名 |
完整API返回码请参考 API 接口文档附录 服务返回码说明
| 类型 | 联系方式 |
|---|---|
| 商务咨询 | support@shipxy.com / 400-010-8558 |
| 技术支持 | service@shipxy.com |
| 官网 | www.shipxy.com |
| API 控制台 | 登录船讯网官网后进入"API"模块 |
文档结束
如有疑问,请联系船讯网技术支持团队:service@shipxy.com