Geoservercloud MCP server
io.github.ronitjadhav/geoservercloud-mcp·v1.0.0MCP server for managing GeoServer workspaces, datastores, layers, and styles
0 stars
Reviews
Write oneNobody has reviewed Geoservercloud yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Geoservercloud tools (76, 43 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
assign_role_to_userAssign a role to a user.
configure_geoserver_connectionConfigure the GeoServer connection at runtime. Use this to set the GeoServer URL and credentials when they are not pre-configured via environment variables.
create_acl_admin_rulewrite actionCreate a GeoServer ACL admin rule.
create_acl_rulewrite actionCreate a GeoServer ACL data rule.
create_acl_rules_for_requestswrite actionCreate one ACL data rule per request type in a single call.
create_coveragewrite actionPublish a coverage layer from a coverage store.
create_coverage_storewrite actionCreate a coverage store for raster data.
create_datastorewrite actionCreate a generic datastore with custom connection parameters.
create_feature_typewrite actionCreate a feature type (vector layer) from a database table.
create_gridsetwrite actionCreate a gridset for GeoWebCache. Supported EPSG codes: 2056, 21781, 3857.
create_imagemosaic_store_from_directorywrite actionCreate an ImageMosaic coverage store from a directory of raster files.
create_jndi_datastorewrite actionCreate a PostGIS datastore from a JNDI resource.
create_layer_groupwrite actionCreate a layer group combining multiple layers.
create_pg_datastorewrite actionCreate a PostGIS datastore connection.
create_pmtiles_datastorewrite actionCreate a PMTiles datastore.
create_rolewrite actionCreate a GeoServer role.
create_style_definitionwrite actionCreate a style catalog entry pointing at an existing style file on the server.
create_style_from_filewrite actionCreate a style by uploading a local style file (SLD, or a ZIP bundling an SLD with its images). The path is read from the machine running the MCP server.
create_style_from_stringwrite actionCreate a style from an SLD string.
create_userwrite actionCreate a GeoServer user.
create_wms_layerwrite actionPublish a layer from a cascaded WMS store.
create_wms_storewrite actionCreate a cascaded WMS store to proxy an external WMS service.
create_wmts_layerwrite actionPublish a layer from a cascaded WMTS store.
create_wmts_storewrite actionCreate a cascaded WMTS store to proxy an external WMTS service.
create_workspacewrite actionCreate a new workspace in GeoServer. If the workspace already exists, it will be updated.
delete_acl_admin_rulewrite actionDelete an ACL admin rule by ID.
delete_all_acl_admin_ruleswrite actionDelete all ACL admin rules. WARNING: This removes all admin access control rules.
delete_all_acl_ruleswrite actionDelete all ACL data rules. WARNING: This removes all access control rules.
delete_coverage_storewrite actionDelete a coverage store and all its coverages.
delete_datastorewrite actionDelete a datastore from a workspace.
delete_feature_typewrite actionDelete a feature type and its associated layer.
delete_gwc_layerwrite actionRemove tile caching for a layer from GeoWebCache.
delete_layer_groupwrite actionDelete a layer group.
delete_rolewrite actionDelete a GeoServer role.
delete_userwrite actionDelete a GeoServer user.
delete_wms_layerwrite actionDelete a WMS layer.
delete_wms_storewrite actionDelete a WMS store and all its layers.
delete_wmts_storewrite actionDelete a WMTS store and all its layers.
delete_workspacewrite actionDelete a workspace and all its contents recursively. WARNING: This will delete all datastores, layers, and styles in the workspace.
describe_feature_typeWFS DescribeFeatureType request to get schema information.
get_acl_rulesGet all GeoServer ACL data rules.
get_coverageGet details of a specific coverage.
get_coverage_storeGet details of a coverage store.
get_coveragesList all coverages (raster layers) in a coverage store.
get_datastoreGet details of a specific datastore.
get_datastoresList all datastores in a workspace.
get_featureWFS GetFeature request to retrieve features from a layer.
get_feature_typeGet details of a specific feature type.
get_feature_typesList all feature types (vector layers) in a datastore.
get_geoserver_connection_infoGet current GeoServer connection information. Shows the configured URL and username (password is hidden). Check 'configured' field to see if connection was explicitly set. If configured is 'false', ask the user for connection details and use configure_geoserver_connection() to set them.
get_gwc_layerGet GeoWebCache configuration for a layer.
get_layer_groupGet details of a specific layer group.
get_layer_groupsList all layer groups in a workspace.
get_pg_datastoreGet details of a PostGIS datastore, including its connection parameters.
get_property_valueWFS GetPropertyValue request to get values of a specific property.
get_style_definitionGet the definition of a style.
get_stylesList all styles. If workspace is provided, list workspace styles, otherwise list global styles.
get_user_rolesGet all roles assigned to a user.
get_versionGet GeoServer version information. Returns version details about the connected GeoServer instance.
get_wfs_layersGet WFS capabilities and list all feature types for a workspace.
get_wms_layerGet details of a WMS layer.
get_wms_layersGet WMS capabilities and list all layers for a workspace.
get_wms_storeGet details of a WMS store.
get_workspaceGet details of a specific workspace.
get_workspace_wms_settingsGet WMS service settings for a workspace.
get_workspacesList all GeoServer workspaces. Returns a list of all workspaces configured in GeoServer.
harvest_granules_to_coverage_storeHarvest additional granules (raster files) into an existing ImageMosaic store.
publish_granule_to_coverage_storewrite actionPublish a single granule (raster file) to an existing ImageMosaic coverage store.
publish_gwc_layerwrite actionEnable tile caching for a layer in GeoWebCache.
publish_workspacewrite actionEnable and publish WMS service for a workspace with default settings.
recreate_workspaceRecreate a workspace by first deleting it if it exists, then creating it fresh. WARNING: This will delete all existing content in the workspace.
remove_role_from_userwrite actionRemove a role from a user.
set_default_layer_styleSet the default style for a layer.
set_default_locale_for_serviceSet a default language for localized WMS requests.
unset_default_locale_for_servicewrite actionRemove the default language configured for localized WMS requests.
update_userwrite actionUpdate a GeoServer user.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan4 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 17 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Geoservercloud compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,255 servers
- Tools
- 76
- the typical server has 7
- Tools that change things
- 57%
- typical: 0%. Fewer write tools means less an agent can break
What its tools let an agent do: 30 read · 23 create · 5 change · 15 delete · 3 send or post
Install Geoservercloud in Claude Code, Cursor or VS Code
claude mcp add geoservercloud-mcp -- uvx geoservercloud-mcp
What the publisher says
From the Geoservercloud repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.ronitjadhav/geoservercloud-mcp -->
An MCP server that wraps the python-geoservercloud library, exposing 80+ GeoServer operations as natural-language tools for AI assistants like Claude, VS Code Copilot, and other MCP-compatible clients.
Once connected, you can just ask:
- "List all workspaces in GeoServer"
- "Create a new workspace called testdata"_
- "Publish the roads table from my PostGIS database"
Quick start (Claude Code)
One command — no manual install, uvx fetches and runs the server for you.
Simplest — no credentials up front:
claude mcp add geoserver -- uvx geoservercloud-mcpThe AI will ask you for the GeoServer URL, username, and password when it first needs them. Great for trying it out or switching between servers.
Or set the connection up front:
claude mcp add geoserver \
--env GEOSERVER_URL=http://localhost:8080/geoserver \
--env GEOSERVER_USER=admin \
--env GEOSERVER_PASSWORD=geoserver \
-- uvx geoservercloud-mcpThat's it — start Claude Code and ask it to list your workspaces to confirm it's connected.
Manage it later with claude mcp list, claude mcp get geoserver, or claude mcp remove geoserver. Add --scope user to the add command to make it available in every project instead of just this one.
Other clients
Claude Desktop
Add this to your config file, then restart Claude Desktop:
- macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json
- Linux: ~/.config/Claude/claudedesktopconfig.json
{
"mcpServers": {
"geoserver": {
"command": "uvx",
"args": ["geoservercloud-mcp"],
"env": {
"GEOSERVER_URL": "http://localhost:8080/geoserver",
"GEOSERVER_USER": "admin",
"GEOSERVER_PASSWORD": "geoserver"
}
}
}
}VS Code / Cursor
Add this to .vscode/mcp.json:
{
"servers": {
"geoserver": {
"command": "uvx",
"args": ["geoservercloud-mcp"],
"env": {
"GEOSERVER_URL": "http://localhost:8080/geoserver",
"GEOSERVER_USER": "admin",
"GEOSERVER_PASSWORD": "geoserver"
}
}
}
}Install manually (pip / uvx)
# with pip
pip install geoservercloud-mcp
geoservercloud-mcp
# or run without installing (requires uv: https://docs.astral.sh/uv/)
uvx geoservercloud-mcpPublished to the MCP Registry as io.github.ronitjadhav/geoservercloud-mcp.
Environment variables
All three are optional — if you skip them, you can configure the connection at runtime by asking the AI.
Development
Want to run it from source or contribute?
git clone https://github.com/ronitjadhav/geoservercloud-mcp.git
cd geoservercloud-mcp
poetry install # set up the environment
poetry run pytest # run the tests
poetry run geoservercloud-mcp # run the server (stdio)Need a GeoServer to test against? cd docker && docker compose up -d spins up GeoServer + PostGIS + the MCP server.
For the full workflow — adding new tools, linting, releasing, and how publishing works — see the Developer Guide.
Python library
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Geoservercloud: common questions
- Is Geoservercloud MCP server safe?
- Mostly: it is graded B (83/100). Read the Geoservercloud safety report
- How do I install Geoservercloud?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Geoservercloud need an API key?
- Yes. The registry entry asks for
GEOSERVER_PASSWORD. - Is Geoservercloud maintained?
- The last commit was 56 days ago (2026-09-09). The latest release is v1.0.0.
- How does Geoservercloud compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,255 servers); tools 76 (the typical server has 7); tools that change things 57% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.