io.github.vessel-api/vesselapi-mcp
MCP server for the VesselAPI: maritime vessel tracking, port events and emissions
Que pouvez-vous faire avec io.github.vessel-api/vesselapi-mcp ?
- 19 tools covering vessels, ports, location search, and emissions
- Vessel search, positions (single and batch), ETA, emissions, and casualties
- Port search, details, port events (arrivals/departures), and port event search across all covered ports
- Geographic vessel search (bounding box and radius)
- Manual pagination to control API quota usage
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
vesselapi-mcpclaude mcp add vesselapi-mcp -- npx -y vesselapi-mcp@2.2.1
{
"mcpServers": {
"vesselapi-mcp": {
"command": "npx",
"args": [
"-y",
"vesselapi-mcp@2.2.1"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
VesselAPI MCP Server
An MCP (Model Context Protocol) server that exposes maritime data from the VesselAPI to AI assistants like Claude Desktop, Cursor, Windsurf, and Claude Code.
Prerequisites
- Sign up at dashboard.vesselapi.com
- Create an API token in your dashboard
- Use the token as
VESSELAPI_API_KEYin the configuration below
Resources: Documentation | API Explorer | Dashboard | Contact Support
Features
- 19 tools covering vessels, ports, location search, and emissions
- Vessel search, positions (single and batch), ETA, emissions, and casualties
- Port search, details, port events (arrivals/departures), and port event search across all covered ports
- Geographic vessel search (bounding box and radius)
- Manual pagination to control API quota usage
Quick Start
No installation required. Configure your AI client with npx:
{
"mcpServers": {
"vesselapi": {
"command": "npx",
"args": ["-y", "vesselapi-mcp"],
"env": {
"VESSELAPI_API_KEY": "your-api-key"
}
}
}
}
Configuration
Add the JSON above to the config file for your client:
| Client | Config file |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) |
| Cursor | .cursor/mcp.json or ~/.cursor/mcp.json |
| Claude Code | claude mcp add, which writes .mcp.json in the project or ~/.claude.json for user scope |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
Tools
Vessel Tools
| Tool | Description |
|---|---|
search_vessels | Search vessels by name, IMO, MMSI, flag, type, callsign, or year built |
get_vessel | Get detailed vessel information |
get_vessel_position | Get the latest stored vessel position (lat/lon, speed, heading, timestamp); it may be hours or days old |
get_vessel_eta | Get the ETA the vessel last reported (declared, not predicted) |
get_vessel_emissions | Get EU MRV emissions reports (CO2, fuel consumption) |
get_vessel_casualties | Get marine casualty records |
get_vessel_positions_batch | Get positions for multiple vessels at once (with optional time range) |
Port Tools
| Tool | Description |
|---|---|
search_ports | Search ports by name, country, type, size, region, harbor size, or harbor use |
get_port | Get port details by UN/LOCODE |
get_port_inbound | Get vessels reporting a port as their destination, within an ETA window |
get_port_events | Get arrivals/departures for a port (last 2 hours unless timeFrom is given) |
get_port_events_by_vessel | Get port events for a vessel (last 2 hours unless timeFrom is given) |
list_port_events | List port events across all covered ports, with filters for time, country, port, vessel, or event type |
search_port_events_by_port | Search port events by port name |
search_port_events_by_vessel | Search port events by vessel name |
get_vessel_last_port_event | Get the most recent port event for a vessel |
Emissions Tools
| Tool | Description |
|---|---|
list_emissions | List EU MRV emissions reports, with an optional reporting-year filter |
Location Tools
| Tool | Description |
|---|---|
get_vessels_in_area | Find vessels with an AIS position in a bounding box (default last 2 hours, at most 4 hours) |
get_vessels_in_radius | Find vessels with an AIS position within a radius of a point (default last 2 hours, at most 4 hours) |
Pagination
All list endpoints support limit and nextToken parameters for manual pagination. When more results exist, the response includes a nextToken. Pass it in the next call to get the next page.
Development
git clone https://github.com/vessel-api/vesselapi-mcp.git
cd vesselapi-mcp
npm install
npm run build
npm run build # Build the server
npm run typecheck # Type-check without emitting
npm run clean # Remove build artifacts
Testing with MCP Inspector
VESSELAPI_API_KEY=your-key npx @modelcontextprotocol/inspector node dist/index.js
Data Sources & Attribution
Emissions and casualty data: © European Union. Source: European Maritime Safety Agency (EMSA): THETIS-MRV (EU MRV, Regulation (EU) 2015/757) and the European Marine Casualty Information Platform (EMCIP). Reused under the European Commission reuse notice (Commission Decision 2011/833/EU), which authorises reuse for commercial and non-commercial purposes with acknowledgement of the source. Data may be transformed and combined; EMSA does not endorse this service.
License
MIT
Questions fréquentes
Qu'est-ce que io.github.vessel-api/vesselapi-mcp ?
MCP server for the VesselAPI: maritime vessel tracking, port events and emissions
Comment installer io.github.vessel-api/vesselapi-mcp ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add vesselapi-mcp -- npx -y vesselapi-mcp@2.2.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.vessel-api/vesselapi-mcp ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
io.github.vessel-api/vesselapi-mcp est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.vessel-api/vesselapi-mcp ?
Il est publié par vessel-api. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.