船舶实时追踪MCP服务

MarineTraffic MCP Server 是一个提供海上船舶实时追踪与查询服务的 MCP 服务器,支持按 MMSI/IMO 查询船舶位置、船舶详情、港口停靠记录及机器学习航次预测,适用于航运物流、港口管理和海事监控等场景。

  • by Cyreslab-AI
  • TypeScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 Cyreslab-AI/marinetraffic-mcp-server

使用说明

MarineTraffic MCP Server

A Model Context Protocol (MCP) server that provides access to MarineTraffic vessel tracking data.

Features

This MCP server provides the following capabilities:

Tools

  • get_vessel_position: Get real-time position of a vessel by MMSI or IMO number
  • get_vessel_details: Get detailed information about a vessel by MMSI or IMO number
  • search_vessels: Search for vessels by name, MMSI, IMO, or vessel type
  • get_vessels_in_area: Get vessels in a specified geographic area
  • get_port_calls: Get arrival/departure port call history for a vessel by MMSI or IMO number (data available for dates after 2015-01-16)
  • get_voyage_forecast: Get the machine-learning voyage forecast for a vessel by MMSI or IMO number — predicted next port and ETA, combining live AIS position with historical routing

Resources

  • vessel://{identifier}: Information about a vessel by MMSI or IMO number
  • vessels://area/{lat}/{lon}/{radius}: List of vessels in a specified geographic area
  • port://{port_id}: Recent arrival/departure port calls for a port, by MarineTraffic port ID or UN/LOCODE

Installation

Installing via Smithery

To install MarineTraffic Vessel Tracking Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @Cyreslab-AI/marinetraffic-mcp-server --client claude

Prerequisites

Setup

  1. Clone this repository or download the source code
  2. Install dependencies:
cd marinetraffic-server
npm install
  1. Build the server:
npm run build

Configuration

The server requires a MarineTraffic API key to function. You can provide this through the environment variable MARINETRAFFIC_API_KEY.

MCP Settings Configuration

To use this server with Claude, add it to your MCP settings configuration file:

For Claude Desktop App (macOS)

Edit ~/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": []
    }
  }
}

For Claude VSCode Extension

Edit ~/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": []
    }
  }
}

Usage Examples

Once the server is configured and running, you can use it with Claude to access vessel tracking data:

Get Vessel Position

<use_mcp_tool>
<server_name>marinetraffic</server_name>
<tool_name>get_vessel_position</tool_name>
<arguments>
{
  "identifier": "123456789"
}
</arguments>
</use_mcp_tool>

Search for Vessels

<use_mcp_tool>
<server_name>marinetraffic</server_name>
<tool_name>search_vessels</tool_name>
<arguments>
{
  "vessel_name": "MAERSK"
}
</arguments>
</use_mcp_tool>

Get Vessels in Area

<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 Vessel Resource

<access_mcp_resource>
<server_name>marinetraffic</server_name>
<uri>vessel://123456789</uri>
</access_mcp_resource>

Get Port Call History

<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>

Get Voyage Forecast (Predicted ETA)

<use_mcp_tool>
<server_name>marinetraffic</server_name>
<tool_name>get_voyage_forecast</tool_name>
<arguments>
{
  "identifier": "123456789"
}
</arguments>
</use_mcp_tool>

Access Port Activity Resource

<access_mcp_resource>
<server_name>marinetraffic</server_name>
<uri>port://22541</uri>
</access_mcp_resource>

API Key Limitations

The MarineTraffic API has usage limits based on your subscription plan. Be aware of these limits when using the server to avoid exceeding your quota.

get_port_calls and get_voyage_forecast call MarineTraffic's Single Vessel Port Calls and Single Vessel Voyage Forecast services (from the AIS Data API Reference). These are separate, individually-priced services in MarineTraffic's API catalog — your key needs those specific services enabled, not just basic vessel positions, or calls to these two tools will fail even with an otherwise-valid key. Example of detailed vessel information available through the API

API Key Limitations

The MarineTraffic API has usage limits based on your subscription plan. Be aware of these limits when using the server to avoid exceeding your quota.

Troubleshooting

  • API Key Errors: Ensure your MarineTraffic API key is valid and correctly set in the environment variables.
  • Rate Limiting: If you encounter rate limiting errors, the server will automatically retry with exponential backoff, but you may need to wait before making additional requests.
  • No Data Found: Some vessels may not have real-time tracking data available, especially smaller vessels or those in areas with limited AIS coverage.

License

This project is licensed under the ISC License.