Datalastic Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Datalastic Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP (Model Context Protocol) server for the Datalastic Marine AIS Data API. This server enables AI assistants like Claude to access real-time vessel tracking, port information, and maritime data through the Datalastic API.
📖 Documentation:
pip install mcp httpx pydanticOr if using the repository:
cd /path/to/datalastic-mcp
pip install -e .Option A: Environment Variable
export DATALASTIC_API_KEY="your-api-key-here"Option B: File (recommended for development) Create a file named datalastic_api_key.txt in the project root containing your API key.
Add this configuration to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"datalastic": {
"command": "python",
"args": ["-m", "datalastic_mcp"],
"cwd": "/Users/rob/projects/Datalastic/MCP",
"env": {
"DATALASTIC_API_KEY": "your-api-key-here"
}
}
}
}Note: Replace /Users/rob/projects/Datalastic/MCP with the actual path to this project.
Test the server interactively:
npx @modelcontextprotocol/inspector python -m datalastic_mcpRun the server directly:
python -m datalastic_mcpGet real-time location and status of a specific vessel.
Parameters:
identifier_type: Type of identifier - uuid, mmsi, or imoidentifier_value: The identifier value (e.g., MMSI "566093000")detailed: (optional) Set to true for enhanced data including ETA, ATD, draftExample queries:
Get detailed specifications and static information about a vessel.
Parameters:
identifier_type: Type of identifier - uuid, mmsi, or imoidentifier_value: The identifier valueExample queries:
Find all vessels within a radius of geographic coordinates.
Parameters:
latitude: Center point latitude (e.g., 51.9225)longitude: Center point longitude (e.g., 4.4792)radius_nautical_miles: Search radius in nautical miles (max 50)Example queries:
Search for ports by various criteria.
Parameters:
name: (optional) Port name to search forfuzzy: (optional) Enable fuzzy name matching (default: false)port_type: (optional) Filter by port typecountry_iso: (optional) Two-letter country code (e.g., "NL")latitude, longitude, radius_nautical_miles: (optional) Geographic searchExample queries:
Get current status of multiple vessels at once (up to 100).
Parameters:
vessels: Array of vessel identifiers, each with type and valueExample queries:
Get historical position data for a vessel over time.
Parameters:
identifier_type: Type of identifier - uuid, mmsi, or imoidentifier_value: The identifier valuedays: (optional) Number of days of history (e.g., 5 for last 5 days)from_date: (optional) Start date in YYYY-MM-DD formatto_date: (optional) End date in YYYY-MM-DD formatReturns:
Note: Use either days OR from_date/to_date, not both.
Example queries:
Get server performance and usage statistics.
Parameters: None
Returns:
Example queries:
The server exposes real-time data through custom URI schemes:
Access real-time vessel data:
vessel://<identifier_type>/<identifier_value>vessel://mmsi/566093000vessel://imo/9525338vessel://uuid/b8625b67-7142-cfd1-7b85-595cebfe4191Monitor vessels in a geographic area:
area://<latitude>/<longitude>/<radius>area://51.9225/4.4792/10 (Rotterdam, 10 NM radius)Note: Resources automatically use caching and return detailed vessel information.
The server connects to the following Datalastic API endpoints:
/vessel - Basic vessel tracking/vessel_pro - Enhanced vessel tracking/vessel_info - Vessel specifications/vessel_history - Historical position data/vessel_bulk - Multiple vessel tracking/vessel_inradius - Area-based vessel search/port_find - Port searchThe server includes an intelligent caching layer that significantly reduces API calls:
The server tracks API usage automatically:
get_server_stats toolTip: Use get_server_stats to monitor your cache performance and API usage.
The server handles common errors gracefully:
datalastic-mcp/
├── src/
│ └── datalastic_mcp/
│ ├── __init__.py
│ ├── __main__.py
│ ├── server.py # MCP server implementation
│ ├── api_client.py # Datalastic API wrapper
│ └── cache.py # Caching layer
├── tests/
│ ├── __init__.py
│ ├── test_cache.py # Cache tests (9 tests)
│ └── test_api_client.py # API client tests (15 tests)
├── pyproject.toml
├── README.md
└── datalastic_api_key.txt # Your API key (gitignored)# Install dev dependencies
pip install pytest pytest-asyncio
# Run all tests
python3 -m pytest tests/ -v
# Run specific test file
python3 -m pytest tests/test_cache.py -v
# Run with coverage
python3 -m pytest tests/ --cov=src/datalastic_mcpTest Results: All 24 tests passing ✅
For more information about the Datalastic API, visit:
This project is provided as-is for use with the Datalastic API.
This repository includes several documentation files for different audiences:
For issues with:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.