Platform · Agentic consumption

A tool agents call. Not a UI humans navigate.

The agentic stacks operators already pay for — Cognite Atlas AI, Equinor Echo, custom Claude / GPT agents — need a physical-asset condition data layer to act on. Hullproof is that layer. Served as an MCP tool + JSON-schema-described REST, with confidence + lineage that survives the full agent loop.

Atlas AI needs a hull/vessel data layer it doesn't have

Aker BP runs Cognite Atlas AI. Equinor runs Echo. Both are agentic stacks that need structured physical-asset condition data to act on. Hullproof emits that layer as JSON the agents can read directly — no human translation step.

MCP-native, not retrofitted

Hullproof exposes itself as a tool agents call. /api/mcp/tools lists tools, /api/mcp/asset-types describes domain coverage, /api/mcp/schema/coating-passport is the JSON Schema. Self-describing argument signatures, idempotent operations, structured error codes agents can reason over.

JSON-first means agent-first

Every output is a structured CoatingPassport object. No PDF parsing, no OCR step, no human-in-the-loop interpretation. The agent reads the object, the agent acts on the object.

Confidence + lineage that survives the agent loop

Every finding carries confidence score + source-frame URIs + AI model version. When an agent's downstream action gets challenged (operator dispute, regulator audit, insurance claim), the lineage is intact — the agent's input is defensible all the way back to source frames.

VLA-ready, not VLM-locked

Today Hullproof reads footage with a VLM. Tomorrow Vision-Language-Action (VLA) models will let the same agent see-and-act in one loop. CoatingPassport is the structured intermediate that survives the transition — VLA backends swap in behind the same data contract.

Multi-vertical out of the box

An Atlas AI agent fielding vessel + jacket + monopile + pipeline questions doesn't want one data source per asset type. CoatingPassport's universal schema covers 13 verticals on the same object — one integration, full asset spectrum.

Agent-callable surface

Self-describing endpoints. JSON Schema for all responses. Structured error codes. Idempotent where possible. The MCP tool list and the CoatingPassport schema are public — an agent can discover Hullproof and start calling it without an SDK.

MethodPathWhat it does
GET/api/mcp/toolsTool list — every Hullproof capability exposed as an MCP-callable tool.
GET/api/mcp/asset-typesDomain discovery — which asset types Hullproof currently covers + severity rules per domain.
GET/api/mcp/schema/coating-passportCoatingPassport JSON Schema — the canonical data contract.
GET/api/passports/{id}Read a passport. Returns canonical JSON. Falls back to fixtures for demo; reads Firestore for tenant data.
POST/api/passportsWrite a passport. Validated against schema, rejects 422 with structured issue list on schema failure.
GET/api/openapiOpenAPI 3.1+ spec for the full surface. Agent-introspectable.

Example: Atlas AI agent reading a Hullproof passport

A Cognite Atlas AI agent fielding a question about a specific offshore-jacket condition. The agent calls Hullproof, gets a CoatingPassport, and reasons over the structured findings.

# 1. Agent discovers Hullproof tools
GET https://hullproof.com/api/mcp/tools

# 2. Agent fetches the schema once, caches it
GET https://hullproof.com/api/mcp/schema/coating-passport

# 3. Agent retrieves a specific passport for the asset in question
GET https://hullproof.com/api/passports/demo-offshore-jacket-001

# 4. Agent reasons over the structured findings:
#    - severity counts per zone
#    - confidence per finding
#    - source-frame URIs to cite
#    - applicable_standards (NORSOK N-005, DNV-RP-C203, ...)
#    - ai_model_version for audit trail

Run the integration on a pilot asset

Pick one asset (vessel, jacket, monopile, pipeline). We emit CoatingPassport from real footage. Your agent stack reads it directly. End-to-end demonstrated on a single asset before any commercial commitment.