SHIPXY-API-MCP
Shipxy MCP服务器 是一个完全符合MCP标准的开源基于位置的服务(LBS)解决方案,适用于海事场景,为开发人员和人工智能代理提供了一套全面的船舶和港口API和工具。它能够将实时船舶数据、路线规划、天气、潮汐等无缝集成到您的应用程序中。
🚀 简介
Shipxy MCP服务器 为您的应用程序、LLM和代理提供先进的海事数据和地理空间情报,包括:
- 船舶信息和跟踪: 实时船舶位置、静态信息、船队和区域查询。
- 港口和泊位数据: 全球港口搜索、泊位/锚地/ETA查询、港口停靠记录。
- 路线规划: 点对点和港到港路线规划。
- 天气和潮汐: 海洋天气、台风和潮汐站数据。
- 丰富的海事API: 船舶登记、详细信息、进场事件等。
所有API都遵循MCP协议,可以从任何符合MCP的客户端、LLM或代理平台调用。
🛠️ 主要特点
- 完全支持MCP协议: 与任何符合MCP标准的代理、LLM或平台无缝集成。
- 综合海事数据: 船舶、港口、航线、天气、潮汐等。
- 实时和历史数据: 实时船舶跟踪、航行历史和事件记录。
- 开源和可扩展: MIT授权,易于定制和扩展。
⚡ 快速开始
1.获取API密钥
在注册并创建服务器端API密钥 Shipxy开放平台.\ 注: 所有请求都需要API密钥。
2.安装
发布后从PyPI安装:
pipx install mcp-shipxy-api或者安装到现有的虚拟环境中:
pip install mcp-shipxy-api对于本地源代码开发:
pip install -r requirements.txt3.配置
创建一个 .env 项目根目录中的文件:
SHIPXY_API_KEY=your_api_key_here4.启动服务器
推荐:使用 mcp.json 配置文件,便于与MCP CLI和代理平台集成。例子:
{
"mcpServers": {
"shipxy-api-mcp": {
"command": "python",
"args": ["/path/to/your/server.py"],
"env": {
"SHIPXY_API_KEY": "your_api_key_here"
}
}
}
}CLI使用情况
该项目还提供了一个跨平台CLI。业务命令保持不变,直接映射到MCP工具名称,下划线转换为破折号:
python -m venv .venv
source .venv/bin/activate
pip install -e .
shipxy auth status
shipxy tools
shipxy schema search-ship
shipxy search-ship COSCO --max 5
shipxy get-single-ship 413211000
shipxy search-port Shanghai
shipxy plan-route-by-port CNSHA SGSIN
shipxy get-weather-by-point --lng 123.58414 --lat 27.37979Windows PowerShell激活:
.\.venv\Scripts\Activate.ps1对于LLM和代理调用,CLI默认为JSON输出。对于人类可读的输出:
shipxy search-ship COSCO --max 5 --format table
shipxy search-ship COSCO --max 5 --format pretty
shipxy search-ship COSCO --max 5 --format ndjson您还可以通过CLI启动MCP服务器:
shipxy mcp start
shipxy mcp start --transport sse --host 127.0.0.1 --port 8000代理和MCP客户端应通过 SHIPXY_API_KEY 环境变量:
{
"mcpServers": {
"shipxy": {
"command": "shipxy",
"args": ["mcp", "start"],
"env": {
"SHIPXY_API_KEY": "your_api_key_here"
}
}
}
}🧩 支持的API
| 工具名称 | 描述 |
|---|---|
| search_ship | 按MMSI、IMO、名称或呼号模糊搜索船舶 |
| get_single_ship | 通过MMSI查询单船实时信息 |
| get_many_ship | 按MMSI列表查询多艘船的实时信息 |
| get_fleet_ship | 查询舰队中的所有船只 |
| get_surrounding_ship | 查询给定船只10海里以内的船只 |
| get_area_ship | 查询指定区域内的船只 |
| get_ship_registics | 查询船舶注册/国家信息 |
| search_ship_particular | 按MMSI/IMO/呼号/名称查询船舶详细信息 |
| search_port | 按名称或代码模糊搜索端口 |
| get_berth_ships | 查询当前停泊在港口的船舶 |
| get_anchor_ships | 查询停泊在港口的船舶 |
| get_eta_ships | 查询预计到达港口的船只 |
| get_ship_track | 查询船舶的历史轨迹点 |
| search_ship_approch | 查询船对船进场事件 |
| get_port_of_call_by_ship | 查询船舶的港口调用记录 |
| get_port_of_call_by_port | 查询端口的端口调用记录 |
| plan_route_by_point | 规划两个坐标之间的路线 |
| plan_route_by_port | 规划两个端口之间的路线 |
| get_single_eta_precise | 获取船只的预计到达时间和航行信息 |
| get_weather_by_point | 按坐标查询海洋天气 |
| get_weather | 按区域查询海洋天气 |
| get_all_typhon | 列出最近的台风 |
| get_single_typhon | 查询特定台风的详细信息 |
| get_tides | 列出潮汐站 |
| get_tide_data | 查询站点的潮汐数据 |
🌍 应用场景
- 海运物流与船队管理
- 船舶跟踪与监控
- 港口运营和预计到达时间预测
- 智能航运和路线优化
- 海洋天气与安全应用
📦 项目结构
.
├── server.py # MCP server entry point
├── ship_service.py # Shipxy API integration and business logic
├── requirements.txt # Python dependencies
├── pyproject.toml # Project metadata
└── README.md # This file📄 许可证
麻省理工学院©shipxy-api-mcp贡献者
📞 联系
如需更多信息或业务咨询,请联系:
电话: 400-010-8558 / 010-8286 8599
