# mahdin75/geoserver-mcp [Health: Active]

**Category:** 🗺️ Location Services  
**Repository:** https://github.com/mahdin75/geoserver-mcp  
**GitHub Stars:** 89  
**npm Downloads (last month):** 30651  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mahdin75-geoserver-mcp

## Description
A Model Context Protocol (MCP) server implementation that connects LLMs to the GeoServer REST API, enabling AI assistants to interact with geospatial data and services.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "geoserver-mcp": {
    "command": "npx",
    "args": ["-y","@smithery/cli"],
    "env": {
      "GEOSERVER_URL": "",
      "GEOSERVER_USER": "",
      "GEOSERVER_PASSWORD": ""
    }
  }
}
```

**Requires environment variables:** `GEOSERVER_URL`, `GEOSERVER_USER`, `GEOSERVER_PASSWORD` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What mahdin75/geoserver-mcp MCP server does

mahdin75/geoserver-mcp MCP server gives an MCP-compatible AI client access to a GeoServer installation through the GeoServer REST API. It is intended for environments where an agent needs to inspect or modify published geospatial resources, perform spatial queries, or work with map and OGC service configuration.

The documented feature set covers workspace, datastore, coveragestore, layer, layer group, user, user group, feature type, attribute, and style management. It also includes system and service operations, style XML utilities, map visualization, and access to WMS and WFS services.

## How it works

The primary deployment is a Python MCP process running separately from GeoServer. The process communicates with the MCP client and sends requests to the configured GeoServer REST API. A running GeoServer instance with REST enabled is therefore required, as is Python 3.10 or newer when using the Python installation.

The repository also describes a separate GeoServer extension. That artifact is installed inside GeoServer and exposes a remote MCP endpoint at `/geoserver/mcp`; it does not require a Python sidecar and is aimed at GeoServer 2.28.x. The extension and Python package are separate deployment options, not interchangeable installation steps.

## Setup and configuration

For the Python package, install `geoserver-mcp` into a Python 3.10+ environment, then start the `geoserver-mcp` executable. The server accepts the GeoServer connection through `GEOSERVER_URL`, `GEOSERVER_USER`, and `GEOSERVER_PASSWORD`, or through corresponding command-line options such as `--url`, `--user`, and `--password`. A debug option is also documented.

Docker is another documented route. The image is `mahdin75/geoserver-mcp`; client configurations pass the GeoServer URL and credentials into the container as environment variables. Claude Desktop and Cursor configuration examples are included. Smithery installation is also documented for Claude Desktop, but it is an installer route rather than the project’s own server command.

## Tools and capabilities

The README groups the available operations into these areas:

- List and inspect resource endpoints
- Manage workspaces
- Manage datastores and coveragestores
- Create or modify layers and layer groups
- Manage users and user groups
- Work with feature types and attributes
- Manage styles and use style XML utilities
- Perform system and service operations
- Run spatial queries on vector data
- Retrieve layer information and generate map visualizations

The exact tool names and request schemas are not provided in the supplied material, so client integrations should verify those details from the project documentation before building automation around them.

## Limitations and notes

The project labels version 0.5.0 as beta and under active development. It requires access to a live GeoServer REST API; the MCP package is not described as a standalone geospatial database or file-processing server. Credentials must be supplied for the configured GeoServer connection, and the example values in the README should be replaced with credentials appropriate to the target installation.

The Python server and GeoServer extension should be evaluated separately. The extension’s stated compatibility target is GeoServer 2.28.x, while the supplied material does not specify an equivalent version range for the Python deployment.

_Full upstream README: https://allmcps.com/mcp/mahdin75-geoserver-mcp/readme_

