Its reach is the story here: standing up a layer normally means clicking through store creation, feature-type publication and style assignment across several admin pages, and this collapses that into a sequence an assistant can run. The style generators are the neat part — create_classified_featurestyle turns a column and a color ramp into a working SLD, so you get a thematic map without hand-writing XML. It is still marked beta, so expect the surface to keep moving.
A server connecting an LLM to the GeoServer REST API: 56 tools covering the full admin surface — workspaces and stores, layers and feature types, SLD style generation, layer groups, security, and server status — plus WMS map rendering and CQL feature queries.
- Workspaces and layers managed directly: list_workspaces, create_workspace, list_layers, get_layer_info, create_layer and delete_resource
- Stores of every kind — create_datastore, create_featurestore, create_gpkg_datastore for GeoPackage, create_shp_datastore for shapefiles, and create_coveragestore for rasters, each with matching get_ and delete_ tools
- Feature types published and tuned: publish_featurestore, publish_featurestore_sqlview for a SQL view, get_featuretypes, edit_featuretype and get_feature_attribute for the schema
- query_features runs a CQL filter against a vector layer with property selection and a max_features cap, and generate_map renders a WMS image from layers, styles and a bounding box at a given width and height
- SLD styling both hand-fed and generated: create_style takes raw SLD, while create_catagorized_featurestyle, create_classified_featurestyle, create_outline_featurestyle and create_coveragestyle build styles from a column and a color ramp, and the style_*_xml tools return the SLD XML directly
- Layer groups assembled and edited — create_layergroup, add_layer_to_layergroup, remove_layer_from_layergroup, update_layergroup — and publish_style assigns a style to a layer
- Security administration: create_user, modify_user, delete_user, get_all_users, and the create_/delete_/get_all_usergroups tools
- Server operations — get_status, get_system_status (CPU, memory), get_version, get_manifest, reload_geoserver, reset_geoserver and update_service for OGC service options like WFS and WMS
- publish_time_dimension_to_coveragestore adds a time dimension for a coverage time series
A running GeoServer and admin credentials: GEOSERVER_URL (e.g. http://localhost:8080/geoserver), GEOSERVER_USER and GEOSERVER_PASSWORD. Python, installed from the geoserver-mcp PyPI package with the uv package manager, or run via Docker. A --storage path can root the file paths that create_gpkg_datastore and create_shp_datastore resolve against.
One command plus a key — uv pip install geoserver-mcp, then supply credentials
