Token导航 LogoToken导航

MCP Server · 搜索检索

GeoServer MCP Server

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

stdio官方级别未说明来源级核验工具 0@smithery/cli
PythonClaudeAPI集成Claude DesktopCursor

快速开始

作者 / 组织
mahdin75
提供方
mahdin75
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

72

仓库热度

收录来源

4 个

MCP.so

选型结论

GeoServer MCP Server 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

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

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

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.

📞 支持

如需支持,请打开 问题

🏆 徽章

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

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

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
GeoServer MCP Server

MCP.so · 本页

0stdio有4 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

GeoServer MCP Server 怎么安装?

公开资料给出的安装命令是 npx -y @smithery/cli install @mahdin75/geoserver-mcp --client claude,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

GeoServer MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

GeoServer MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

GeoServer MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

GeoServer MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP