{
  "markdown": "<!-- mcp-name: io.github.ronitjadhav/geoservercloud-mcp -->\n\n![GeoServer MCP](app/public/geoservercloud-mcp.png)\n\nAn MCP server that wraps the [python-geoservercloud](https://github.com/camptocamp/python-geoservercloud) library, exposing 80+ GeoServer operations as natural-language tools for AI assistants like Claude, VS Code Copilot, and other MCP-compatible clients.\n\nOnce connected, you can just ask:\n\n- _\"List all workspaces in GeoServer\"_\n- _\"Create a new workspace called `test_data`\"_\n- _\"Publish the `roads` table from my PostGIS database\"_\n\n## Quick start (Claude Code)\n\nOne command — no manual install, `uvx` fetches and runs the server for you.\n\n**Simplest — no credentials up front:**\n\n```bash\nclaude mcp add geoserver -- uvx geoservercloud-mcp\n```\n\nThe AI will ask you for the GeoServer URL, username, and password when it first\nneeds them. Great for trying it out or switching between servers.\n\n**Or set the connection up front:**\n\n```bash\nclaude mcp add geoserver \\\n  --env GEOSERVER_URL=http://localhost:8080/geoserver \\\n  --env GEOSERVER_USER=admin \\\n  --env GEOSERVER_PASSWORD=geoserver \\\n  -- uvx geoservercloud-mcp\n```\n\nThat's it — start Claude Code and ask it to list your workspaces to confirm\nit's connected.\n\nManage it later with `claude mcp list`, `claude mcp get geoserver`, or\n`claude mcp remove geoserver`. Add `--scope user` to the add command to make it\navailable in every project instead of just this one.\n\n---\n\n## Other clients\n\n<details>\n<summary><b>Claude Desktop</b></summary>\n\nAdd this to your config file, then restart Claude Desktop:\n\n- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Linux:** `~/.config/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"geoserver\": {\n      \"command\": \"uvx\",\n      \"args\": [\"geoservercloud-mcp\"],\n      \"env\": {\n        \"GEOSERVER_URL\": \"http://localhost:8080/geoserver\",\n        \"GEOSERVER_USER\": \"admin\",\n        \"GEOSERVER_PASSWORD\": \"geoserver\"\n      }\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><b>VS Code / Cursor</b></summary>\n\nAdd this to `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"geoserver\": {\n      \"command\": \"uvx\",\n      \"args\": [\"geoservercloud-mcp\"],\n      \"env\": {\n        \"GEOSERVER_URL\": \"http://localhost:8080/geoserver\",\n        \"GEOSERVER_USER\": \"admin\",\n        \"GEOSERVER_PASSWORD\": \"geoserver\"\n      }\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><b>Install manually (pip / uvx)</b></summary>\n\n```bash\n# with pip\npip install geoservercloud-mcp\ngeoservercloud-mcp\n\n# or run without installing (requires uv: https://docs.astral.sh/uv/)\nuvx geoservercloud-mcp\n```\n\nPublished to the [MCP Registry](https://registry.modelcontextprotocol.io) as\n`io.github.ronitjadhav/geoservercloud-mcp`.\n\n</details>\n\n---\n\n## Environment variables\n\n| Variable             | Default                           | Description        |\n| -------------------- | --------------------------------- | ------------------ |\n| `GEOSERVER_URL`      | `http://localhost:8080/geoserver` | GeoServer base URL |\n| `GEOSERVER_USER`     | `admin`                           | GeoServer username |\n| `GEOSERVER_PASSWORD` | `geoserver`                       | GeoServer password |\n\nAll three are optional — if you skip them, you can configure the connection at\nruntime by asking the AI.\n\n---\n\n## Development\n\nWant to run it from source or contribute?\n\n```bash\ngit clone https://github.com/ronitjadhav/geoservercloud-mcp.git\ncd geoservercloud-mcp\n\npoetry install                    # set up the environment\npoetry run pytest                 # run the tests\npoetry run geoservercloud-mcp     # run the server (stdio)\n```\n\nNeed a GeoServer to test against? `cd docker && docker compose up -d` spins up\nGeoServer + PostGIS + the MCP server.\n\nFor the full workflow — adding new tools, linting, releasing, and how publishing\nworks — see the **[Developer Guide](docs/DEVELOPER.md)**.\n\n---\n\n## Python library\n\nThis server is built on the **python-geoservercloud** library. For programmatic\naccess without MCP:\n\n```python\nfrom geoservercloud import GeoServerCloud\n\ngeoserver = GeoServerCloud(\n    url=\"http://localhost:8080/geoserver\",\n    user=\"admin\",\n    password=\"geoserver\",\n)\ngeoserver.create_workspace(\"my_workspace\")\n```\n\nFull library docs: <https://camptocamp.github.io/python-geoservercloud/>\n",
  "bytes": 4316,
  "sha": "16b76448c3f658a2201ce16d67a5d6aa7cbfdda947e6e51668651fdbbd926b51",
  "repo_slug": "ronitjadhav/geoservercloud-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ronitjadhav_geoservercloud_mcp_f373dbfd/readme"
}