GeoServer MCP 服务器
0.4.0(Alpha)版本正在积极开发中,即将发布。我们欢迎开发者贡献代码,共同构建这个项目。
🎥 演示
📋 目录
🚀 功能
- 🔍 查询和操作 GeoServer 工作区、图层和样式
- 🗺️ 对矢量数据执行空间查询
- 🎨 生成地图可视化
- 🌐 访问符合 OGC 标准的 Web 服务(WMS、WFS)
- 🛠️ 轻松与 MCP 兼容客户端集成
📋 先决条件
- Python 3.10 或更高版本
- 运行启用 REST API 的 GeoServer 实例
- MCP 兼容客户端(如 Claude Desktop 或 Cursor)
- 用于软件包安装的互联网连接
🛠️ 安装
选择最适合您需要的安装方法:
🛠️ 安装(Docker)
Docker 安装是运行 GeoServer MCP 服务器最快捷、最独立的安装方式。它非常适合:
- 快速测试和评估
- 生产部署
- 想要避免 Python 依赖的环境
- 跨不同系统的一致部署
- 运行 geoserver-mcp:
- 配置客户端:
如果您使用的是 Claude Desktop,请编辑claude_desktop_config.json
如果您使用的是 Cursor,请创建.cursor/mcp.json
🛠️ 安装(pip)
对于大多数希望直接在系统上运行服务器的用户,建议使用 pip 安装。此方法最适合:
- 想要在本地运行服务器的普通用户
- 安装了 Python 3.10+ 的系统
- 想要自定义服务器配置的用户
- 开发和测试目的
- 安装 uv 包管理器。
- 创建虚拟环境(Python 3.10+):
Linux/Mac:
Windows PowerShell:
- 使用 pip 安装包:
- 配置GeoServer连接:
Linux/Mac:
Windows PowerShell:
- 启动服务器:
如果您要使用 Claude 桌面,则无需执行此步骤。对于游标或您自己的自定义客户端,您应该运行以下代码。
Linux:
或者
Windows PowerShell:
或者
- 配置客户端:
如果您使用的是 Claude Desktop,请编辑claude_desktop_config.json
如果您使用的是 Cursor,请创建.cursor/mcp.json
视窗:
Linux:
🛠️ 开发安装
开发安装是为想要修改代码库的贡献者和开发者设计的。此方法适用于:
- 为项目做出贡献的开发人员
- 需要修改源代码的用户
- 测试新功能
- 调试和开发目的
- 安装 uv 包管理器。
- 创建虚拟环境(Python 3.10+):
- 使用 pip 安装包:
- 配置GeoServer连接:
Linux/Mac:
Windows PowerShell:
- 启动服务器:
如果您要使用 Claude 桌面,则无需执行此步骤。对于游标或您自己的自定义客户端,您应该运行以下代码。
Linux:
或者
Windows PowerShell:
或者
- 配置客户端:
如果您使用的是 Claude Desktop,请编辑claude_desktop_config.json
如果您使用的是 Cursor,请创建.cursor/mcp.json
视窗:
Linux:
🛠️ 可用工具
🛠️ 工作区和图层管理
工具 | 描述 |
---|---|
list_workspaces | 获取可用的工作空间 |
create_workspace | 创建新工作区 |
get_layer_info | 获取详细的图层元数据 |
list_layers | 列出工作空间中的图层 |
create_layer | 创建新图层 |
delete_resource | 删除资源 |
🛠️ 数据操作
工具 | 描述 |
---|---|
query_features | 对矢量数据执行 CQL 查询 |
update_features | 修改要素属性 |
delete_features | 根据条件删除特征 |
🛠️ 可视化
工具 | 描述 |
---|---|
generate_map | 创建样式化的地图图像 |
create_style | 定义新的 SLD 样式 |
apply_style | 将现有样式应用于图层 |
🛠️ 客户端开发
如果您计划开发自己的客户端来与 GeoServer MCP 服务器交互,可以从examples/client.py
的示例客户端实现中找到灵感。此示例演示了:
- 如何与 MCP 服务器建立连接
- 如何发送请求和处理响应
- 基本错误处理和连接管理
- 各种工具和操作的使用示例
示例客户端是理解协议和实现您自己的客户端应用程序的良好起点。
另外,这里是使用示例:
列出工作区
获取图层信息
查询功能
生成地图
🔮 计划功能
- [ ] 覆盖范围和栅格数据管理
- [ ] 安全和访问控制
- [ ] 高级造型功能
- [ ] WPS处理操作
- [ ] GeoWebCache 集成
🤝 贡献
欢迎您贡献力量!您可以通过以下方式提供帮助:
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature
) - 提交您的更改(
git commit -m 'Add some AmazingFeature'
) - 推送到分支(
git push origin feature/AmazingFeature
) - 打开拉取请求
请确保您的 PR 描述清晰地描述了问题和解决方案。如适用,请包含相关的问题编号。
📄 许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
🔗 相关项目
- 模型上下文协议- MCP 的核心实现
- GeoServer REST API - 官方 GeoServer REST 文档
- GeoServer REST Python 客户端- GeoServer REST API 的 Python 客户端
📞 支持
如需支持,请打开一个问题
🏆 徽章
Related MCP Servers
- -securityAlicense-qualityA server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.Last updated -1,641136TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides Google Maps API integration, allowing users to search locations, get place details, geocode addresses, calculate distances, obtain directions, and retrieve elevation data through LLM processing capabilities.Last updated -798363TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables large language models to interact with Apache Superset databases through REST API, supporting database queries, table lookups, field information retrieval, and SQL execution.Last updated -44TypeScript
- AsecurityAlicenseAqualityA customizable Model Context Protocol server implementation that enables AI models to interact with external tools including weather queries, Google search, and camera control functionality.Last updated -113PythonApache 2.0