Token导航 LogoToken导航TokenDH.com
GeoServer MCP Server logo
搜索检索stdio官方级别未说明来源级核验

GeoServer MCP Server

MCP Server

@smithery/cli

A Model Context Protocol (MCP) server implementation that connects LLMs to the GeoServer REST API

工具数

0

提示词数

0

GitHub Stars

72

资源数

0
PythonClaudeAPI集成Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mahdin75

提供方

mahdin75

最后核验

2026/5/18 04:04

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @smithery/cli install @mahdin75/geoserver-mcp --client claude

详细介绍

![PyPI](https://pypi.org/project/geoserver-mcp/) ](https://pepy.tech/project/geoserver-mcp)

GeoServer MCP服务器

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

版本0.5.0(测试版)正在积极开发中,将很快发布。我们对贡献持开放态度,欢迎开发人员加入我们建设这个项目。

🎥 演示

📋 目录

- - pip安装 - 开发安装

- 资源端点 - 工作空间管理 - 数据存储和封面存储管理 - 层管理 - 图层组管理 - 用户和用户组管理 - 功能类型和属性管理 - 式管理 - 系统和服务运营 - 样式XML实用程序

- 列出工作区 - 获取图层信息 - 查询功能 - 生成地图

🚀 特性

  • 🔍 查询和操作GeoServer工作区、图层和样式
  • 🗺️ 对矢量数据执行空间查询
  • 🎨 生成地图可视化
  • 🌐 访问符合OGC标准的web服务(WMS、WFS)
  • 🛠️ 与MCP兼容客户端轻松集成

📋 先决条件

  • Python 3.10或更高版本
  • 在启用REST API的情况下运行GeoServer实例
  • MCP兼容客户端(如Claude Desktop或Cursor)
  • 用于安装软件包的互联网连接

🛠️ 安装

选择最适合您需求的安装方法:

通过Smithery安装

通过以下方式自动安装克劳德桌面版GeoServer MCP服务器 史密瑟里:

npx -y @smithery/cli install @mahdin75/geoserver-mcp --client claude

🛠️ 安装(Docker)

Docker安装是运行GeoServer MCP服务器最快、最独立的方式。它非常适合:

  • 快速测试和评估
  • 生产部署
  • 您希望避免Python依赖的环境
  • 跨不同系统的一致部署
  1. 运行geoserver mcp:
docker pull mahdin75/geoserver-mcp
docker run -d mahdin75/geoserver-mcp
  1. 配置客户端:

如果您使用的是Claude Desktop,请编辑 claude_desktop_config.json 如果使用光标,请创建 .cursor/mcp.json

{
  "mcpServers": {
    "geoserver-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GEOSERVER_URL=http://localhost:8080/geoserver",
        "-e",
        "GEOSERVER_USER=admin",
        "-e",
        "GEOSERVER_PASSWORD=geoserver",
        "-p",
        "8080:8080",
        "mahdin75/geoserver-mcp"
      ]
    }
  }
}

🛠️ 安装(管道)

建议大多数希望直接在系统上运行服务器的用户安装pip。这种方法最适合:

  • 希望在本地运行服务器的普通用户
  • 安装了Python 3.10+的系统
  • 想要自定义服务器配置的用户
  • 开发和测试目的
  1. 安装uv包管理器。
pip install uv
  1. 创建虚拟环境(Python 3.10+):

Linux/Mac:

uv venv --python=3.10

Windows PowerShell:

uv venv --python=3.10
  1. 使用pip安装软件包:
uv pip install geoserver-mcp
  1. 配置GeoServer连接:

Linux/Mac:

export GEOSERVER_URL="http://localhost:8080/geoserver"
export GEOSERVER_USER="admin"
export GEOSERVER_PASSWORD="geoserver"

Windows PowerShell:

$env:GEOSERVER_URL="http://localhost:8080/geoserver"
$env:GEOSERVER_USER="admin"
$env:GEOSERVER_PASSWORD="geoserver"
  1. 启动服务器:

如果你要使用Claude桌面,你不需要这一步。对于游标或您自己的自定义客户端,您应该运行以下代码。

Linux:

source .venv/bin/activate

geoserver-mcp

source .venv/bin/activate

geoserver-mcp --url http://localhost:8080/geoserver --user admin --password geoserver --debug

Windows PowerShell:

.\.venv\Scripts\activate
geoserver-mcp

.\.venv\Scripts\activate
geoserver-mcp --url http://localhost:8080/geoserver --user admin --password geoserver --debug
  1. 配置客户端:

如果您使用的是Claude Desktop,请编辑 claude_desktop_config.json 如果使用光标,请创建 .cursor/mcp.json

窗户:

{
  "mcpServers": {
    "geoserver-mcp": {
      "command": "C:\\path\\to\\geoserver-mcp\\.venv\\Scripts\\geoserver-mcp",
      "args": [
        "--url",
        "http://localhost:8080/geoserver",
        "--user",
        "admin",
        "--password",
        "geoserver"
      ]
    }
  }
}

Linux:

{
  "mcpServers": {
    "geoserver-mcp": {
      "command": "/path/to/geoserver-mcp/.venv/bin/geoserver-mcp",
      "args": [
        "--url",
        "http://localhost:8080/geoserver",
        "--user",
        "admin",
        "--password",
        "geoserver"
      ]
    }
  }
}

🛠️ 开发安装

开发安装是为想要修改代码库的贡献者和开发人员设计的。该方法适用于:

  • 为项目做出贡献的开发人员
  • 需要修改源代码的用户
  • 测试新功能
  • 调试和开发目的
  1. 安装uv包管理器。
pip install uv
  1. 创建虚拟环境(Python 3.10+):
uv venv --python=3.10
  1. 使用pip安装软件包:
uv pip install -e .
  1. 配置GeoServer连接:

Linux/Mac:

export GEOSERVER_URL="http://localhost:8080/geoserver"
export GEOSERVER_USER="admin"
export GEOSERVER_PASSWORD="geoserver"

Windows PowerShell:

$env:GEOSERVER_URL="http://localhost:8080/geoserver"
$env:GEOSERVER_USER="admin"
$env:GEOSERVER_PASSWORD="geoserver"
  1. 启动服务器:

如果你要使用Claude桌面,你不需要这一步。对于游标或您自己的自定义客户端,您应该运行以下代码。

Linux:

source .venv/bin/activate

geoserver-mcp

source .venv/bin/activate

geoserver-mcp --url http://localhost:8080/geoserver --user admin --password geoserver --debug

Windows PowerShell:

.\.venv\Scripts\activate
geoserver-mcp

.\.venv\Scripts\activate
geoserver-mcp --url http://localhost:8080/geoserver --user admin --password geoserver --debug
  1. 配置客户端:

如果您使用的是Claude Desktop,请编辑 claude_desktop_config.json 如果使用光标,请创建 .cursor/mcp.json

窗户:

{
  "mcpServers": {
    "geoserver-mcp": {
      "command": "C:\\path\\to\\geoserver-mcp\\.venv\\Scripts\\geoserver-mcp",
      "args": [
        "--url",
        "http://localhost:8080/geoserver",
        "--user",
        "admin",
        "--password",
        "geoserver"
      ]
    }
  }
}

Linux:

{
  "mcpServers": {
    "geoserver-mcp": {
      "command": "/path/to/geoserver-mcp/.venv/bin/geoserver-mcp",
      "args": [
        "--url",
        "http://localhost:8080/geoserver",
        "--user",
        "admin",
        "--password",
        "geoserver"
      ]
    }
  }
}

文件存储和存储使用情况

GeoServer MCP服务器支持可选 --storage 标志为所有文件读/写操作指定一个基本目录,例如上传shapefiles、GeoTIFFs或导出结果。

概述

  • --storage 标志设置所有数据相关工具的文件操作的根文件夹。
  • 您可以提供 相对路径 (相对于存储根)或 绝对路径 (绕过存储根)作为相关工具的参数。
  • 如果 --storage 如果未设置,路径将按照用户提供的方式解析(相对于工作目录或绝对目录)。

CLI示例

python -m geoserver_mcp.main --storage D:/my/data/dir

这套 D:/my/data/dir 作为所有文件的基本路径。

Python中的工具调用示例:

# Will read from D:/my/data/dir/roads.zip if --storage is set to D:/my/data/dir
create_shp_datastore('workspace', 'datastore_name', 'roads.zip')

绝对路径(例如“C:/input/other.shp”)始终按原样使用。

在Docker中运行时

如果使用Docker,请确保存储目录作为卷挂载,例如:

docker run -v D:/my/data:/opt/data ...

然后使用以下命令启动服务器:

python -m geoserver_mcp.main --storage /opt/data

最佳实践

  • 在与API/工具交互时使用相对路径,因为它使您的设置保持可移植性。
  • 对于远程或容器部署,始终确保您的文件数据在容器中是可访问的(如果需要,请使用Docker卷)。
  • 检查哪些参数使用存储系统的工具文档字符串。

--storage 系统简化了所有用户的文件管理,使部署更加灵活!

🛠️ 可用工具

本节详细介绍了GeoServer MCP服务器公开的所有可用工具和资源。这些工具允许LLM与GeoServer的REST API交互,以实现全面的地理空间数据管理。

🌍 资源端点

资源端点通过URI模式提供对GeoServer资源的直接访问。

资源URI描述
geoserver://catalog/workspaces列出可用工作区
geoserver://catalog/layers/{workspace}/{layer}获取特定图层的信息
geoserver://services/wms/{request}处理WMS资源请求
geoserver://services/wfs/{request}处理WFS资源请求

📦 工作空间管理

工具说明
list_workspaces列出GeoServer中的可用工作区
create_workspace在GeoServer中创建新工作区

📁 数据存储和封面存储管理

工具说明
create_datastore在给定的工作区中创建新的数据存储
create_featurestore在给定的工作区中创建新的功能库
create_gpkg_datastore创建GeoPackage(GPKG)数据存储
create_shp_datastore创建ESRI Shapefile数据存储
create_coveragestore在工作区中创建新的封面存储
delete_coveragestore从工作区中删除封面存储
get_coveragestore获取单一保险的详细信息更多
get_coveragestores获取工作区的所有保险箱
get_datastore按名称获取特定的数据存储
get_datastores列出给定工作区中的所有数据存储

🗺️ 层管理

工具说明
get_layer_info获取图层的详细信息
list_layers在GeoServer中列出图层,可选择按工作区筛选
create_layer在GeoServer中创建新图层
delete_resource从GeoServer中删除资源(通用)

🧩 图层组管理

工具说明
create_layergroup使用特定图层和(可选)样式创建新图层组
get_layergroup从工作区获取图层组
get_layergroups列出工作区中的所有图层组
add_layer_to_layergroup将特定图层添加到图层组
remove_layer_from_layergroup从组中删除层
delete_layergroup从工作区中删除图层组
update_layergroup更新图层组的详细信息和配置

👥 用户和用户组管理

工具说明
create_user为GeoServer安全创建新用户
delete_user按名称删除用户
get_all_users列出GeoServer实例中的所有用户
modify_user修改现有用户的属性
create_usergroup创建新用户组
delete_usergroup删除用户组
get_all_usergroups返回所有用户组

📊 功能类型和属性管理

工具说明
query_features使用CQL过滤器从矢量层查询特征
publish_featurestore发布现有功能库
publish_featurestore_sqlview使用SQL视图定义发布功能库
edit_featuretype编辑商店中功能类型的设置
get_featuretypes列出给定商店中的所有功能类型
get_feature_attribute获取特征属性架构/详细信息

🎨 式管理

工具说明
create_style在GeoServer中创建新的SLD样式
publish_style为图层指定/发布样式
create_catagorized_featurestyle为要素创建分类样式
create_classified_featurestyle为要素创建分类样式
create_coveragestyle创建光栅覆盖样式
create_outline_featurestyle为要素创建简单的仅轮廓样式

⚙️ 系统和服务运营

工具说明
get_manifest获取GeoServer清单元数据/详细信息
get_status获取一般服务器状态
get_system_status从GeoServer获取系统状态概述/信息
get_version获取GeoServer版本字符串
reload_geoserver从磁盘重新加载目录和配置
reset_geoserver重置所有GeoServer缓存/连接
update_service更新所选OGC服务选项
publish_time_dimension_to_coveragestore添加或更新覆盖率存储的时间维度(用于时间序列)

📝 样式XML实用程序

工具说明
style_catagorize_xml为分类矢量样式生成SLD
style_classified_xml获取分类矢量样式的SLD XML
style_coverage_style_colormapentry为光栅SLD生成彩色地图条目
style_coverage_style_xml为光栅/覆盖SLD生成XML
style_outline_only_xml几何图形的仅轮廓样式的XML

🛠️ 客户端开发

如果您计划开发自己的客户端以与GeoServer MCP服务器交互,您可以在以下示例客户端实现中找到灵感: examples/client.py此示例演示了:

  • 如何与MCP服务器建立连接
  • 如何发送请求和处理响应
  • 基本错误处理和连接管理
  • 各种工具和操作的示例用法

示例客户端是理解协议和实现自己的客户端应用程序的良好起点。

此外,以下是usgage的示例:

列出工作区


Tool: list_workspaces
Parameters: {}
Response: ["default", "demo", "topp", "tiger", "sf"]

获取图层信息


Tool: get_layer_info
Parameters: {
"workspace": "topp",
"layer": "states"
}

查询功能


Tool: query_features
Parameters: {
"workspace": "topp",
"layer": "states",
"filter": "PERSONS > 10000000",
"properties": ["STATE_NAME", "PERSONS"]
}

生成地图


Tool: generate_map
Parameters: {
"layers": ["topp:states"],
"styles": ["population"],
"bbox": [-124.73, 24.96, -66.97, 49.37],
"width": 800,
"height": 600,
"format": "png"
}

🔮 计划的功能

  • \[\]覆盖范围和光栅数据管理
  • \[\]安全和访问控制
  • \[\]先进的造型功能
  • \[\]WPS处理操作
  • \[\]GeoWebCache集成

🤝 贡献

我们欢迎捐款!以下是您可以提供帮助的方式:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

请确保您的公关描述清楚地描述了问题和解决方案。如果适用,请包括相关问题编号。

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🔗 相关项目

🌐 另请参见:GIS MCP

有关更广泛的地理空间数据自动化和更多与GIS相关的MCP功能,请参阅 mahdin75的GIS MCP.

📞 支持

如需支持,请打开 问题

🏆 徽章

](https://mseep.ai/app/mahdin75-geoserver-mcp)

目录标签

目录标签

PythonClaudeAPI集成research-and-data地理空间数据本地部署AI集成RESTAPI地理服务器MCP协议

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP