io.github.ronitjadhav/geoservercloud-mcp

Official registry Productivity

MCP server for managing GeoServer workspaces, datastores, layers, and styles

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package geoservercloud-mcp
Claude Code
claude mcp add geoservercloud-mcp -e 'GEOSERVER_URL=<GEOSERVER_URL>' -e 'GEOSERVER_USER=<GEOSERVER_USER>' -e 'GEOSERVER_PASSWORD=<your geoserver_password>' -- uvx geoservercloud-mcp==1.0.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "geoservercloud-mcp": {
            "command": "uvx",
            "args": [
                "geoservercloud-mcp==1.0.0"
            ],
            "env": {
                "GEOSERVER_URL": "<GEOSERVER_URL>",
                "GEOSERVER_USER": "<GEOSERVER_USER>",
                "GEOSERVER_PASSWORD": "<your geoserver_password>"
            }
        }
    }
}

Environment variables

  • GEOSERVER_URL GeoServer base URL (default: http://localhost:8080/geoserver)
  • GEOSERVER_USER GeoServer username (default: admin)
  • GEOSERVER_PASSWORD secret GeoServer password (default: geoserver)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Quick start (Claude Code)
  2. Other clients
  3. Environment variables
  4. Development
  5. Python library

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 test_data"
  • "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-mcp

The 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-mcp

That'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/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.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-mcp

Published to the MCP Registry as io.github.ronitjadhav/geoservercloud-mcp.


Environment variables

VariableDefaultDescription
GEOSERVER_URLhttp://localhost:8080/geoserverGeoServer base URL
GEOSERVER_USERadminGeoServer username
GEOSERVER_PASSWORDgeoserverGeoServer password

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

This server is built on the python-geoservercloud library. For programmatic access without MCP:

from geoservercloud import GeoServerCloud

geoserver = GeoServerCloud(
    url="http://localhost:8080/geoserver",
    user="admin",
    password="geoserver",
)
geoserver.create_workspace("my_workspace")

Full library docs: https://camptocamp.github.io/python-geoservercloud/

Frequently asked questions

What is io.github.ronitjadhav/geoservercloud-mcp?

MCP server for managing GeoServer workspaces, datastores, layers, and styles

How do I install io.github.ronitjadhav/geoservercloud-mcp?

It runs on your machine. In Claude Code: claude mcp add geoservercloud-mcp -e 'GEOSERVER_URL=<GEOSERVER_URL>' -e 'GEOSERVER_USER=<GEOSERVER_USER>' -e 'GEOSERVER_PASSWORD=<your geoserver_password>' -- uvx geoservercloud-mcp==1.0.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.ronitjadhav/geoservercloud-mcp need an API key?

Yes. It expects GEOSERVER_PASSWORD, which you set in its configuration.

Is io.github.ronitjadhav/geoservercloud-mcp open source?

Yes. Its code is on GitHub under the BSD-2-Clause license.

Who maintains io.github.ronitjadhav/geoservercloud-mcp?

It is published by ronitjadhav. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.