The same thought keeps coming back whenever I look at geospatial AI: too much useful work is still trapped in slow, manual interfaces.
Someone opens a portal, clicks through search forms, downloads files, copies a bounding box, jumps to a geocoder, then checks an internal approvals tool. None of this is mysterious; it is just fragmented.
That is why MCP matters here. Not because every problem needs another chatbot, but because a composed agent stack can turn UI choreography into a question, a traceable tool chain, and a defensible answer.
The shape of that stack is getting clearer:
- A discovery layer for authoritative datasets and services.
- A place-resolution layer for turning ambiguous human geography into valid geometry.
- A retrieval and processing layer for actual data operations.
- A governance layer so this can survive contact with enterprise reality.
- An orchestration layer that routes work to the right model and the right tool at the right time.
Themes carried from the earlier LinkedIn post
The LinkedIn thread that led to this draft had four recurring ideas, and they still hold:
- Most geospatial AI pain is not in model quality. It is in UI choreography.
- Narrow components with explicit contracts beat one giant, vague “do-everything” agent.
- Portals are temporary. Durable value sits in services, workflows, and evidence trails.
- The end state is not one-shot answers. It is persistent monitoring plus governed recomputation.
This post extends those ideas with concrete stack boundaries, standards, and orchestration patterns.
Digital Atlas of Australia as the discovery layer
In daa_mcp, I wrapped the Digital Atlas of Australia search API as a Go MCP server. The target is the Digital Atlas endpoint at https://digital.atlas.gov.au/api/search/v1, with a very narrow tool surface:
atlas_list_collectionsatlas_search_itemsatlas_answer_query
That narrowness is deliberate. Discovery tools should be boring, explicit, and provenance-heavy. If an agent cannot reliably name the dataset, map, or document it found, and where it came from, it should not improvise higher-order spatial reasoning.
This is the first important pattern for enterprise AI engineering: do not ask the model to remember the catalog. Ask the catalog.
In practice, a user should be able to ask “what hazard datasets are relevant around this place?” and get source URLs, approximate bounds, and the inventory used to produce the answer. That alone is a major improvement over portal-clicking.
DevSeed’s Gazet is the missing place-resolution layer
The more interesting development lately is not another catalog wrapper. It is the rise of narrower geospatial AI components that do one thing well.
Development Seed’s Gazet is a very good example. It is a lightweight natural-language geocoder and GIS operations system over Overture and Natural Earth parquet datasets. The point is not to sound impressive. The point is to turn a phrase like “the northern half of India” or “districts along the Ganges” into valid geometry and spatial SQL.
That matters because geospatial systems usually break before the raster math starts. They break at the human-language boundary: fuzzy place names, overlapping regions, ambiguous jurisdictions, rivers that matter politically but not administratively, borders people describe one way and datasets encode another.
DevSeed’s public write-up on Gazet is refreshing because it avoids frontier-model mysticism. They fine-tuned a Qwen 3.5 0.8B model, generated around 70k validated training pairs, and built a system that runs on CPU, packages into a single container, and emits valid geometry. The model card shows an 812 MB Q8 GGUF artifact. That is software engineering.
The surrounding design is exactly the structure geospatial AI needs:
- fuzzy candidate search against Overture divisions and Natural Earth
- DuckDB-backed in-memory spatial SQL
- GeoJSON output rather than vague textual summaries
- a path toward execution-feedback loops and CodeAct-style tool use
Gazet is not an MCP server today, but it is exactly the kind of component that should sit behind one. A Digital Atlas MCP answers “what data exists?”. A Gazet-style place tool answers “what geometry did the user mean?”. Keeping those jobs separate reduces hallucination at both layers.
Skills and MCPs are complementary, not interchangeable
Development Seed’s public skills repository reinforces the same architectural idea from another angle. Skills package workflow knowledge and output structure; MCP servers package live tool access.
That distinction matters. A skill can tell an agent how to build a VEDA story, export an issue to markdown, or set up a Python repo. An MCP server lets that same agent call live APIs, inspect datasets, or resolve fresh operational context.
Enterprise AI work needs both. One gives you procedure. The other gives you reach.
STAC, GDAL, and the rest of the operational path
Once discovery and place resolution are handled, the rest of the geospatial chain looks familiar again.
STAC remains the right interoperability layer for item and asset selection. GDAL, QGIS-style tooling, OSM connectors, Earthdata accessors, and similar MCPs remain the right place for the sharp-edged operational work: clipping, reprojection, vector joins, raster access, metadata inspection, and export.
This is why I still do not buy the idea of a single universal geospatial MCP. Real systems are layered:
| Layer | Job | Example |
|---|---|---|
| Discovery | Find authoritative datasets, maps, and documents | daa_mcp |
| Place resolution | Turn language into geometry | Gazet-style geocoder / gazetteer |
| Catalog handoff | Resolve items and assets | STAC MCP |
| Workflow orchestration | Schedule and monitor long-running jobs | Argo Workflows via MCP |
| Spatial compute | Transform and analyze data | GDAL / QGIS / OSM style MCPs |
| Presentation | Package outputs for humans | VEDA-style skills, notebooks, apps |
The protocol is the plumbing. The quality comes from giving each part of the stack a narrow responsibility.
This is the same systems lesson in geospatial form: trying to make one component do discovery, place semantics, heavy compute, and governance usually creates brittle architecture. Small explicit layers look less magical, but they survive production.
EO processing standards are now part of the same stack
This is where real operations begin. Once a question needs heavy lifting, you need a standards-aligned processing path, not just another API call.
I think of it as three aligned pieces:
- eoAPI as the service substrate (STAC, tiles, PostGIS-adjacent query surfaces)
- openEO UDFs for custom analysis logic that does not fit built-in processes
- OGC API - Processes as a portable execution contract for geospatial jobs
This matters because of execution portability, not standards purity. If a workflow is represented through openEO process graphs, UDF hooks, and OGC process semantics, you are no longer trapped in one vendor UI or one internal notebook convention.
The openEO side is especially useful because it is explicit about chunked execution and long-running back-end jobs. run_udf and related process patterns (apply_dimension, apply_neighborhood, reduce_dimension) are built for data-cube scale operations where synchronous request/response is the wrong abstraction.
OGC API - Processes complements this by giving a common HTTP interface for process descriptions, inputs, execution, and result retrieval. That is the bridge between geospatial compute and enterprise service design: you can expose processing as a governed capability, not just a script somebody knows how to run.
eoAPI then provides a practical packaging layer around STAC-first infrastructure (pgSTAC, stac-fastapi, titiler-pgstac, tipg). Data discovery and data services stay first-class while compute orchestration grows around them.
Long-running analysis needs workflow orchestration, not prompt retries
When EO analysis becomes asynchronous (tiling, temporal composites, model inference over large extents, zonal stats at scale), agent architecture must move from “call tool, get answer” to “submit job, monitor, collect artifacts, summarize result”.
This is exactly where Argo Workflows patterns fit, and why Argo-flavored MCP servers are interesting. The MCP Market Argo server by jakkaj exposes workflow submission/status/result retrieval through JSON-RPC. That maps naturally to agent behavior:
- build a workflow payload from resolved geometry + selected assets
- submit to workflow engine
- poll status with bounded retries and timeout policy
- fetch outputs and register artifact locations
- return a grounded summary with links to outputs and provenance
Critically, outputs here are not only text. They can be Cloud Optimized GeoTIFFs, STAC Items, GeoParquet extracts, vector tiles, QA reports, or model feature embeddings. For geospatial agents, the right response class is generated artifacts plus explainable metadata, not just a paragraph.
If you combine this with gateway policy (auth, quotas, audit) and model routing, you end up with a more durable operating model:
- language models interpret intent and coordinate tools
- workflow systems execute expensive, long-running spatial jobs
- standards-based APIs keep outputs portable across teams and platforms
That is much closer to “EO production system” than “chatbot with map screenshots”.
Why enterprises should care: this is really about UI replacement
The bigger opportunity is not just geospatial search. It is enterprise task conversion.
Most corporate and government knowledge work still lives in forms, portals, dashboards, policy systems, and browser tabs. Much of it is manual API orchestration done by humans through UIs.
We should be blunt about portal economics. Most are disposable visual sales tools, one level up from a PowerPoint deck. They are useful while an initiative is being socialized or funded, but once that phase passes, maintenance becomes hard to justify.
The exception is when the interface itself is the monetized product. If the UI is a booking or experience engine, like Airbnb, Uber, or Netflix, the interface is the business and ongoing investment is obvious. If it is only a discovery surface, the long-term value is usually in the underlying services and automations, not the glossy front end.
That is where agent stacks become interesting: not “replace staff with a bot”, but “replace repetitive navigation with question answering backed by orchestrated tools”.
For example:
- use a Digital Atlas MCP to find relevant public datasets
- use a Gazet-style tool to resolve the place phrase into geometry
- use STAC or downstream data APIs to locate assets
- use GDAL or analytics tools to extract what matters
- use an internal engineering or policy system to fetch approvals, tickets, or previous decisions
- return one answer with links, bounds, intermediate evidence, and the exact tools invoked
That is a much more defensible enterprise AI story than a generic assistant sitting on top of a screen scraper.
The enterprise layer above the tools: gateway patterns
Of course, the moment you try to productionize this, you run into the boring parts that actually matter: auth, quotas, observability, data leakage, audit, policy, and cost.
At that point, the conversation should move from product selection to gateway patterns. Martin Fowler’s gateway pattern framing is useful because it centers controlled mediation between clients and backend capabilities, which maps directly onto agent-to-tool and agent-to-service boundaries.
The first pattern is identity mediation. Agent calls need to carry a clear identity boundary between user, agent, and downstream systems, with policy checks at each boundary.
The second pattern is protocol normalization. Teams will mix chat payloads, tool calls, MCP traffic, and legacy APIs. The gateway has to normalize those flows so routing and controls are consistent.
The third pattern is cost and budget governance. Token and request spend cannot be an afterthought. Per-key, per-team, and per-tier budgets need to be enforceable in the traffic path, not in a monthly spreadsheet.
The fourth pattern is safety policy composition. Guardrails are rarely one thing. In practice you need layered controls: authentication, content moderation, prompt-injection checks, data-loss prevention, and explicit deny behavior.
The fifth pattern is telemetry with replayable evidence. A useful gateway record is not just “request succeeded”. It is who called what, with which policy version, routed to which provider or tool, at what cost, with what outcome.
I still mention Kong mainly as a signal of category maturity, not as a single implementation path. The same pattern language also shows up in Otoroshi’s AI gateway model: provider abstraction, OpenAI-compatible route surfaces, API-key enforcement, metadata-driven budgets, moderation and regex guardrails, plus extension-based control points.
Whether a team uses Kong, Otoroshi, or another gateway stack is less important than whether these patterns are explicit. Enterprises want MCPs and agent flows, but they need them behind durable control planes instead of scattered sidecars with weak visibility.
Once agents start calling internal systems, this layer becomes unavoidable. Someone will want to know who called what, with which identity, against which policy, and how many tokens or requests that answer burned to produce.
Small models are not a concession, they are often the right architecture
The other part of this conversation that is becoming more honest is model size.
Development Seed’s Gazet makes the point very clearly: many geospatial tasks are structured enough that a small model, grounded to the right schema and surrounded with the right tooling, is better engineering than throwing a giant model at the problem.
That also lines up with what NVIDIA has been highlighting around agentic workloads. Their recent MiniMax M2.7 material is not about a universal oracle; it is about efficient agentic harnesses, tool calling, and orchestration-friendly serving with explicit tool-call parsers, auto-tool-choice, and a runtime story through vLLM, SGLang, NIM, and NemoClaw.
MiniMax M2.7 is not “small” in total parameter count, but it is architected in the direction the market is moving: sparse activation, efficient serving, orchestration hooks, and infrastructure that treats tools as first-class. The important lesson is not the specific model; it is the pattern.
The pattern looks like this:
- small or moderate specialist models where the task is structured
- larger reasoning models only where the ambiguity genuinely demands them
- explicit tool routing rather than one giant model pretending to be every subsystem
For geospatial and enterprise workflows, that is just common sense.
The real end state
The end state here is not “chat with your maps”.
It is something more useful:
- take a question expressed in normal language
- resolve the place semantics properly
- discover the authoritative data sources
- retrieve or compute what is needed, including expensive long-running analytics when required
- enforce enterprise controls on the path
- return an answer that is fast, inspectable, and grounded in tools
Beyond one-shot questions, run persistent agents that watch for change over time. For hazard operations, that means continuously tracking weather, flood signals, fire risk, and related event streams, then escalating when deviation from steady state crosses defined thresholds.
The same pattern applies to slower domains such as seasonal wheat growth. A persistent agent should infer baseline behavior from historical and current EO catalogs, run heavy analysis when confidence drops, and react when observed trajectories diverge from expected seasonal dynamics.
This is where long-running workflows and persistent agents work together: the workflow engine handles expensive catalog-scale computation, while the agent handles temporal monitoring, trigger logic, and action routing.
That operational loop was the key point in the earlier LinkedIn post, and it is worth repeating: in enterprise geospatial systems, value compounds when agents watch state over time and selectively escalate computation, not when they generate one more static summary.
That is what turns manual UI work into operational question answering.
For geospatial work, it means less tab-hopping and more reproducible spatial reasoning. For enterprise AI more broadly, it means agents stop being a decorative chat layer and start looking more like a disciplined API and workflow orchestration fabric.
Better than another dashboard, frankly.
If you are building in this direction, the interesting design questions are no longer “which model is smartest?” They are:
- where should discovery stop and reasoning begin?
- which place-resolution tasks deserve their own narrow model?
- which tools should be exposed directly as MCPs versus hidden behind workflow skills?
- what sits at the gateway for auth, quotas, audit, and A2A telemetry?
- which monitoring loops should run continuously, and what deviations should trigger expensive recomputation or human escalation?
That is engineering, not theatre.
References
- DAA MCP repo: https://github.com/whatnick/daa_mcp
- Development Seed Gazet blog: https://developmentseed.org/blog/2026-04-29-gazet/
- Development Seed Gazet repo: https://github.com/developmentseed/gazet
- Development Seed Gazet model: https://huggingface.co/developmentseed/gazet-model
- Development Seed skills repo: https://github.com/developmentseed/skills
- Development Seed skills directory: https://github.com/developmentseed/skills/tree/main/skills
- Kong AI Gateway: https://konghq.com/products/kong-ai-gateway
- Otoroshi AI gateway tutorial: https://www.otoroshi.io/docs/tutorials/setup-ai-gateway-with-otoroshictl?_highlight=ai
- Otoroshi AI gateway topic: https://www.otoroshi.io/docs/topics/ai-gateway
- Martin Fowler, gateway pattern: https://martinfowler.com/articles/gateway-pattern.html
- Geospatial MCP search: https://mcpmarket.com/search?q=Geospatial
- eoAPI: https://eoapi.dev
- OGC API - Processes overview: https://ogcapi.ogc.org/processes/
- openEO UDFs: https://openeo.org/documentation/1.0/udfs.html
- openEO process definitions (
run_udf,run_ogcapi, etc.): https://processes.openeo.org/ - Argo Workflows docs: https://argo-workflows.readthedocs.io/en/latest/
- Argo MCP listing (
jakkaj/mcp-argo-server): https://mcpmarket.com/server/argo - NVIDIA MiniMax M2.7 agentic workflows: https://developer.nvidia.com/blog/minimax-m2-7-advances-scalable-agentic-workflows-on-nvidia-platforms-for-complex-ai-applications/
- STAC MCP listing: https://mcpmarket.com/server/stac
