Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,541Letters: 14Defects: 1,323counted 3 min ago
teppi

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Start tracking a new container or Bill of Lading. Returns confirmation once tracking is set up. First status update arrives within 15 minutes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "identifier": { "description": "Container number (e.g. MRKU5004867) or B/L number", "type": "string" }, "identifier_type": { "description": "Whether the identifier is a container number or B/L number", "enum": [ "container_id", "bill_of_lading" ], "type": "string" }, "tags": { "description": "Optional tags for organisation (e.g. [\"client-acme\", \"vessel-gulsun\"])", "items": { "type": "string" }, "type": "array" } }, "required": [ "identifier", "identifier_type" ], "type": "object" }, "name": "add_container", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "description": "On an empty result: NOT_FOUND (no record after asking) or NO_EVENTS (record, nothing filed).", "type": "string" }, "data": { "additionalProperties": true, "properties": { "bl_number": { "type": [ "string", "null" ] }, "container_number": { "type": [ "string", "null" ] }, "id": { "description": "The tracked reference that was created", "type": [ "string", "null" ] }, "message": { "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] } }, "type": "object" }, "message": { "description": "On an empty result: what the emptiness means.", "type": "string" }, "ok": { "description": "False never appears here — failures arrive as tool errors.", "type": "boolean" }, "result": { "description": "\"empty\" means the query succeeded and there is nothing to report.", "enum": [ "data", "empty" ], "type": "string" } }, "required": [ "ok", "result" ], "type": "object" } }, { "description": "Full status for a single container: current status, route, ETA with confidence, carrier, vessel, all events, and AI-generated shipment narrative. Use this when asked about a specific container.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "container_id": { "description": "Container number (e.g. MRKU5004867) or B/L number (e.g. SEGU3103001)", "type": "string" } }, "required": [ "container_id" ], "type": "object" }, "name": "get_container_detail", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "description": "On an empty result: NOT_FOUND (no record after asking) or NO_EVENTS (record, nothing filed).", "type": "string" }, "data": { "additionalProperties": true, "properties": { "ai_narrative": { "description": "Plain-language summary of where the box is", "type": [ "string", "null" ] }, "bl_number": { "type": [ "string", "null" ] }, "carrier": { "description": "SCAC of the operating line", "type": [ "string", "null" ] }, "container_number": { "type": [ "string", "null" ] }, "demurrage_free_days_left": { "type": [ "number", "null" ] }, "destination_name": { "type": [ "string", "null" ] }, "eta": { "description": "ISO 8601", "type": [ "string", "null" ] }, "eta_confidence_pct": { "type": [ "number", "null" ] }, "events": { "anyOf": [ { "items": { "additionalProperties": true, "properties": { "location": { "type": [ "string", "null" ] }, "timestamp": { "description": "ISO 8601", "type": [ "string", "null" ] }, "type": { "type": [ "string", "null" ] } }, "type": "object" }, "type": "array" }, { "type": "null" } ], "description": "Filed milestones, newest first" }, "id": { "type": [ "string", "null" ] }, "identifier": { "description": "Container number or B/L as tracked", "type": [ "string", "null" ] }, "origin_name": { "type": [ "string", "null" ] }, "reference": { "description": "On an empty result: the reference that was asked for", "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "vessel_imo": { "type": [ "string", "null" ] }, "vessel_name": { "type": [ "string", "null" ] } }, "type": "object" }, "message": { "description": "On an empty result: what the emptiness means.", "type": "string" }, "ok": { "description": "False never appears here — failures arrive as tool errors.", "type": "boolean" }, "result": { "description": "\"empty\" means the query succeeded and there is nothing to report.", "enum": [ "data", "empty" ], "type": "string" } }, "required": [ "ok", "result" ], "type": "object" } }, { "description": "Free time (days) before demurrage, detention or storage charges start, for a carrier at a port or country. Returns the carrier's OWN published figure when available, otherwise an INDICATIVE cross-carrier average (flagged is_estimate, shown without prejudice). Use for 'how many free days does <carrier> give at <port>'.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "carrier_code": { "description": "SCAC, e.g. CMDU (CMA CGM), MAEU (Maersk), HLCU (Hapag), ZIMU (ZIM). Omit to get the indicative cross-carrier average directly.", "type": "string" }, "category": { "default": "demurrage", "description": "demurrage (in-port), detention (out-of-port), combined_dd, or free_time_storage", "enum": [ "demurrage", "detention", "combined_dd", "free_time_storage" ], "type": "string" }, "container_type": { "default": "40GP", "description": "e.g. 20GP, 40GP, 40HC, 20RF", "type": "string" }, "country_iso2": { "description": "ISO-3166 alpha-2, e.g. FR. Used when no port is given, or as fallback grain.", "type": "string" }, "direction": { "default": "import", "enum": [ "import", "export", "both" ], "type": "string" }, "port_unlocode": { "description": "5-char UN/LOCODE, e.g. FRMRS (Marseille). Provide this or country_iso2.", "type": "string" } }, "type": "object" }, "name": "get_demurrage_free_time", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "description": "On an empty result: NOT_FOUND (no record after asking) or NO_EVENTS (record, nothing filed).", "type": "string" }, "data": { "additionalProperties": true, "properties": { "basis": { "type": [ "string", "null" ] }, "carrier_code": { "type": [ "string", "null" ] }, "category": { "description": "demurrage | detention | combined_dd | free_time_storage", "type": [ "string", "null" ] }, "country_iso2": { "type": [ "string", "null" ] }, "free_days": { "type": [ "number", "null" ] }, "is_estimate": { "description": "True means this is an indicative cross-carrier average, not the line's own figure", "type": [ "boolean", "null" ] }, "port_unlocode": { "type": [ "string", "null" ] }, "source": { "type": [ "string", "null" ] } }, "type": "object" }, "message": { "description": "On an empty result: what the emptiness means.", "type": "string" }, "ok": { "description": "False never appears here — failures arrive as tool errors.", "type": "boolean" }, "result": { "description": "\"empty\" means the query succeeded and there is nothing to report.", "enum": [ "data", "empty" ], "type": "string" } }, "required": [ "ok", "result" ], "type": "object" } }, { "description": "Demurrage and detention risk report: which containers are near or past their free days, the daily rates, and the projected cost. Call this when asked about demurrage risk or detention fees. Free days are resolved per shipment from the customer's own contract terms first, then the carrier's published tariff, then a cross-carrier benchmark — `terms_source` and `confidence` on each item say which was used, so an estimated tariff figure must be reported as estimated, not as their contract. Read the counters before drawing a conclusion: `unassessable_containers` are boxes whose free time could not be resolved at all (an empty item list alongside a non-zero count means \"cannot assess\", NEVER \"no risk\"), `uncosted_containers` are at risk with no daily rate on file (so `total_at_risk_usd` is a floor, not the exposure), and `truncated: true` means the fleet is larger than the report. Pass container_id to assess a single shipment: `scope_container.verdict` is one of at_risk / within_free_time / not_discharged / no_terms / no_destination / not_demurrage_eligible.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "container_id": { "description": "Optional: scope to a single container ID. Omit for portfolio-wide report.", "type": "string" } }, "type": "object" }, "name": "get_demurrage_report", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "description": "On an empty result: NOT_FOUND (no record after asking) or NO_EVENTS (record, nothing filed).", "type": "string" }, "data": { "additionalProperties": true, "properties": { "assessed_containers": { "type": [ "number", "null" ] }, "candidates_considered": { "type": [ "number", "null" ] }, "containers": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ] }, "coverage_note": { "type": [ "string", "null" ] }, "scope_container": { "anyOf": [ {}, { "type": "null" } ] }, "total_exposure_usd": { "type": [ "number", "null" ] }, "truncated": { "type": [ "boolean", "null" ] }, "unassessable_containers": { "description": "Boxes we could not cost — not boxes with zero exposure", "type": [ "number", "null" ] }, "uncosted_containers": { "type": [ "number", "null" ] } }, "type": "object" }, "message": { "description": "On an empty result: what the emptiness means.", "type": "string" }, "ok": { "description": "False never appears here — failures arrive as tool errors.", "type": "boolean" }, "result": { "description": "\"empty\" means the query succeeded and there is nothing to report.", "enum": [ "data", "empty" ], "type": "string" } }, "required": [ "ok", "result" ], "type": "object" } }, { "description": "Current congestion level at one or more ports: average wait hours, vessels at anchor, and congestion level (low/moderate/high/severe). Provide UN/LOCODE codes like NLRTM, GBFXT, DEHAM, CNSHA.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "port_codes": { "description": "UN/LOCODE port codes (e.g. [\"NLRTM\", \"GBFXT\"]). Get them from container details if unsure.", "items": { "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "port_codes" ], "type": "object" }, "name": "get_port_congestion", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "description": "On an empty result: NOT_FOUND (no record after asking) or NO_EVENTS (record, nothing filed).", "type": "string" }, "data": { "additionalProperties": true, "properties": { "ports": { "anyOf": [ { "items": { "additionalProperties": true, "properties": { "avg_wait_hours": { "type": [ "number", "null" ] }, "congestion_level": { "type": [ "string", "null" ] }, "name": { "type": [ "string", "null" ] }, "unlocode": { "type": [ "string", "null" ] }, "updated_at": { "type": [ "string", "null" ] }, "vessels_at_anchor": { "type": [ "number", "null" ] } }, "type": "object" }, "type": "array" }, { "type": "null" } ] } }, "type": "object" }, "message": { "description": "On an empty result: what the emptiness means.", "type": "string" }, "ok": { "description": "False never appears here — failures arrive as tool errors.", "type": "boolean" }, "result": { "description": "\"empty\" means the query succeeded and there is nothing to report.", "enum": [ "data", "empty" ], "type": "string" } }, "required": [ "ok", "result" ], "type": "object" } }, { "description": "Overview of your entire container portfolio: total active, exceptions, arriving soon, demurrage risk. Use this as the starting point for any shipment question.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "filter": { "default": "all", "description": "Focus on a specific subset: all (default), exceptions, arriving_soon, demurrage_risk", "enum": [ "all", "exceptions", "arriving_soon", "demurrage_risk" ], "type": "string" } }, "type": "object" }, "name": "get_shipment_summary", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "description": "On an empty result: NOT_FOUND (no record after asking) or NO_EVENTS (record, nothing filed).", "type": "string" }, "data": { "additionalProperties": true, "properties": { "arriving_this_week": { "type": [ "number", "null" ] }, "containers": { "anyOf": [ { "items": { "additionalProperties": true, "properties": { "bl_number": { "type": [ "string", "null" ] }, "carrier": { "description": "SCAC of the operating line", "type": [ "string", "null" ] }, "container_number": { "type": [ "string", "null" ] }, "demurrage_free_days_left": { "type": [ "number", "null" ] }, "destination_name": { "type": [ "string", "null" ] }, "eta": { "description": "ISO 8601", "type": [ "string", "null" ] }, "eta_confidence_pct": { "type": [ "number", "null" ] }, "id": { "type": [ "string", "null" ] }, "identifier": { "description": "Container number or B/L as tracked", "type": [ "string", "null" ] }, "origin_name": { "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "vessel_imo": { "type": [ "string", "null" ] }, "vessel_name": { "type": [ "string", "null" ] } }, "type": "object" }, "type": "array" }, { "type": "null" } ] }, "demurrage_risk_usd": { "type": [ "number", "null" ] }, "exceptions": { "type": [ "number", "null" ] }, "total_active": { "type": [ "number", "null" ] } }, "type": "object" }, "message": { "description": "On an empty result: what the emptiness means.", "type": "string" }, "ok": { "description": "False never appears here — failures arrive as tool errors.", "type": "boolean" }, "result": { "description": "\"empty\" means the query succeeded and there is nothing to report.", "enum": [ "data", "empty" ], "type": "string" } }, "required": [ "ok", "result" ], "type": "object" } }, { "description": "Last known AIS position for a vessel: lat/lng, speed, heading, navigation status, and how old the fix is. Use the vessel IMO from get_container_detail. IMPORTANT: an AIS position is a LAST KNOWN fix, not a live feed. Read `position_age_hours` and `position_freshness` (live <6h, recent <24h, stale <72h, outdated >=72h, unknown = no fix time recorded) and state the age when you report the location. Terrestrial AIS cannot see a ship mid-ocean, so an outdated fix is normal and is still useful evidence of where the vessel was — but never present it as where the vessel is now. `position_updated_at` is the time WE last wrote the row and is NOT the fix age; do not use it to answer \"how current is this?\".", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "imo": { "description": "IMO number of the vessel (e.g. 9463297)", "type": "string" } }, "required": [ "imo" ], "type": "object" }, "name": "get_vessel_position", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "code": { "description": "On an empty result: NOT_FOUND (no record after asking) or NO_EVENTS (record, nothing filed).", "type": "string" }, "data": { "additionalProperties": true, "properties": { "heading_deg": { "type": [ "number", "null" ] }, "imo": { "type": [ "string", "null" ] }, "lat": { "type": [ "number", "null" ] }, "lng": { "type": [ "number", "null" ] }, "name": { "type": [ "string", "null" ] }, "nav_status": { "type": [ "string", "null" ] }, "position_age_hours": { "type": [ "number", "null" ] }, "position_fix_at": { "description": "When the position was actually fixed", "type": [ "string", "null" ] }, "position_freshness": { "type": [ "string", "null" ] }, "position_is_stale": { "description": "True means do not quote this as current", "type": [ "boolean", "null" ] }, "source": { "type": [ "string", "null" ] }, "speed_knots": { "type": [ "number", "null" ] } }, "type": "object" }, "message": { "description": "On an empty result: what the emptiness means.", "type": "string" }, "ok": { "description": "False never appears here — failures arrive as tool errors.", "type": "boolean" }, "result": { "description": "\"empty\" means the query succeeded and there is nothing to report.", "enum": [ "data", "empty" ], "type": "string" } }, "required": [ "ok", "result" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e1dd9007df4a44ae5250cccdbe9c914ee4001172ccb20046f489faecc01e485d | sha256sum