Oceanir
Locate photos from visual clues and assess location claims with candidates and uncertainty.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"oceanir": {
"url": "https://mcp.oceanir.ai"
}
}
}遠端端點
https://mcp.oceanir.aistreamable-http它能做什麼
工具清單
工具(3)
🟢geolocate_image(image_url, image_b64, depth, scope)
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.
輸入結構描述
{
"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"
]
}
]
}⚪verify_location_claim(image_url, image_b64, scope, depth)
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.
輸入結構描述
{
"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"
]
}
]
}🟢check_credits
Check the authenticated Oceanir account's current credit balance and remaining monthly allowance.
輸入結構描述
{
"type": "object",
"properties": {}
}社群
證據