_ registry / mcp streamable-http · checked 1h ago

oceanir

https://mcp.oceanir.ai

Registry code: 028f05f1c2408ec3

api record

Public tools/list is available without auth. tools/call requires an OAuth bearer or a scoped Oceanir agent token. OAuth metadata is advertised on 401.

endpoint
https://mcp.oceanir.ai
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is oceanir live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is oceanir free to use?
Not measured yet.
What tools does oceanir have?
3 tools: verify_location_claim, geolocate_image, check_credits.
Is oceanir safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
161ms

last good check

priced tools
0

of 3 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 3 tools
3 never probed 0 of 3 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • verify_location_claim unknown never probed

    Test whether an image is consistent with a location someone has already claimed: a listing's stated city, an address on a case file or claim form, a caption. Oceanir locates the image from visual evidence alone FIRST, then compares. Returns a verdict of `agrees`, `contradicts`, or `unverifiable`, with the distance between the claim and the evidence. `unverifiable` means the image does not settle it and the item needs a human. It is a real answer, not a failure. A verdict of `agrees` means the image is consistent with the claim, not that the claim is true. Reads the scene only (architecture, signage, terrain, vegetation), never the people in it. No face recognition, no biometric identification, no person matching. It answers where an image was taken, never who is in it, and must not be used to locate or track a person.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "image_url"
          ]
        },
        {
          "required": [
            "image_b64"
          ]
        }
      ],
      "required": [
        "scope"
      ],
      "properties": {
        "depth": {
          "enum": [
            1,
            2,
            3
          ],
          "type": "integer",
          "default": 2,
          "description": "Analysis depth. 2 = Standard is the right default for verification; 1 = Surface is city-level only and will rarely contradict anything; 3 = Forensic adds contradiction checks (10 credits)."
        },
        "scope": {
          "type": "object",
          "required": [
            "name",
            "lat",
            "lng"
          ],
          "properties": {
            "lat": {
              "type": "number",
              "maximum": 90,
              "minimum": -90
            },
            "lng": {
              "type": "number",
              "maximum": 180,
              "minimum": -180
            },
            "name": {
              "type": "string",
              "description": "Place name, e.g. \"Doral, Florida\"."
            },
            "radius_km": {
              "type": "number",
              "default": 60,
              "description": "How far from the centre still counts as the claimed place. Defaults to 60km, which covers a metro area."
            },
            "captured_at": {
              "type": "string",
              "description": "When the image is CLAIMED to have been taken. Optional, and worth sending whenever the claim carries a date, because it is the only check here that does not depend on the model's own confidence. A bare date (2026-09-12) returns whether the sun rose at that place at all that day and for how long; at high latitudes that alone can contradict a daylit image outright. A time WITH a UTC offset (2026-09-12T14:30:00-04:00) additionally returns the sun's altitude and compass direction at that moment. A time WITHOUT an offset has its clock time ignored and only its date used: an assumed timezone can turn noon into midnight, so it is never guessed."
            }
          },
          "description": "The location being claimed. Oceanir treats this as a search boundary and never as evidence: it can only narrow the search, never raise confidence, and the model will reject it outright on hard image-legible contradiction (signage in an impossible script, the wrong driving side, a landmark that is elsewhere)."
        },
        "image_b64": {
          "type": "string",
          "description": "Base64-encoded image bytes (no data: prefix)."
        },
        "image_url": {
          "type": "string",
          "format": "uri",
          "description": "Public HTTPS URL to the image to test."
        }
      }
    }
    arguments 73 lines
  • geolocate_image unknown never probed

    Analyze an image and return its probable real-world location. Returns ranked coordinates with a confidence score and the visual evidence chain the analysis used (architecture, signage, vegetation, terrain, lighting). No EXIF or GPS required. Reads the scene only (architecture, signage, terrain, vegetation), never the people in it. No face recognition, no biometric identification, no person matching. It answers where an image was taken, never who is in it, and must not be used to locate or track a person.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "image_url"
          ]
        },
        {
          "required": [
            "image_b64"
          ]
        }
      ],
      "properties": {
        "depth": {
          "enum": [
            1,
            2,
            3
          ],
          "type": "integer",
          "default": 1,
          "description": "Analysis depth. 1 = Surface (region scan, 1 credit). 2 = Standard (ranked candidates with evidence, 2 credits). 3 = Forensic (deeper reasoning and contradiction checks, 10 credits)."
        },
        "scope": {
          "type": "object",
          "required": [
            "name",
            "lat",
            "lng"
          ],
          "properties": {
            "lat": {
              "type": "number",
              "maximum": 90,
              "minimum": -90
            },
            "lng": {
              "type": "number",
              "maximum": 180,
              "minimum": -180
            },
            "name": {
              "type": "string",
              "description": "Place name, e.g. \"Doral, Florida\"."
            },
            "radius_km": {
              "type": "number",
              "default": 60,
              "description": "How far from the centre still counts as the claimed place. Defaults to 60km, which covers a metro area."
            },
            "captured_at": {
              "type": "string",
              "description": "When the image is CLAIMED to have been taken. Optional, and worth sending whenever the claim carries a date, because it is the only check here that does not depend on the model's own confidence. A bare date (2026-09-12) returns whether the sun rose at that place at all that day and for how long; at high latitudes that alone can contradict a daylit image outright. A time WITH a UTC offset (2026-09-12T14:30:00-04:00) additionally returns the sun's altitude and compass direction at that moment. A time WITHOUT an offset has its clock time ignored and only its date used: an assumed timezone can turn noon into midnight, so it is never guessed."
            }
          },
          "description": "The location being claimed. Oceanir treats this as a search boundary and never as evidence: it can only narrow the search, never raise confidence, and the model will reject it outright on hard image-legible contradiction (signage in an impossible script, the wrong driving side, a landmark that is elsewhere)."
        },
        "image_b64": {
          "type": "string",
          "description": "Base64-encoded image bytes (no data: prefix)."
        },
        "image_url": {
          "type": "string",
          "format": "uri",
          "description": "Public HTTPS URL to the image to analyze."
        }
      }
    }
    arguments 70 lines
  • check_credits unknown never probed

    Check the authenticated Oceanir account's current credit balance and remaining monthly allowance.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 028f05f1c2408ec3.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/028f05f1c2408ec3/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/028f05f1c2408ec3/badge.svg)](https://brick.blue/agent/028f05f1c2408ec3?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
70%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.