Locateanything
FreeNot checkedA local GeoGuessr-for-real-life: reads EXIF GPS and reasons over visual clues using a local uncensored vision-language model + a reasoning model — no cloud, no
About
A local GeoGuessr-for-real-life: reads EXIF GPS and reasons over visual clues using a local uncensored vision-language model + a reasoning model — no cloud, no API keys, nothing uploaded.
README
locateanything
Drop in a photo → get ranked location guesses. 100% local, powered by an uncensored vision + reasoning model.
#osint #geoint #geolocation #llm #vision #self-hosted
A local GeoGuessr-for-real-life: it reads EXIF GPS and reasons over visual clues (signage, plates, architecture, flora, sun position) using a local uncensored vision-language model + a reasoning model — no cloud, no API keys, nothing uploaded.
pip install "cognis-locateanything[img]"
fleet up vision reasoning # via https://github.com/cognis-digital/uncensored-fleet
locate photo.jpg # → ranked candidates + rationale
locate photo.jpg --format json
locate photo.jpg --exif-only --format geojson # offline EXIF fix, straight onto a map
Output formats
--format |
use |
|---|---|
table (default) |
human-readable ranked candidates |
json |
machine-readable, for pipelines / evidence logs |
geojson |
RFC 7946 FeatureCollection — open in QGIS, Leaflet, Mapbox, geojson.io |
--exif-only is a deterministic, offline, model-free run that uses only the
embedded EXIF GPS fix — ideal for CI, batch triage, or air-gapped review.
🔎 Example output
Real, reproducible output from the tool — runs offline:
$ locateanything-emit --version
locateanything 0.1.0
$ locateanything-emit --help
usage: locate [-h] [--version] [--format {table,json,geojson}] [--exif-only]
image
Infer where a photo was taken (local VL + reasoning model).
positional arguments:
image path to an image
options:
-h, --help show this help message and exit
--version show program's version number and exit
--format {table,json,geojson}
--exif-only offline, deterministic: use only embedded EXIF GPS,
skip the VL/reasoning models
Blocks above are real
locateanythingoutput — reproduce them from a clone.
Sample result format (illustrative values — run on your own data for real findings):
{
"findings": [
{
"id": "1234567890",
"title": "Suspicious Activity Detected",
"description": "An unknown actor has been observed attempting to access a sensitive system.",
"created_at": "2023-02-15T14:30:00Z",
"updated_at": "2023-02-15T14:30:00Z",
"labels": ["suspicious", "malware"],
"indicators": [
{
"type": "ip",
"value": "192.0.2.1"
},
{
"type": "domain",
"value": "example.com"
}
]
}
]
}
Usage — step by step
- Install the CLI (console-script:
locate):pipx install "git+https://github.com/cognis-digital/locateanything.git" locate --version - Infer where a photo was taken (runs entirely on a local vision + reasoning model):
locate ./photo.jpg - Get machine-readable output for pipelines or evidence logs:
locate ./photo.jpg --format json > location.json - Read the result — parse the JSON for the inferred location and rationale:
jq '.' location.json - In CI/batch, loop over a folder of images and collect findings:
for f in images/*.jpg; do locate "$f" --format json; done > all_locations.jsonl
Demos
Worked, runnable scenarios live in demos/ — each has a SCENARIO.md and,
where relevant, a sample image carrying a real public landmark coordinate in EXIF so you
can run it end-to-end offline with --exif-only. (Re)generate the sample images with
python scripts/make_demo_images.py.
| # | Scenario |
|---|---|
| 01 | Basic run — full VL + reasoning |
| 02 | EXIF GPS fix, offline (no models needed) |
| 03 | Batch a folder into JSONL |
| 04 | GeoJSON export → drop straight onto a map |
| 05 | Southern + Western hemisphere (sign handling) |
| 06 | Disaster-response / situational awareness |
| 07 | Maritime / port geolocation (suite interop) |
| 08 | Evidence chain + forward to STIX/MISP/Slack |
| 09 | No EXIF → visual-clue inference |
Architecture
flowchart LR
IMG[📷 image] --> EXIF[EXIF GPS parse]
IMG --> VL[Uncensored VL model<br/>visual clues]
EXIF --> R[Reasoning model<br/>rank candidates]
VL --> R
R --> OUT[Ranked locations + rationale<br/>table / JSON / GeoJSON / MCP]
Use it from any AI stack
- MCP server (
locate mcp) for Claude Desktop / Cursor / uncensored-fleet - JSON output pipes into any agent · LangChain/CrewAI tool in one line · plain CLI
⚠️ Responsible use
For OSINT, journalism, and research. Get consent before geolocating images of people or private property, and comply with local law. You are responsible for your use.
Related
🤖 uncensored-fleet · 🧠 engram · 🔍 geolens · 🗂️ the suite
⭐ If this is cool, star it — it helps others find it.
Interoperability
locateanything composes with the 300+ tool Cognis suite — JSON in/out and a shared
OpenAI-compatible /v1 backbone. See INTEROP.md for the
suite map, composition patterns, and reference stacks.
Integrations
Forward locateanything's findings to STIX/MISP/Sigma/Splunk/Elastic/Slack/webhooks via
cognis-connect. See INTEGRATIONS.md.
License
COCL v1.0 — see LICENSE.
Installing Locateanything
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/cognis-digital/locateanythingFAQ
Is Locateanything MCP free?
Yes, Locateanything MCP is free — one-click install via Unyly at no cost.
Does Locateanything need an API key?
No, Locateanything runs without API keys or environment variables.
Is Locateanything hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Locateanything in Claude Desktop, Claude Code or Cursor?
Open Locateanything on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Locateanything with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
