Skip to main content

MCP Server for DataDocked Maritime API - Real-time vessel tracking, port operations, and maritime intelligence

Project description

DataDocked MCP Server (Python)

MCP (Model Context Protocol) server for the DataDocked Maritime API. Enables AI assistants like Claude to access real-time vessel tracking, port operations, and maritime intelligence.

What's New in v1.2.0

  • NEW: Vessel name search: Search for vessels by name using search_vessel_by_name tool
    • Query: "Where is the Ever Given?" → First searches by name, gets IMO, then tracks

Features

  • 21 MCP Tools: 13 basic single-endpoint tools + 8 compound multi-endpoint tools
  • Pre-execution Credit Warnings: Know the cost before running operations
  • Rich Formatted Output: Markdown tables and structured reports
  • Async API Client: Non-blocking concurrent requests for compound tools

Installation

PyPI (Recommended)

pip install datadocked-mcp

From Source

git clone https://github.com/datadocked/mcp-server.git
cd mcp-server/datadocked-mcp-py
pip install -e .

Configuration

Environment Variables

# Required: Your DataDocked API key
export DATADOCKED_API_KEY="your_api_key_here"

# Optional: Disable credit cost warnings (default: true)
export DATADOCKED_SHOW_COST="false"

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "datadocked": {
      "command": "datadocked-mcp",
      "env": {
        "DATADOCKED_API_KEY": "your_api_key_here"
      }
    }
  }
}

Or using uvx:

{
  "mcpServers": {
    "datadocked": {
      "command": "uvx",
      "args": ["datadocked-mcp"],
      "env": {
        "DATADOCKED_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor / VS Code

Add to your MCP settings:

{
  "datadocked": {
    "command": "datadocked-mcp",
    "env": {
      "DATADOCKED_API_KEY": "your_api_key_here"
    }
  }
}

Available Tools

Basic Tools (Single-Endpoint)

Tool Description Credits
track_vessel Real-time position, speed, course, ETA 1
track_vessels_bulk Track up to 50 vessels 1/vessel
get_vessel_history Historical positions (up to 2 years) 5/day
search_vessels_by_area Find vessels in geographic region 10
get_vessel_details Full vessel profile 5
get_vessel_specs Dimensions, tonnage, capacity 3
get_vessel_engine Engine specs, fuel type 3
get_vessel_management Owner, operator, P&I club 3
get_port_calls Port visit history 1
get_port_traffic Port arrivals/departures 5
get_psc_inspections PSC inspection records 3
get_vessel_weather Weather at vessel location 2
search_vessel_by_name Search vessels by name, returns IMO/MMSI 1

Compound Tools (Multi-Endpoint)

Tool Description Credits
vessel_intelligence_report Complete vessel dossier (6 endpoints) ~18
fleet_dashboard Fleet status with vessel details ~3/vessel
voyage_analysis Current voyage with context ~13
risk_assessment Composite risk score ~12
area_intelligence Region with full vessel profiles 10 + 5/vessel

Usage Examples

Natural Language Queries

"Where is the Ever Given right now?"
→ Uses search_vessel_by_name to find IMO, then track_vessel

"Track vessel IMO 9811000" (Ever Given)
→ Uses track_vessel directly (most efficient)

"Show me all tankers near the Strait of Hormuz"
→ Uses search_vessels_by_area with vessel_type filter

"Give me a full intelligence report on vessel 9321483"
→ Uses vessel_intelligence_report (6 API calls combined)

"What's the risk profile of this vessel?"
→ Uses risk_assessment (4 API calls + analysis)

Tip: Using IMO (7 digits) or MMSI (9 digits) directly is most efficient. Use search_vessel_by_name when you only know the vessel name (+1 credit).

Credit Estimation

When enabled, each tool shows the estimated cost before execution:

--- Credit Estimate ---
Operation: Vessel Intelligence Report
Estimated Cost: 18 credits
Current Balance: 1,250 credits
To disable: set DATADOCKED_SHOW_COST=false
------------------------

Resources

The server also exposes MCP resources:

Resource URI Description
datadocked://credits/balance Current credit balance

Development

# Install in development mode
pip install -e ".[dev]"

# Run the server
python -m datadocked_mcp.server

# Or use the CLI
datadocked-mcp

Requirements

  • Python 3.10+
  • mcp >= 1.0.0
  • httpx >= 0.25.0
  • pydantic >= 2.0.0

API Reference

Full API documentation: https://docs.datadocked.com

License

MIT

Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datadocked_mcp-1.2.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datadocked_mcp-1.2.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file datadocked_mcp-1.2.0.tar.gz.

File metadata

  • Download URL: datadocked_mcp-1.2.0.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for datadocked_mcp-1.2.0.tar.gz
Algorithm Hash digest
SHA256 cdbe8567f7c777df09b6a3f97a354a5fc3150c53dc0531122b8171bac58e3256
MD5 8517d74f8fd02e5cb0e5d4f494a6b354
BLAKE2b-256 710b7ad712fd512a8e61010bb279939fc341c9fc0d9c8c3ebf723152ef5e5e7e

See more details on using hashes here.

File details

Details for the file datadocked_mcp-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: datadocked_mcp-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for datadocked_mcp-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1496f8ebbf88f02b47d96eb5ec00dfea2b679b52251853a07855b64782cd3bc8
MD5 6af673a20b8b53224de0f16ad04267c0
BLAKE2b-256 2031e9253bd485dd04dfa5b49745c5b65a76852cd4b559bc39f03568a810d9e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page