地理网络元数据访问服务

GeoNetwork MCP服务器用于发现和访问GeoNetwork 4.x目录中的元数据记录及其相关服务(如WMS、WFS等)。

  • by fgravin
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 fgravin/geonetwork_mcp

使用说明

地理网络mcp

用于发现和访问目录数据的MCP服务器 GeoNetwork 4.x.

允许AI助手搜索元数据表,查看其详细信息,并发现目录中引用的服务(WMS、WFS、下载…)。

GeoNetwork API响应转换为 CatalogRecord (枢轴模型 地理网络用户界面)通过图书馆 @geonetwork-ui/metadata-converter.

安装

npm install
npm run build

配置MCP

{
  "mcpServers": {
    "geonetwork": {
      "command": "node",
      "args": ["/chemin/vers/geonetwork_mcp/dist/index.js"],
      "env": {
        "GEONETWORK_URL": "https://example.org/geonetwork"
      }
    }
  }
}

URL也可以作为CLI参数传递:

node dist/index.js https://example.org/geonetwork

工具

search_records

在目录中搜索元数据记录。

参数 类型 描述
query 字符串 自由文本(标题、摘要、关键字)
type string 减压源类型: dataset, series, service, map
organization 字符串 按组织名称筛选
bbox 字符串 地理足迹 west,south,east,north (EPSG:4326)
from 编号 分页的起始索引(默认值:0)
size 结果数(默认值:20,最大值:100)

get_record

查看记录的完整元数据:标题、摘要、关键字、联系人、约束、家谱、空间和时间影响、主题类别。

参数 类型 描述
uuid 字符串 记录的UUID

get_record_resources

列出与记录关联的资源,按用途分组(分类通过 getUsagesForLink 来自GeoNetwork UI):

  • 服务/API --WFS、OGC功能、ESRI REST。。。
  • 制图服务 --WMS、WMTS、TMS
  • 地理数据 --GeoJSON、Shapefile、GeoPackage。..
  • 表格数据 --CSV、Excel、JSON
  • 下载 -可下载文件
  • 其他链接 --d页信息、文件
参数 类型 描述
uuid 字符串 记录的UUID

建筑

src/
├── index.ts                     # Entry point (stdio transport)
├── server.ts                    # McpServer + enregistrement des tools
├── api/
│   └── client.ts                # GeoNetworkClient (wrapper sur la lib)
└── tools/
    ├── search-records.ts
    ├── get-record.ts
    └── get-record-resources.ts
lib/
└── metadata-converter/          # @geonetwork-ui/metadata-converter
    └── ...                      # Modèle CatalogRecord, converter GN4, link utilities

发展

npm run dev          # tsc --watch
npm run test         # vitest

先决条件

  • Node.js>=18
  • 可通过网络访问的GeoNetwork 4.x目录