Geospatial AI, inside and connected

Ask in plain language. Execute real geospatial work.

Use GeoAgent inside 3DGeoServEngine to turn natural-language requests into auditable geospatial operations. Run models locally, connect approved model services, install Claude/GPT workflow skills, or enable authenticated MCP access for external AI clients.

GeoAgentOllamaLocalAIOpenAI-compatibleClaude/GPT skillsMCP client + serverOffline / DDIL
One platform, four AI surfaces

Use the right AI boundary for the job.

Models, skills and MCP connections are complementary. Each solves a different part of the workflow without replacing the platform’s service, security or audit boundaries.

IN THE APP

GeoAgent executes governed tools

Describe an outcome in natural language. GeoAgent selects registered geospatial capabilities, exposes the tool call and parameters, and returns rendering hints for maps, rasters, profiles and tables.

See the execution model →
MODEL RUNTIME

Local, private or approved endpoints

Route text, vision and embedding workloads through Ollama, LocalAI or an approved OpenAI-compatible service. Keep sensitive and disconnected workflows on controlled infrastructure.

Review model routing →
ASSISTANT SKILLS

Claude and GPT workflow knowledge

Optional skill packages give external assistants platform terminology, data conventions and repeatable geospatial workflows—useful guidance even when no live tool connection is enabled.

Compare skills and MCP →
LIVE TOOL ACCESS

Authenticated MCP integration

Enable the server-side MCP endpoint so compatible AI clients can discover and invoke the same governed capability catalog used by GeoAgent. The inverse MCP client lets GeoAgent call external GIS tools.

See both MCP directions →
GeoAgent in the operational loop

Natural language becomes visible, reviewable execution.

GeoAgent is not a generic chatbot layered over a map. It is a tool-calling agent connected to the platform’s analysis and service registry, with map context and explicit result contracts.

CTX

Map-aware requests

Pass current layers, selected features, locations and relevant project context into the conversation.

CALL

Auditable tool selection

See the selected capability, submitted parameters, execution status and returned payload instead of trusting an unexplained answer.

DEPTH

Real analytical services

Invoke routing, hydrology, geostatistics, terrain, topology, imagery, conversion and operational capabilities through the shared registry.

OUT

Structured visualization hints

Return GeoJSON, raster, profile, chart and table instructions so the in-app experience can present the result appropriately.

Real product capture
System module panel in the client listing Diagnostics, GeoAgent AI, Operator Profile TAK and User Guide entries.
GeoAgent's entry point sits in the client's System panel alongside Diagnostics and the Operator Profile — not a separate bolted-on chatbot.
My CoT Profile (Operator Profile TAK) form in the client, with fields for title, organization, department, rank, specialty and radio contact, unfilled.
Operator Profile (TAK) — the identity broadcast on every CoT position report, from that same System panel.
Flexible model routing

Keep the application contract stable while models change.

AI providers are replaceable execution layers. The geospatial tools, validation and result formats remain platform capabilities rather than model-specific prompt tricks.

LOCAL

Ollama

Run supported language, vision and embedding models on local or edge hardware for private and disconnected workflows.

SELF-HOSTED

LocalAI

Use an OpenAI-compatible local runtime with controlled models, infrastructure and update policy.

COMPATIBLE

Approved model endpoints

Connect vLLM, LM Studio or another approved OpenAI-compatible endpoint when organizational policy permits it.

Deployment policy decides where inference runs.

Local and disconnected operation can avoid a cloud dependency. Connected deployments can route only approved workload classes to external services while retaining the same geospatial tool boundary.

Skills are guidance; MCP is a live connection

Make the integration boundary understandable.

Separating these concepts helps teams choose the least-privileged approach that still accomplishes the workflow.

LayerWhat it addsLive accessBest fit
Model providerLanguage, vision and embedding inference used inside the platformOnly through the application’s configured AI serviceIn-app chat, extraction, classification and agent reasoning
Claude/GPT skillPlatform terminology, data conventions, workflow instructions and reusable task patternsNo live access by itselfGuided analysis, repeatable procedures and better assistant behavior
MCP serverSchema-described platform tools exposed to external compatible AI clientsAuthenticated, opt-in streamable HTTPClaude Desktop, Claude Code, Cursor and compatible agent clients invoking server capabilities
MCP clientExternal MCP tools registered into GeoAgent with namespaced identitiesOutbound from GeoAgentLetting GeoAgent use tools hosted by QGIS, ArcGIS and other connected systems
Bidirectional MCP architecture

External agents can call in. GeoAgent can call out.

The MCP server and MCP client share a protocol but face opposite directions. Both retain tool identity, schema boundaries and explicit connection controls.

INBOUND / MCP SERVER

External AI → 3DGeoServEngine

Enable the server-build endpoint explicitly, configure an authenticated client, and let the client discover JSON Schema-described geospatial tools.

OUTBOUND / MCP CLIENT

GeoAgent → external GIS tools

Connect approved MCP servers and make their tools discoverable to the in-app agent without merging external code into the platform core.

MCP without the wiring tedium

A guided wizard plus a preset catalog for the common servers.

Configuring an MCP server by hand—picking a transport, composing a command line, guessing env vars—is the part teams get wrong. The built-in wizard ships one-click presets for the high-value open-source servers and validates every field.

QGIS

QGIS MCP

Featured GIS preset. Raw-TCP socket transport against the qgis_mcp plugin (port 9876). Exposes ~14 tools—load_project, add_vector_layer, execute_processing, render_map—so GeoAgent can drive a live QGIS project.

ARCGIS

ArcGIS Pro MCP

Featured GIS preset. stdio transport against the ArcGIS Pro AddIn (requires Pro running with the AddIn loaded and the .NET SDK). Tools surface as mcp:arcgis:<tool> for the agent.

FS · GIT

Filesystem and Git

Official Anthropic reference servers via npx. Point the Filesystem preset at an approved directory and let the agent read, write and grep files; expose repository state and history through Git.

GH · DB

GitHub and DuckDB

The GitHub preset (issues, search, pull requests) and duckdb_mcp let GeoAgent query repos and run SQL against attached data—all namespaced, all disconnectable.

TransportUse forWizard fields
socketQGIS MCP (raw TCP)host, port
httpAny streamable-HTTP JSON-RPC serverbaseUrl, auth
stdioThe dominant transport—all official reference servers, GitHub, ArcGIS Pro, duckdb_mcpcommand (bare executable on PATH), args, env (KEY=VALUE per line)

Security defaults, not afterthoughts.

For stdio the command must be a bare executable name resolved on PATH—absolute paths are rejected. Every connected server’s tools surface under mcp:<server-slug>:<tool>, so remote tools never masquerade as native capabilities and can be disconnected without side effects.

Ready with intentional boundaries

Live AI access stays opt-in and governed.

The MCP server is designed for the headless Web/Server deployment. It is off by default, protected by bearer authentication and intended to run behind HTTPS in production.

OFF

Disabled by default

Administrators explicitly enable the MCP endpoint; it is not silently exposed with every deployment.

AUTH

Existing API security boundary

Clients authenticate through the same bearer-token gate used by other protected server APIs.

HTTP

Streamable-HTTP transport

Connect modern compatible clients over the network without a local subprocess or desktop UI dependency.

JSON

Structured results, not remote UI control

External MCP calls receive structured JSON results. Automatic placement into a live map remains an in-app workflow rather than an implied external side effect.

Give analysts natural-language execution—and give external AI a governed way in.

Design an AI integration pilot →