{"name":"oceanir","version":"0.1.0","title":"Oceanir","websiteUrl":"https://oceanir.ai","transport":"streamable-http","url":"https://mcp.oceanir.ai","protocolVersion":"2025-06-18","documentation":"https://oceanir.ai/docs/mcp","openapi":"https://oceanir.ai/openapi.json","authentication":"OAuth 2.1 bearer or a scoped Oceanir agent token is required for tools/call. initialize and tools/list are public.","tools":[{"name":"geolocate_image","description":"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.","inputSchema":{"type":"object","properties":{"image_url":{"type":"string","format":"uri","description":"Public HTTPS URL to the image to analyze."},"image_b64":{"type":"string","description":"Base64-encoded image bytes (no data: prefix)."},"depth":{"type":"integer","enum":[1,2,3],"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","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).","properties":{"name":{"type":"string","description":"Place name, e.g. \"Doral, Florida\"."},"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180},"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."}},"required":["name","lat","lng"]}},"anyOf":[{"required":["image_url"]},{"required":["image_b64"]}]}},{"name":"verify_location_claim","description":"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.","inputSchema":{"type":"object","properties":{"image_url":{"type":"string","format":"uri","description":"Public HTTPS URL to the image to test."},"image_b64":{"type":"string","description":"Base64-encoded image bytes (no data: prefix)."},"scope":{"type":"object","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).","properties":{"name":{"type":"string","description":"Place name, e.g. \"Doral, Florida\"."},"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180},"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."}},"required":["name","lat","lng"]},"depth":{"type":"integer","enum":[1,2,3],"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)."}},"required":["scope"],"anyOf":[{"required":["image_url"]},{"required":["image_b64"]}]}},{"name":"check_credits","description":"Check the authenticated Oceanir account's current credit balance and remaining monthly allowance.","inputSchema":{"type":"object","properties":{}}}]}