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

MCP Geonode API

MCP Server

GeoNode MCP是一个为GeoNode 4.x和5.x提供API兼容性的服务器,支持资源搜索、用户组管理及批量操作等功能,适用于地理信息系统(GIS)数据管理场景。

工具数

40

提示词数

0

GitHub Stars

1

资源数

0
批量操作PythonClaudeClaudeCursor

安装说明

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

作者 / 组织

davicustodio

提供方

davicustodio

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

python3 -m venv .venv

详细介绍

GeoNode MCP

GeoNode的MCP服务器 4.x5.x,通过配置解决了API兼容性。

服务器当前的目标是在 /api/v2,仍然是GeoNode 4.x和5.x的API基础。MCP配置将:

  • GEONODE_VERSION:GeoNode产品版本(45)
  • GEONODE_API_VERSION:要使用的REST API版本(当前 v2)

这使MCP为未来API更改做好准备,而无需在每个工具上进行版本检查。

特性

  • 搜索和检查GeoNode资源
  • 从URL检测最可能的GeoNode/API兼容性设置
  • 从URL生成可粘贴的MCP客户端配置片段
  • 将生成的MCP客户端配置直接写入本地配置文件
  • 验证编写的MCP配置文件在结构上正确且可用
  • 在一次调用中启动完整的MCP客户端设置
  • 解析与特定用户关联的组
  • 列出和管理数据集、文档、地图、用户和组
  • 运行更安全的批量用户工作流,用于组入职、密码设置、所有权审核和保护删除
  • 列出类别、关键字、地区和所有者
  • 用于GeoNode/API版本映射的集中式兼容层
  • MCP客户端(如Codex、Cursor、OpenCode和Claude Code)的本地stdio执行

可用工具

MCP服务器公开了以下工具。创建、更新、删除、写入文件或设置密码的工具需要具有匹配GeoNode权限的凭据。批量密码和删除工作流包括明确的安全字段,如 dry_run, confirm,以及 expected_count.

实例和MCP配置

工具功能
geonode_detect_instance探测GeoNode URL并推荐 GEONODE_URL, GEONODE_VERSION,以及 GEONODE_API_VERSION 设置。
geonode_generate_mcp_config无需写入文件即可生成即用型MCP客户端配置代码段。
geonode_write_mcp_config将生成的MCP客户端配置写入支持的本地客户端配置文件。
geonode_verify_mcp_config验证编写的MCP配置在结构上是否正确,是否可以启动服务器。
geonode_bootstrap_mcp_config在一个工作流中运行检测、配置生成、文件写入和可选验证。

搜索和通用资源

工具功能
geonode_search_resources使用分页和过滤器通过通用资源端点搜索GeoNode资源。
geonode_search_metadata_text在选定字段和资源类型中搜索元数据文本,合并目标API查询。
geonode_get_resource按ID获取通用GeoNode资源的详细信息

数据集

工具功能
geonode_list_datasets列出具有分页和可选搜索/筛选参数的数据集。
geonode_get_dataset按ID获取数据集详细信息
geonode_create_dataset创建数据集条目。
geonode_update_dataset更新数据集元数据。
geonode_delete_dataset按ID删除数据集

文件

工具功能
geonode_list_documents列出具有分页和可选搜索/筛选参数的文档。
geonode_get_document按ID获取文档详细信息
geonode_create_document创建文档条目。
geonode_update_document更新文档元数据。
geonode_delete_document按ID删除文档

地图

工具功能
geonode_list_maps列出带有分页和可选搜索/筛选参数的地图。
geonode_get_map按ID获取地图详细信息
geonode_create_map创建地图条目。
geonode_update_map更新地图元数据。
geonode_delete_map按ID删除地图

用户和组

工具功能
geonode_list_users按姓名、用户名或电子邮件列出用户。
geonode_get_user按ID获取用户详细信息
geonode_get_user_groups通过ID或确切的用户名解析与用户关联的组。
geonode_update_user更新支持的用户字段,当前为名字和姓氏。
geonode_list_groups列出GeoNode组。
geonode_get_group按ID获取组详细信息

用户和组工作流

工具功能
geonode_create_group按slug创建或重用GeoNode组。
geonode_bulk_create_users通过结构化JSON输入创建或重用用户,并可以设置带有明确确认的共享密码。
geonode_add_users_to_group将现有用户添加到组中,并在更新后验证成员资格。
geonode_bulk_create_users_and_add_to_group创建或重用组和用户,可选择设置密码,并将用户添加到组中。
geonode_count_user_owned_resources使用以下方式统计选定用户拥有的数据集、文档、地图和仪表板 filter{owner.pk}.
geonode_find_group_users_by_resource_ownership通过可选的电子邮件域过滤,将组用户分为有和没有自有资源的用户
geonode_delete_users_safely在确认、组成员身份、员工状态和拥有资源的安全检查失败后,仅删除明确列出的用户。

目录查找

工具功能
geonode_list_categories列出GeoNode类别。
geonode_list_keywords列出关键字,可选择按搜索文本过滤。
geonode_list_regions列出区域,可选择按名称或代码过滤。
geonode_list_owners列出资源所有者,可选择按搜索文本进行筛选。

兼容性

今天支持:

  • GeoNode 4.x API v2
  • GeoNode 5.x API v2

默认运行时值:

  • GEONODE_VERSION=5
  • GEONODE_API_VERSION=v2

本地安装

需求

  • python 3.10+
  • 访问GeoNode实例
  • 如果您需要经过身份验证的操作,请提供GeoNode凭据

1.克隆存储库

git clone 
cd mcp-geonode-api

2.创建虚拟环境

python3 -m venv .venv
source .venv/bin/activate

3.在本地安装软件包

正常使用:

pip install -e .

对于开发,包括植绒和测试:

pip install -e ".[dev]"

4.设置环境变量

export GEONODE_URL="https://your-geonode.example.com"
export GEONODE_USER="admin"
export GEONODE_PASSWORD="your-password"
export GEONODE_VERSION="5"
export GEONODE_API_VERSION="v2"

可选覆盖:

export GEONODE_API_BASE_PATH="/api/v2"

使用 GEONODE_API_BASE_PATH 仅当您的部署在自定义路径下公开API时。

5.在本地运行服务器

python -m geonode_mcp

这将重新启动MCP服务器 stdio,这正是本地MCP客户所期望的。

配置参考

环境变量

  • GEONODE_URL:GeoNode基本URL,最好不带尾随斜线
  • GEONODE_USER:基本身份验证的用户名
  • GEONODE_PASSWORD:基本身份验证密码
  • GEONODE_VERSION:GeoNode主要版本,当前 45
  • GEONODE_API_VERSION:API版本,当前 v2
  • GEONODE_API_BASE_PATH:可选的显式API路径重写

推荐值

对于大多数GeoNode 5部署:

GEONODE_VERSION=5
GEONODE_API_VERSION=v2

对于大多数GeoNode 4部署:

GEONODE_VERSION=4
GEONODE_API_VERSION=v2

检测正确的版本设置

MCP包括一个名为 geonode_detect_instance.

其目的是检查GeoNode实例URL,并建议应将哪些值用于:

  • GEONODE_URL
  • GEONODE_VERSION
  • GEONODE_API_VERSION

这是一个尽力而为的检测流程。在实践中:

  • API版本检测通常是可靠的,当 /api/v2/resources/ 可以联系到
  • 准确的GeoNode主版本检测取决于实例是在HTML、头文件还是静态文件中公开版本提示

工具名称

geonode_detect_instance

输入参数

  • url:GeoNode实例的基本URL,甚至是已知的API URL
  • username:用于探测受保护实例的可选基本身份验证用户名
  • password:用于探测受保护实例的可选基本身份验证密码
  • timeout:可选超时(秒)
  • response_format: jsonmarkdown

示例调用

{
  "url": "https://your-geonode.example.com",
  "response_format": "json"
}

您还可以直接传递API URL:

{
  "url": "https://your-geonode.example.com/api/v2/resources/",
  "response_format": "json"
}

示例响应

{
  "normalized_base_url": "https://your-geonode.example.com",
  "detected_api_base_path": "/api/v2",
  "recommended_settings": {
    "GEONODE_URL": "https://your-geonode.example.com",
    "GEONODE_VERSION": "5",
    "GEONODE_API_VERSION": "v2"
  },
  "confidence": {
    "geonode_version": "medium",
    "api_version": "high"
  }
}

推荐用法

  1. geonode_detect_instance 针对目标URL。
  2. 将返回的推荐设置复制到MCP客户端配置中。
  3. 如果 GEONODE_VERSION 返回为 undeterminednull,保持检测 GEONODE_API_VERSION 并手动确认GeoNode主版本。

查找用户组

MCP包括一个名为 geonode_get_user_groups.

当您需要回答以下问题时,请使用它:

  • “用户属于哪个组 my-user 属于?"
  • “列出给定用户的组”
  • “按用户名解析用户成员身份,而无需手动浏览用户和组”

工具名称

geonode_get_user_groups

输入参数

  • user_id:可选用户数字ID
  • username:当用户ID未知时,可选的确切用户名
  • response_format: jsonmarkdown

您必须提供 user_idusername.

按用户名调用示例

{
  "username": "my-user",
  "response_format": "json"
}

示例响应

{
  "user": {
    "pk": 1317,
    "username": "my-user"
  },
  "groups": [
    {
      "pk": 59,
      "title": "GRUPO_ACOES_RS",
      "group": {
        "name": "ROLE_GRUPO_ACOES_RS"
      }
    }
  ]
}

为什么这个工具存在

如果没有这个工具,回答“此用户属于哪个组?”是不必要的尴尬:

  • geonode_list_users 用于发现,而不是精确的成员查找
  • geonode_get_user 不直接公开组成员身份
  • geonode_list_groups 未针对用户反向查找进行优化

geonode_get_user_groups 直接通过以下方式解决:

  1. 在需要时通过精确的用户名解析用户
  2. 将用户呼叫到组端点
  3. 一步返回成员列表

生成即用型MCP客户端配置

MCP还包括一个名为的辅助工具 geonode_generate_mcp_config.

此工具结合了:

  • 从提供的URL检测实例
  • 推荐 GEONODE_* 设置
  • 为一个目标客户端准备粘贴MCP代码段

工具名称

geonode_generate_mcp_config

输入参数

  • client:其中之一 codex, cursor, opencode, claude_code
  • url:GeoNode实例的基本URL,或已知的API URL
  • username:可选的基本身份验证用户名
  • password:可选基本身份验证密码
  • geonode_version:可选手动超控
  • api_version:可选手动超控
  • server_name:可选MCP服务器名称,默认值 geonode
  • python_command:用于启动的Python可执行路径 python -m geonode_mcp
  • response_format: markdownjson

示例调用

{
  "client": "cursor",
  "url": "https://your-geonode.example.com",
  "username": "admin",
  "password": "your-password",
  "python_command": "/path/to/mcp-geonode-api/.venv/bin/python",
  "response_format": "markdown"
}

示例使用流程

  1. geonode_generate_mcp_config.
  2. 将生成的代码段复制到响应建议的配置文件中。
  3. 如果需要,更换 GEONODE_PASSWORD 使用您喜欢的秘密管理模式。

何时使用每种工具

  • 使用 geonode_detect_instance 如果您只想检查GeoNode URL并了解推断的兼容性。
  • 使用 geonode_generate_mcp_config 如果你想立即获得最终的客户端代码片段。
  • 使用 geonode_write_mcp_config 如果你想让MCP为你更新目标配置文件。
  • 使用 geonode_verify_mcp_config 写入后确认文件和命令有效。
  • 使用 geonode_bootstrap_mcp_config 如果你想一步完成全部流程。

一步引导

MCP还提供 geonode_bootstrap_mcp_config.

这是最高级别的助手。它

  • 检测目标GeoNode实例
  • 解决推荐的问题 GEONODE_* 设置
  • 写入客户端配置文件
  • 可选择验证最终结果

工具名称

geonode_bootstrap_mcp_config

输入参数

  • client:其中之一 codex, cursor, opencode, claude_code
  • url:GeoNode实例的基本URL,或已知的API URL
  • config_path:要创建或更新的文件
  • username:可选的基本身份验证用户名
  • password:可选基本身份验证密码
  • geonode_version:可选手动超控
  • api_version:可选手动超控
  • server_name:可选MCP服务器名称,默认值 geonode
  • python_command:用于启动的Python可执行路径 python -m geonode_mcp
  • create_parent_dirs:自动创建缺少的父目录
  • verify_after_write:写入后验证文件,默认 true
  • response_format: markdownjson

示例调用

{
  "client": "cursor",
  "url": "https://your-geonode.example.com",
  "config_path": "/Users/you/.cursor/mcp.json",
  "username": "admin",
  "password": "your-password",
  "python_command": "/path/to/mcp-geonode-api/.venv/bin/python",
  "verify_after_write": true,
  "response_format": "json"
}

推荐的默认工作流

对于大多数用户来说, geonode_bootstrap_mcp_config 应该是默认选择。

为什么低级工具仍然存在

其他工具仍然有用,应该继续使用:

  • geonode_detect_instance:最适合诊断和理解服务器暴露的内容
  • geonode_generate_mcp_config:最好是在触摸文件之前查看代码段
  • geonode_write_mcp_config:最好是在没有验证的情况下写作,或者必须将验证分开
  • geonode_verify_mcp_config:最适合CI、故障排除或验证现有的配置文件

因此,在引导存在之后,低级工具仍然是合理的。它们并非多余;它们支持审查、调试和部分工作流。

自动写入MCP客户端配置文件

MCP还提供 geonode_write_mcp_config.

此工具:

  • 从URL检测实例设置
  • 生成正确的客户端配置
  • 写入或更新目标本地配置文件

工具名称

geonode_write_mcp_config

输入参数

  • client:其中之一 codex, cursor, opencode, claude_code
  • url:GeoNode实例的基本URL,或已知的API URL
  • config_path:要创建或更新的文件
  • username:可选的基本身份验证用户名
  • password:可选基本身份验证密码
  • geonode_version:可选手动超控
  • api_version:可选手动超控
  • server_name:可选MCP服务器名称,默认值 geonode
  • python_command:用于启动的Python可执行路径 python -m geonode_mcp
  • create_parent_dirs:自动创建缺少的父目录
  • response_format: markdownjson

示例调用

{
  "client": "cursor",
  "url": "https://your-geonode.example.com",
  "config_path": "/Users/you/.cursor/mcp.json",
  "username": "admin",
  "password": "your-password",
  "python_command": "/path/to/mcp-geonode-api/.venv/bin/python",
  "response_format": "markdown"
}

它更新了什么

  • 对于 cursorclaude_code,它会更新 mcpServers 所选服务器名称的条目。
  • 对于 opencode,它会更新 mcp 所选服务器名称的条目。
  • 对于 codex,它会更新匹配 [mcp_servers.][mcp_servers..env] TOML块。

推荐用法

  1. 要获得最快的设置,请使用 geonode_bootstrap_mcp_config.
  2. 如果你想要一个分阶段的流程,请使用 geonode_generate_mcp_config那么 geonode_write_mcp_config那么 geonode_verify_mcp_config.
  3. 每当GeoNode URL、凭据或Python路径发生变化时,请重新运行相关工具。

验证书面MCP配置文件

MCP还提供 geonode_verify_mcp_config.

此工具验证:

  • 目标文件存在
  • 预期的服务器条目存在
  • 文件形状与所选客户端匹配
  • 配置的可执行文件存在
  • python -m geonode_mcp 至少可以在命令与该模式匹配时导入包

工具名称

geonode_verify_mcp_config

输入参数

  • client:其中之一 codex, cursor, opencode, claude_code
  • config_path:要验证的文件
  • server_name:要检查的MCP服务器名称,默认值 geonode
  • response_format: markdownjson

示例调用

{
  "client": "cursor",
  "config_path": "/Users/you/.cursor/mcp.json",
  "server_name": "geonode",
  "response_format": "json"
}

推荐使用流程

  1. geonode_write_mcp_config.
  2. geonode_verify_mcp_config.
  3. 如果验证失败,请检查返回的检查并更正命令路径、环境或文件位置。

MCP客户端设置

以下示例假设:

  • 存储库位于 /path/to/mcp-geonode-api
  • 虚拟环境位于 /path/to/mcp-geonode-api/.venv

将这些路径调整到您的机器。

法典

如果您希望MCP自动生成此信息,请调用 geonode_generate_mcp_config 随着 "client": "codex". 如果你想让它直接写入文件,请使用 geonode_write_mcp_config 随着 config_path="~/.codex/config.toml".

OpenAI在文档中记录了MCP配置 ~/.codex/config.tomlThe mcp_servers 该表为食品法典委员会记录;下面的本地stdio示例遵循此服务器的相同结构。

文件: ~/.codex/config.toml

[mcp_servers.geonode]
command = "/path/to/mcp-geonode-api/.venv/bin/python"
args = ["-m", "geonode_mcp"]

[mcp_servers.geonode.env]
GEONODE_URL = "https://your-geonode.example.com"
GEONODE_USER = "admin"
GEONODE_PASSWORD = "your-password"
GEONODE_VERSION = "5"
GEONODE_API_VERSION = "v2"

如果您更喜欢特定于项目的设置,请在用于该工作区的Codex配置中保持相同的命令和环境值。

光标

如果您希望MCP自动生成此信息,请调用 geonode_generate_mcp_config 随着 "client": "cursor". 如果你想让它直接写入文件,请使用 geonode_write_mcp_config 随着 config_path="~/.cursor/mcp.json" 或一个项目 .cursor/mcp.json.

Cursor通过以下方式支持MCP mcp.json。您可以在中全局配置它 ~/.cursor/mcp.json 或按项目 .cursor/mcp.json.

文件: .cursor/mcp.json

{
  "mcpServers": {
    "geonode": {
      "command": "/path/to/mcp-geonode-api/.venv/bin/python",
      "args": ["-m", "geonode_mcp"],
      "env": {
        "GEONODE_URL": "https://your-geonode.example.com",
        "GEONODE_USER": "admin",
        "GEONODE_PASSWORD": "your-password",
        "GEONODE_VERSION": "5",
        "GEONODE_API_VERSION": "v2"
      }
    }
  }
}

如果需要,您还可以使用游标变量插值,例如 ${workspaceFolder}${env:GEONODE_PASSWORD}.

开源代码

如果您希望MCP自动生成此信息,请调用 geonode_generate_mcp_config 随着 "client": "opencode". 如果你想让它直接写入文件,请使用 geonode_write_mcp_config 随着 config_path="~/.config/opencode/opencode.json" 或一个项目 opencode.json.

OpenCode从以下位置加载配置 ~/.config/opencode/opencode.json 全球或 opencode.json 在项目根中。

文件: opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "geonode": {
      "type": "local",
      "command": [
        "/path/to/mcp-geonode-api/.venv/bin/python",
        "-m",
        "geonode_mcp"
      ],
      "enabled": true,
      "environment": {
        "GEONODE_URL": "https://your-geonode.example.com",
        "GEONODE_USER": "admin",
        "GEONODE_PASSWORD": "your-password",
        "GEONODE_VERSION": "5",
        "GEONODE_API_VERSION": "v2"
      }
    }
  }
}

克劳德代码

如果您希望MCP自动生成此信息,请调用 geonode_generate_mcp_config 随着 "client": "claude_code". 如果你想让它直接写入文件,请使用 geonode_write_mcp_config 随着 config_path=".mcp.json" 或另一个克劳德代码MCP文件路径。

Claude Code直接从CLI支持本地stdio MCP服务器,还可以将项目范围的配置存储在 .mcp.json.

选项1:使用CLI添加它

claude mcp add --transport stdio geonode \
  --env GEONODE_URL=https://your-geonode.example.com \
  --env GEONODE_USER=admin \
  --env GEONODE_PASSWORD=your-password \
  --env GEONODE_VERSION=5 \
  --env GEONODE_API_VERSION=v2 \
  -- /path/to/mcp-geonode-api/.venv/bin/python -m geonode_mcp

对于共享项目配置:

claude mcp add --transport stdio --scope project geonode \
  --env GEONODE_URL=https://your-geonode.example.com \
  --env GEONODE_USER=admin \
  --env GEONODE_PASSWORD=your-password \
  --env GEONODE_VERSION=5 \
  --env GEONODE_API_VERSION=v2 \
  -- /path/to/mcp-geonode-api/.venv/bin/python -m geonode_mcp

选项2:配置 .mcp.json 手动地

文件: .mcp.json

{
  "mcpServers": {
    "geonode": {
      "command": "/path/to/mcp-geonode-api/.venv/bin/python",
      "args": ["-m", "geonode_mcp"],
      "env": {
        "GEONODE_URL": "https://your-geonode.example.com",
        "GEONODE_USER": "admin",
        "GEONODE_PASSWORD": "your-password",
        "GEONODE_VERSION": "5",
        "GEONODE_API_VERSION": "v2"
      }
    }
  }
}

推荐设置策略

如果您想要稳定的本地开发,请使用此布局:

  1. 在项目本地虚拟环境中安装该包。
  2. 将MCP客户端指向virtualenv Python可执行文件。
  3. 尽可能在环境变量或客户端秘密存储中保密。
  4. GEONODE_VERSION 即使在使用默认值时也是如此。
  5. 仅覆盖 GEONODE_API_BASE_PATH 如果您的部署是非标准的。

发展

运行检查:

ruff check .
python3 -m mypy src
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 pytest -q

PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 如果您的计算机安装了无关的全局pytest插件,建议使用。

为什么以这种方式实现版本控制

GeoNode4.x和5.x仍然记录下的主要REST API /api/v2因此,该项目不会将GeoNode产品版本直接映射到新的REST前缀。相反,它:

  • 从配置中读取GeoNode版本
  • 从配置中读取API版本
  • 通过兼容层解析实际路由集

这种设计使工具表面保持稳定,并使未来的版本支持更容易添加。

来源

目录标签

目录标签

批量操作PythonClaude地理信息系统本地部署API兼容层用户组管理资源搜索

支持客户端

ClaudeCursor

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

40

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP