Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,524Letters: 13Defects: 1,322counted 1 min ago
teppi

Server definition

Hash
sha256:5f8b84b6b7c1685b5fc780b5ff8483a11b0152cd2d6bc098a7cd0f52dcf98b30
What it is
What a remote MCP server returned when asked what it offers: 7 tools

The blob, as servednamed by its sha256

{ "instructions": "ArcNautical screens commercial vessels for sanctions and risk. Identify a ship by its seven-digit IMO number (never by name alone: names repeat and change). Use check_vessel for a quick verdict with no key; use screen_vessel for the full evidence record when an API key is configured. Sanctions status semantics: RED = confirmed match on the vessel identifier, AMBER = possible match needing review, GREEN = no match against the sources reached, INCOMPLETE = a core source could not be read, which must never be presented as clear. Always quote the status, the checkedAt/screened_at time, and say that designations change daily.", "tools": [ { "description": "Screen one vessel by IMO number against OFAC SDN, EU, UN, UK OFSI and OpenSanctions, with an ownership-opacity score and an A–E vetting grade from port-state-control history. Works with no API key. Rate-limited to 100 requests per hour per IP. Returns the VERDICT SUMMARY only; for every sanctions match with its source list and confidence class use screen_vessel (needs a key).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "imo": { "description": "Seven-digit IMO number of the vessel", "pattern": "^\\d{7}$", "type": "string" } }, "required": [ "imo" ], "type": "object" }, "name": "check_vessel", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "assessed": { "description": "false means ownership and vetting are defaults, not findings", "type": "boolean" }, "checkedAt": { "description": "ISO-8601 time the sources were read; designations change daily", "type": "string" }, "fullReport": { "description": "Human-readable report URL for this hull", "type": "string" }, "imo": { "description": "The seven-digit IMO number screened", "type": "string" }, "ownership": { "additionalProperties": true, "properties": { "opacity": { "type": [ "string", "null" ] }, "score": { "type": [ "number", "null" ] } }, "type": "object" }, "rate_limit": { "additionalProperties": false, "description": "Keyless allowance for the caller's address", "properties": { "limit": { "type": [ "number", "null" ] }, "remaining": { "type": [ "number", "null" ] }, "reset": { "type": [ "string", "null" ] } }, "required": [ "limit", "remaining", "reset" ], "type": "object" }, "sanctions": { "additionalProperties": true, "properties": { "coverageComplete": { "description": "false when a supplementary list was unavailable — re-screen before relying on a GREEN", "type": "boolean" }, "detail": { "description": "One sentence explaining the status", "type": "string" }, "status": { "description": "RED | AMBER | GREEN | INCOMPLETE", "type": "string" } }, "required": [ "status" ], "type": "object" }, "vetting": { "additionalProperties": true, "properties": { "grade": { "type": [ "string", "null" ] }, "score": { "type": [ "number", "null" ] }, "status": { "type": "string" } }, "type": "object" } }, "required": [ "imo", "sanctions", "checkedAt", "rate_limit" ], "type": "object" } }, { "description": "Resolve a port name, country or partial UN/LOCODE to the LOCODEs the routing engine knows. Routes are addressed by LOCODE, so call this before score_voyage rather than guessing a code. Works with no API key.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "limit": { "description": "Maximum matches to return (default 5)", "maximum": 20, "minimum": 1, "type": "integer" }, "query": { "description": "Port name, country, or LOCODE fragment, e.g. \"rotterdam\", \"NLRTM\", \"Piraeus\"", "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "find_port", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "ports": { "description": "Best matches first", "items": { "additionalProperties": true, "properties": { "country": { "type": "string" }, "locode": { "description": "UN/LOCODE, e.g. NLRTM", "type": "string" }, "name": { "type": "string" } }, "required": [ "locode", "name" ], "type": "object" }, "type": "array" } }, "required": [ "ports" ], "type": "object" } }, { "description": "Fetch a stored screening record by id — the audit copy, retained ten years. Needs ARCNAUTICAL_API_KEY.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "id": { "description": "Screening id returned by screen_vessel or in a batch item", "format": "uuid", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_screening", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "id": { "description": "Screening record id, retained ten years", "type": "string" }, "imo": { "type": "string" }, "ownership": { "additionalProperties": true, "properties": { "opacity": { "type": [ "string", "null" ] }, "score": { "type": [ "number", "null" ] } }, "type": "object" }, "sanctions": { "additionalProperties": true, "properties": { "detail": { "type": "string" }, "status": { "description": "RED | AMBER | GREEN | INCOMPLETE", "type": "string" } }, "type": "object" }, "screened_at": { "description": "ISO-8601 time the sources were read", "type": "string" }, "vessel_name": { "type": [ "string", "null" ] }, "vetting": { "additionalProperties": true, "properties": { "grade": { "type": [ "string", "null" ] }, "status": { "type": "string" } }, "type": "object" } }, "type": "object" } }, { "description": "Live and test usage, remaining allowance, reset time, batch limits and monitor capacity for the configured key.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_usage", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "assessments": { "additionalProperties": true, "description": "Allowance, used, remaining and reset per environment", "properties": {}, "type": "object" }, "environment": { "description": "live | test", "type": "string" }, "limits": { "additionalProperties": true, "properties": {}, "type": "object" }, "screenings": { "additionalProperties": true, "properties": {}, "type": "object" } }, "type": "object" } }, { "description": "Route risk between two ports (UN/LOCODEs): a 0–100 score, risk level, the signals driving it (war-risk areas, piracy, chokepoints, weather, sanctions exposure of transited EEZs), confidence and any missing sources. Resolve port names with find_port first. Needs ARCNAUTICAL_API_KEY; 10,000 assessments a month are included with a self-serve key.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "customer_reference": { "description": "Your own reference (voyage id, fixture); echoed on the assessment", "maxLength": 128, "type": "string" }, "destination": { "description": "Destination UN/LOCODE, e.g. CNSHA", "pattern": "^[A-Za-z]{5}$", "type": "string" }, "dwt_tonnes": { "description": "Deadweight in tonnes; used for chokepoint and draught constraints", "maximum": 600000, "minimum": 1, "type": "number" }, "load_condition": { "description": "laden or ballast; affects exposure on the transit", "enum": [ "laden", "ballast" ], "type": "string" }, "origin": { "description": "Origin UN/LOCODE, e.g. NLRTM", "pattern": "^[A-Za-z]{5}$", "type": "string" }, "speed_knots": { "description": "Planned service speed, 8-25 knots; sets transit time through each risk area", "maximum": 25, "minimum": 8, "type": "number" }, "vessel_type": { "description": "Vessel class; changes which threat signals weigh most (default: general)", "enum": [ "container", "bulk", "tanker", "lng", "general" ], "type": "string" } }, "required": [ "origin", "destination" ], "type": "object" }, "name": "score_voyage", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "confidence": { "description": "0-1", "type": "number" }, "id": { "description": "Assessment id", "type": "string" }, "missing_sources": { "description": "Signals that could not be read for this assessment", "items": { "type": "string" }, "type": "array" }, "risk_level": { "description": "low | moderate | elevated | high | severe", "type": "string" }, "route": { "additionalProperties": true, "properties": { "distance_nm": { "type": "number" } }, "type": "object" }, "score": { "description": "0-100, higher is riskier", "type": "number" }, "signals": {} }, "type": "object" } }, { "description": "The authenticated screening record for one vessel: every sanctions match with its source list, programme and confidence class, ownership opacity, the graded vetting factors, per-source freshness, and a retained record id. Needs ARCNAUTICAL_API_KEY. Metered: a new self-serve key includes 5,000 live screenings once (a one-time allowance). The same vessel asked again on the same day replays the stored record free. If the result is INCOMPLETE for identity, call again with vessel_name.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "customer_reference": { "description": "Your own reference (order id, voyage id); echoed on the record", "maxLength": 128, "type": "string" }, "imo": { "description": "Seven-digit IMO number of the vessel", "pattern": "^\\d{7}$", "type": "string" }, "include_vetting": { "description": "false skips the vetting grade for a faster sanctions-only screen", "type": "boolean" }, "vessel_name": { "description": "Only when a previous screen was INCOMPLETE for identity; a name you can confirm", "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "imo" ], "type": "object" }, "name": "screen_vessel", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "id": { "description": "Screening record id, retained ten years", "type": "string" }, "imo": { "type": "string" }, "ownership": { "additionalProperties": true, "properties": { "opacity": { "type": [ "string", "null" ] }, "score": { "type": [ "number", "null" ] } }, "type": "object" }, "sanctions": { "additionalProperties": true, "properties": { "detail": { "type": "string" }, "status": { "description": "RED | AMBER | GREEN | INCOMPLETE", "type": "string" } }, "type": "object" }, "screened_at": { "description": "ISO-8601 time the sources were read", "type": "string" }, "vessel_name": { "type": [ "string", "null" ] }, "vetting": { "additionalProperties": true, "properties": { "grade": { "type": [ "string", "null" ] }, "status": { "type": "string" } }, "type": "object" } }, "type": "object" } }, { "description": "Batch-screen a list of IMO numbers and wait for the results (up to two minutes). Returns one verdict per hull plus the batch status. Needs ARCNAUTICAL_API_KEY. Each hull spends one screening unit unless it was already screened today.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "imos": { "description": "Up to 50 seven-digit IMO numbers", "items": { "description": "Seven-digit IMO number of the vessel", "pattern": "^\\d{7}$", "type": "string" }, "maxItems": 50, "minItems": 1, "type": "array" }, "include_vetting": { "description": "false skips the vetting grade for a faster sanctions-only screen", "type": "boolean" } }, "required": [ "imos" ], "type": "object" }, "name": "screen_vessels", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "batch": { "additionalProperties": true, "description": "The batch as last read", "properties": { "id": { "type": "string" }, "status": { "description": "queued | running | completed | partial | failed", "type": "string" } }, "type": "object" }, "items": { "description": "One row per hull", "items": { "additionalProperties": true, "properties": { "imo": { "type": [ "string", "null" ] }, "result_body": { "anyOf": [ { "additionalProperties": true, "properties": { "sanctions": { "additionalProperties": true, "properties": { "status": { "type": "string" } }, "type": "object" } }, "type": "object" }, { "type": "null" } ] }, "screening_id": { "type": [ "string", "null" ] }, "status": { "type": "string" } }, "type": "object" }, "type": "array" } }, "required": [ "batch", "items" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:5f8b84b6b7c1685b5fc780b5ff8483a11b0152cd2d6bc098a7cd0f52dcf98b30 | sha256sum