GeoServer MCP 服务器是一个基于 Model Context Protocol (MCP) 的开源工具,可与 GeoServer REST API 进行交互。借助该项目,您能便捷地操作矢量数据、样式、工作区和图层。
pip install geoserver-mcp requests
以下是一个简单的客户端示例:
from geoserver_mcp.client import MCPClient
client = MCPClient(base_url="http://localhost:8080/geoserver/rest", username="admin", password="geoserver")
# 获取工作区列表
print(client.list_workspaces())
# 创建新工作区
client.create_workspace("my_new_workspace")
# 删除资源
client.delete_resource(workspace="topp", layer="states")
工具 | 描述 |
---|---|
list_workspaces |
获取可用的工作区 |
create_workspace |
创建新的工作区 |
delete_resource |
删除资源 |
工具 | 描述 |
---|---|
query_features |
执行矢量数据上的 CQL 查询 |
update_features |
修改特征属性 |
delete_features |
根据条件删除特征 |
工具 | 描述 |
---|---|
generate_map |
创建带样式的地图图像 |
create_style |
定义新的 SLD 样式 |
apply_style |
将现有样式应用到图层 |
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"
}
如果您计划开发自己的客户端来与 GeoServer MCP 服务器交互,可以参考示例客户端实现 examples/client.py
。该示例展示了:
本项目遵循 MIT 许可证,具体内容请参阅 LICENSE 文件。
如果您觉得这个项目对您有帮助,请通过以下方式支持:
感谢您对 GeoServer MCP 项目的关注与支持!