marinetraffic-mcp-server
The MarineTraffic MCP Server is a Model Context Protocol server that provides access to MarineTraffic vessel tracking data. It offers features such as real-time vessel positions, detailed vessel information, and searching capabilities. It requires a MarineTraffic API key and is designed for use with platforms like Claude Desktop.
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
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
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
- Node.js 18 or higher
- A MarineTraffic API key (available from MarineTraffic API Services)
Setup
- Clone this repository or download the source code
- Install dependencies:
cd marinetraffic-server
npm install
- 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>
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. 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.