Oceanir
REMOTE · MCP.OCEANIR.AI
Locate photos from visual clues and assess location claims with candidates and uncertainty.
Available components
Last scanned (3 hours ago)
Scores higher than 76% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Maps and Location
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability70
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1457 tokens (~161/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
- Tool “geolocate_image” rewrote its description, which is the text the model reads security
- Tool “verify_location_claim” rewrote its description, which is the text the model reads security
- Schema quality: 223 → 161 ▲ functional
- Schema quality: good → excellent functional
- New tool “analyze_case_image” functional
- New tool “create_case” functional
- New tool “get_case_summary” functional
- New tool “get_usage” functional
- New tool “list_analyses” functional
- New tool “list_cases” functional
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 0
- Stability: unverified → 0.03 ▲ functional
- 2 Nov 26 76
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.oceanir.ai
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=oceanir.ai | CN=WE1,O=Google Trust Services,C=US | 16 Oct 2026 | 14 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | 413b041cc26536360ec724af60409510 |
| SANs: oceanir.ai, *.oceanir.ai | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.oceanir.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 1814, 3799 | 8, 8 | Verified |
| oceanir.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="oceanir-mcp", resource_metadata="https://mcp.oceanir.ai/.well-known/oauth-protected-resource"
Bearer realm="oceanir-mcp", resource_metadata="https://mcp.oceanir.ai/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | accelerometer=(), camera=(), geolocation=(self), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=() |
Protected resource metadata
| Document | https://mcp.oceanir.ai/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.oceanir.ai |
| Authorisation server | https://app.oceanir.ai/api/auth |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.oceanir.ai | Verified | 200 | |
| http (plaintext) | http://mcp.oceanir.ai | HTTPS enforced | 301 | https://mcp.oceanir.ai/ |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze_case_image Analyze an image into a case ~234
Analyze one image and attach the result to an existing case. Spends credits (D1 1, D2 2, D3 10) exactly like geolocate_image. Capped at 20 analyses an hour across all Oceanir analysis tools, and a connected app is limited to depth 2. Returns the analysis and the case id. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| case_id | string | yes | A case id from list_cases or create_case. |
| depth | integer | – | Analysis depth. 1 = Surface (1 credit). 2 = Standard (2 credits). 3 = Forensic (10 credits; agent tokens with maximum depth 3 only). |
| image_b64 | string | – | Base64-encoded image bytes (no data: prefix). |
| image_url | string | – | Public HTTPS URL to the image to analyze. |
No output schema declared.
No examples provided.
check_credits Check Oceanir credits ~24
Check the authenticated Oceanir account's current credit balance and remaining monthly allowance.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
create_case Create an Oceanir case ~74
Create an empty case to group related results. Free: it spends no credits. Returns the case id to pass to analyze_case_image.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Optional context, such as the location the source claims. |
| name | string | yes | A label you will recognise, for example the listing or claim it is about. |
No output schema declared.
No examples provided.
geolocate_image Locate a photo ~307
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. Capped at 20 analyses an hour across all Oceanir analysis tools, and a connected app is limited to depth 2 (an agent token with maximum depth 3 can use depth 3). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | 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). |
| image_b64 | string | – | Base64-encoded image bytes (no data: prefix). |
| image_url | string | – | Public HTTPS URL to the image to analyze. |
| scope | object | – | 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-… |
No output schema declared.
No examples provided.
get_case_summary Summarize an Oceanir case ~116
Read a case's summary: what it holds, the results attached to it and where they point. Read-only: it never runs an analysis and never spends credits. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| case_id | string | yes | A case id from list_cases or create_case. |
No output schema declared.
No examples provided.
get_usage Check Oceanir usage ~45
Read the last 30 days of Oceanir usage for the authenticated account: calls, credits used, a breakdown by depth, and what remains. Read-only; it never spends credits.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_analyses List past Oceanir results ~175
List this account's past Oceanir results, newest first: place, coordinates, confidence, depth and date. Read-only: it never runs a new analysis and never spends credits. Use it to find an earlier result instead of analyzing the same image again. Accounts with analysis history switched off return nothing. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | – | Optional exact city name to filter by. |
| limit | integer | – | How many results to return, newest first. |
| query | string | – | Optional text to match against the neighborhood, city or file name. |
No output schema declared.
No examples provided.
list_cases List Oceanir cases ~64
List this account's cases (named groups of results), newest first, with their ids. Read-only: it never runs an analysis and never spends credits. Use the returned id with get_case_summary or analyze_case_image.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many cases to return. |
No output schema declared.
No examples provided.
verify_location_claim Check a photo location claim ~384
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. Capped at 20 analyses an hour across all Oceanir analysis tools, and a connected app is limited to depth 2 (an agent token with maximum depth 3 can use depth 3). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | 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). |
| image_b64 | string | – | Base64-encoded image bytes (no data: prefix). |
| image_url | string | – | Public HTTPS URL to the image to test. |
| scope | object | yes | 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-… |
No output schema declared.
No examples provided.
How do I install the Oceanir MCP server?
Oceanir is a hosted endpoint at https://mcp.oceanir.ai/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.oceanir.ai
claude mcp add --transport http oceanir-oceanir 'https://mcp.oceanir.ai/'
What is the Oceanir MCP server?
Oceanir is an MCP server listed in the public MCP registry as io.github.Oceanir/oceanir. Locate photos from visual clues and assess location claims with candidates and uncertainty. This page covers its hosted endpoint (https://mcp.oceanir.ai).
Is the Oceanir MCP server safe to use?
Oceanir scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Oceanir MCP server expose?
Oceanir exposes 9 tools: geolocate_image, verify_location_claim, check_credits, list_analyses, list_cases, and 4 more. Their descriptions and schemas cost roughly 1,423 tokens of context every time the server is loaded.
Does the Oceanir MCP server require authentication?
Yes. Oceanir asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Oceanir MCP server still maintained?
Oceanir is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.