关于 MarineTraffic MCP Server
MarineTraffic MCP Server 向客户端提供 MarineTraffic 的船舶追踪和港口活动数据,适用于查询船位、船舶信息、区域船只、挂港记录或航程预测。
主要功能
- 01实时船位与船舶详情
- 02按船名、标识或类型搜索
- 03查找指定区域内的船舶
- 04获取挂港历史记录
- 05预测下一港口和预计到达时间
适用场景
- 01查看船舶当前位置
- 02搜索海域内的船舶
- 03查看船舶挂港记录
- 04估算船舶下一港口及到达时间
MCP 相关
提供船舶查询、区域搜索、挂港记录和航程预测等 MCP 工具,以及船舶、区域和港口资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MarineTraffic MCP 服务
一个模型上下文协议(MCP)服务,可访问 MarineTraffic 船舶追踪数据。
功能
此 MCP 服务提供以下功能:
工具
- get_vessel_position:通过 MMSI 或 IMO 编号获取船舶实时位置
- get_vessel_details:通过 MMSI 或 IMO 编号获取船舶详细信息
- search_vessels:按名称、MMSI、IMO 或船舶类型搜索船舶
- get_vessels_in_area:获取指定地理区域内的船舶
- get_port_calls:通过 MMSI 或 IMO 编号获取船舶的到港/离港记录(可查询 2015-01-16 之后日期的数据)
- get_voyage_forecast:通过 MMSI 或 IMO 编号获取船舶的机器学习航程预测——预测下一个港口和预计到达时间(ETA),结合实时 AIS 位置与历史航线
资源
- vessel://{identifier}:通过 MMSI 或 IMO 编号查询船舶信息
- vessels://area/{lat}/{lon}/{radius}:列出指定地理区域内的船舶
- port://{port_id}:通过 MarineTraffic 港口 ID 或 UN/LOCODE 查询港口近期到港/离港记录
安装
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 MarineTraffic Vessel Tracking Server:
npx -y @smithery/cli install @Cyreslab-AI/marinetraffic-mcp-server --client claude
前置条件
- Node.js 18 或更高版本
- MarineTraffic API 密钥(可从 MarineTraffic API Services 获取)
设置
- 克隆此仓库或下载源代码
- 安装依赖项:
cd marinetraffic-server
npm install
- 构建服务:
npm run build
配置
服务需要 MarineTraffic API 密钥才能运行。你可以通过环境变量 MARINETRAFFIC_API_KEY 提供该密钥。
MCP 设置配置
要将此服务与 Claude 搭配使用,请将其添加到 MCP 设置配置文件中:
Claude Desktop App(macOS)
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"marinetraffic": {
"command": "node",
"args": ["/path/to/marinetraffic-server/build/index.js"],
"env": {
"MARINETRAFFIC_API_KEY": "your-api-key-here"
},
"disabled": false,
"autoApprove": []
}
}
}
Claude VSCode Extension
编辑 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"marinetraffic": {
"command": "node",
"args": ["/path/to/marinetraffic-server/build/index.js"],
"env": {
"MARINETRAFFIC_API_KEY": "your-api-key-here"
},
"disabled": false,
"autoApprove": []
}
}
}
使用示例
配置并运行服务后,你可以在 Claude 中使用它来访问船舶追踪数据:
获取船舶位置
<use_mcp_tool>
<server_name>marinetraffic</server_name>
<tool_name>get_vessel_position</tool_name>
<arguments>
{
"identifier": "123456789"
}
</arguments>
</use_mcp_tool>
搜索船舶
<use_mcp_tool>
<server_name>marinetraffic</server_name>
<tool_name>search_vessels</tool_name>
<arguments>
{
"vessel_name": "MAERSK"
}
</arguments>
</use_mcp_tool>
获取区域内的船舶
<use_mcp_tool>
<server_name>marinetraffic</server_name>
<tool_name>get_vessels_in_area</tool_name>
<arguments>
{
"latitude": 37.8199,
"longitude": -122.4783,
"radius": 10
}
</arguments>
</use_mcp_tool>
访问船舶资源
<access_mcp_resource>
<server_name>marinetraffic</server_name>
<uri>vessel://123456789</uri>
</access_mcp_resource>
获取港口停靠历史记录
<use_mcp_tool>
<server_name>marinetraffic</server_name>
<tool_name>get_port_calls</tool_name>
<arguments>
{
"identifier": "123456789",
"movetype": "arrival",
"extended": true
}
</arguments>
</use_mcp_tool>
获取航程预测(预计到达时间)
<use_mcp_tool>
<server_name>marinetraffic</server_name>
<tool_name>get_voyage_forecast</tool_name>
<arguments>
{
"identifier": "123456789"
}
</arguments>
</use_mcp_tool>
访问港口活动资源
<access_mcp_resource>
<server_name>marinetraffic</server_name>
<uri>port://22541</uri>
</access_mcp_resource>
API 密钥限制
MarineTraffic API 的使用量受订阅方案限制。使用此服务时请注意这些限制,避免超出配额。
get_port_calls 和 get_voyage_forecast 会调用 MarineTraffic 的 Single Vessel Port Calls 和 Single Vessel Voyage Forecast 服务(参见 AIS Data API Reference)。这两项服务在 MarineTraffic 的 API catalog 中单独列出并分别计费——你的密钥需要启用这两项特定服务,而不仅仅是基本船舶位置服务,否则即使密钥本身有效,这两个工具的调用也会失败。
API 提供的船舶详细信息示例
API 密钥限制
MarineTraffic API 的使用量受订阅方案限制。使用此服务时请注意这些限制,避免超出配额。
故障排除
- API 密钥错误:请确保 MarineTraffic API 密钥有效,并已正确设置为环境变量。
- 速率限制:如果遇到速率限制错误,服务端会自动采用指数退避策略重试,但你可能需要等待一段时间才能发送更多请求。
- 未找到数据:某些船只可能没有实时跟踪数据,尤其是较小的船只或位于 AIS 覆盖有限区域的船只。
许可证
本项目采用 ISC 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。