geolens-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEOLENS_TOKEN | No | JWT bearer token, used only when GEOLENS_API_KEY is unset | |
| GEOLENS_API_KEY | No | API key sent as X-Api-Key; omit for public-only access | |
| GEOLENS_INSTANCE | No | Base URL of your GeoLens instance, e.g. https://geolens.example.com (/api is appended automatically) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_datasetsA | Search the GeoLens catalog for datasets by free text. Matches title, description, and keywords (semantic ranking is used
automatically when the instance has it enabled). Returns a compact
FeatureCollection ( Search does not make a detail request per result. When the catalog summary
has no health/check/refresh value, Args: query: Search text. limit: Max results (1-200, default 10). offset: Result offset for paging. |
| get_dataset_schemaA | Get a dataset's schema and source trust metadata. Returns columns (name/type/role), geometry type, CRS/SRID, feature count,
spatial extent, and the safe Args: dataset_id: Dataset id (e.g. from search_datasets). |
| get_featuresA | Get GeoJSON features for a dataset (bounded). Returns an OGC-API FeatureCollection. Raster datasets have no features and
will error. Results are capped by Args: dataset_id: Dataset id. limit: Max features (1-200, default 10). offset: Feature offset for paging. bbox: Optional bounding box filter "minx,miny,maxx,maxy" (WGS84). |
| list_mapsA | List saved maps (read-only metadata: id, name, visibility, layer count). Args: search: Optional text filter on map name/description. limit: Max results (1-200, default 50). offset: Result offset for paging. |
| get_mapA | Get a summary of one saved map: name, description, visibility, view state (center, zoom, bearing, pitch), basemap, terrain configuration and layer list. Each layer has Args: map_id: Map id (e.g. from list_maps). |
| queryA | Run one read-only SQL SELECT against accessible datasets. Executes through the server's hardened SQL sandbox: a single SELECT over
PostGIS functions allowed: ST_Area, ST_AsGeoJSON, ST_AsText, ST_Buffer,
ST_Centroid, ST_Collect, ST_Contains, ST_Distance, ST_DWithin,
ST_GeometryType, ST_GeomFromGeoJSON, ST_GeomFromText, ST_Intersects,
ST_IsValid, ST_Length, ST_MakeEnvelope, ST_MakePoint, ST_NPoints, ST_Point,
ST_SetSRID, ST_Transform, ST_Union, ST_Within, ST_X, ST_Y. ST_Collect and
ST_Union take two geometries (no aggregate form). The Requires credentials with AI-chat permission — anonymous configurations
cannot use this tool. Workflow: Args:
sql: A single SELECT statement over |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Datasets, maps, and SQL each occupy distinct tool territory, and get_map vs list_maps is clearly separated. The only mild overlap is get_features versus query, both of which retrieve row-level data, but the GeoJSON-paging vs analytical-SQL split is well explained.
Five tools follow a predictable verb_noun pattern (search_datasets, get_dataset_schema, get_features, get_map, list_maps), but the bare verb `query` breaks the pattern and is less self-describing.
Six tools is well-scoped for a read-only geospatial catalog/query server; each tool serves a distinct step in the discover-schema-inspect-analyze workflow with no filler.
The read-only surface covers search, schema/trust metadata, feature retrieval, SQL analysis, and map metadata, forming a coherent lifecycle. The notable gap is raster datasets, which have no retrieval path since get_features errors on them, and there is no way to create or modify maps (likely intentional for a read-only server).