# mahdin75/geoserver-mcp [Health: Active]

**Category:** 🗺️ Location Services  
**Repository:** https://github.com/mahdin75/geoserver-mcp  
**GitHub Stars:** 95  
**Views:** 5  
**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
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "geoserver-mcp": {
    "url": "https://mcp.so/server/Geoserver%20MCP%20Server/mahdin75"
  }
}
```

## 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

## 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.

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

