Geocluster Tools

What gives an AI agent hands on geology data and scanned maps.

Two MCP servers behind our agents: one for tabular and spatial geoscience data, one for turning a scanned geological map into structured evidence.

An agent that reasons well is still useless on geology data if it reads a detection limit written "<0.005" as the number 0.005, or loads an entire assay table into context and loses track of what's in it. MCP (Model Context Protocol) is how we give an agent a fixed, checkable set of tools instead of letting it write throwaway scripts against raw files. Two servers do that work for us.

Geocluster MCP: tabular and spatial data

Geocluster MCP is a Python MCP server built on FastMCP, exposing sixty-plus tools for geoscience data: inspection, cleaning, spatial operations, transforms, clustering, anomaly detection, plotting and 3D voxel construction. It's the tool layer behind the Geocluster Research Harness.

The Geocluster Research Harness UI, the front end that calls Geocluster MCP's tools
Geocluster MCP is the tool layer behind this UI, covered in Meet the Geocluster Research Harness.

Ten tool sections, one workspace jail

Sixty-plus tools across hygiene, spatial ops, transforms, features, anomaly detection, clustering, visualization, provenance, cleaning and verification. Every path is checked against a workspace root before a tool touches it.

Tool name as access control

An agent is restricted to a subset of tools by matching a substring against tool names, not a separate permissions table. Voxel tools all start with voxel_, text classification tools all start with classify_text_, and both prefixes are pinned by tests so a rename cannot silently widen what an agent can reach.

Results never overwrite input

Output lands in a results/ folder next to the source file, or in voxel_store/ and viz/ at the workspace root. The file an agent was handed stays exactly as it was handed.

Runs inside the IDE container

One FastMCP server per project, reached over SSE by the Cline-based geology agent and its child CLI. Voxel construction and text classification are separate subsystems on top of the same tool registry.

Stratigraphic Amenity: scanned maps as evidence

Stratigraphic Amenity is a Python SDK and local MCP server, reached over stdio, for turning a scanned geological map image into evidence an agent can cite rather than guess at. The package name is stratigraphic-amenity; the code also carries an earlier internal prefix, geomap_, kept as domain vocabulary rather than a second product name.

Exploded diagram of a geological map sheet split into layers: a transparent knowledge layer of drill holes and mineral occurrences floating above the coloured map crop, with the legend and title block pulled out below it
From one map sheet to separate, usable layers. Layout detection and georeferencing are covered in full in Detecting Map Layout and Legends and Georeferencing a Scanned Geological Map.

Map layout detection

A YOLOv10 model (from Microsoft PEACE) finds the title, main map, legend, scale bar and cross-sections on a scanned map image, returning bounding boxes, crops and a legend-entry list with colours.

Georeferencing

Pixel coordinates become longitude and latitude (EPSG:4326) through an affine fit from ground control points supplied by the caller, plus CRS conversion with pyproj.

Geological knowledge retrieval

Ten providers cover rock type and age, earthquake history, active faults, mineral occurrence, land cover and population density, plus semantic search over a geological corpus, one query per area or legend label.

Evidence, not answers

No OCR, no vision-language model, no automatic ground-control-point extraction is built in. Legend text and coordinates have to come from the caller; the server renders and cites evidence rather than guessing at a reading.

A local file path is never shown to the model that's using the tool. Every asset is referenced through an opaque geomap:// URI, and any path field in a response is redacted before it leaves the server.