Token导航 LogoToken导航TokenDH.com
EEA sdi MCP logo
运维云端未说明官方级别未说明来源级核验

EEA sdi MCP

MCP Server

EEA GeoNetwork MCP Server 是一个提供20种工具集的模型上下文协议服务器,用于与欧洲环境署地理网络目录API交互,支持元数据搜索、导出、编辑及资源管理等功能。

工具数

20

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude数据分析Claude DesktopClaude

安装说明

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

作者 / 组织

seb999

提供方

seb999

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

EEA地理网络MCP服务器

模型上下文协议(MCP)服务器,提供与欧洲环境局(EEA)地理网络目录API(地理网络4.4.9)交互的工具。

特性

该MCP服务器提供20个工具,用于与EEA地理网络目录进行交互:

搜索与发现

  • 搜索记录 -使用完整的Elasticsearch查询支持搜索元数据记录
  • 搜索_范围 -按地理边界框查找记录
  • 获取记录 -通过UUID检索特定记录的详细元数据
  • get_record_by_id -通过记录的内部数字ID检索记录
  • 获取相关记录 -查找相关记录(父母、子女、服务、数据集)

数据导出和管理

  • get_record_formaters -列出记录的可用导出格式
  • export_record -以各种格式(XML、PDF等)导出元数据
  • 复制记录 -复制现有元数据记录(需要身份验证)

记录编辑(需要身份验证)

  • update_record -使用XPath更新任何字段(支持ISO 19139和ISO 19115-3)
  • update_record_title -更新记录标题的简化工具(自动检测模式)
  • add_record_tags -向记录添加标签/类别
  • 删除记录标签 -从记录中删除标签/类别

资源/附件管理

  • upload_file_to_rorecord -将文件从本地文件系统直接上传到元数据记录(需要身份验证)
  • 获取附件 -列出元数据记录的所有附件/资源
  • 删除附件 -从记录中删除特定附件(需要身份验证)

目录信息

  • get_site_info -获取目录配置和站点信息
  • 获取_资源 -列出目录来源和子门户
  • list_groups -列出所有用户组
  • 获取标签 -获取可用标签/类别
  • get_regions -获取地理区域/范围

安装

  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. (可选)配置环境变量:
# Create a .env file in the project root
PORT=3001
BASE_URL=https://galliwasp.eea.europa.eu/catalogue/srv/api
MAX_SEARCH_RESULTS=20

# Authentication for write operations (duplicate, update)
CATALOGUE_USERNAME=your_username
CATALOGUE_PASSWORD='your_password'

# Rate limiting
RATE_LIMIT_WINDOW_MS=900000
RATE_LIMIT_MAX_REQUESTS=100

注: 用于包含特殊字符的密码($, #等),将值括在单引号中。

用法

流式HTTP服务器(MCP传输)

服务器使用官方的MCP Streamable HTTP传输和服务器发送事件(SSE)。

启动服务器:

npm start

服务器将在端口3001(或 PORT 环境变量)。

可用端点:

  • GET http://localhost:3001/health -健康检查端点
  • GET http://localhost:3001/info -服务器信息
  • POST http://localhost:3001/upload -将文件上传到购物篮(多部分/表单数据)
  • GET http://localhost:3001/uploads/:filename -检索上传的文件
  • POST http://localhost:3001/ -MCP消息端点(标准JSON-RPC)
  • GET http://localhost:3001/ -MCP SSE流端点(用于服务器发起的消息)

测试服务器:

# Check if server is running
curl http://localhost:3001/health

# Should return: {"status":"ok","service":"eea-geonetwork-mcp"}

# Upload a file to the basket
curl -X POST http://localhost:3001/upload -F "file=@myfile.pdf"

# Returns: {"success":true,"file":{"url":"http://localhost:3001/uploads/myfile-123456789.pdf",...}}

上传购物篮

该服务器包括一个内置的上传篮,用于临时文件存储。这允许您先上传文件,然后使用URL将它们附加到元数据记录。

Swagger UI(最简单的方法):

  1. 打开 http://localhost:3001/api-docs 在浏览器中
  2. 展开“POST/上传”端点
  3. 点击“试用”
  4. 选择一个文件并单击“执行”
  5. 从响应中复制返回的URL
  6. 将此URL与 upload_resource_from_url MCP工具

它是如何工作的:

  1. 通过上传文件 POST /upload 端点(或使用Swagger UI)
  2. 服务器将文件存储在 uploads/ 目录
  3. 服务器返回一个URL: http://localhost:3001/uploads/filename
  4. 使用此URL upload_resource_from_url 附加到元数据记录的工具

配置:

# Optional environment variables
UPLOAD_DIR=./uploads           # Upload directory (default: ./uploads)
MAX_FILE_SIZE=104857600        # Max file size in bytes (default: 100MB)

Swagger用户界面:

  • 访问API交互式文档和文件上传界面:
  • http://localhost:3001/api-docs

使用克劳德桌面

添加到您的Claude Desktop配置文件中:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "eea-geonetwork": {
      "command": "node",
      "args": ["C:\\Users\\dubos\\_Projects\\EEA_sdi_mcp\\dist\\index.js"]
    }
  }
}

查询示例

连接到Claude Desktop后,您可以提出以下问题:

  • “在欧洲经济区目录中搜索有关空气质量的数据集”
  • “查找欧洲边界框内的所有元数据记录”
  • “获取有关记录UUID abc-123-def的详细信息”
  • “将此元数据记录导出为XML”
  • “目录中有哪些地理区域?”
  • “显示与此父记录相关的所有数据集”

API基本URL

服务器连接到: https://galliwasp.eea.europa.eu/catalogue/srv/api (沙盒环境)

发展

命令

  • 构建: npm run build -编译TypeScript以进行dist/
  • 观看模式: npm run dev -在监视模式下编译TypeScript(更改时自动重新编译)
  • 开始: npm start -运行已编译的服务器

开发流程

对于主动开发,请在单独的终端中运行两个命令:

端子1 -在监视模式下编译TypeScript:

npm run dev

2号航站楼 -启动服务器:

npm start

这样,当您进行更改时,TypeScript会自动重新编译,您可以重新启动服务器以获取新的更改。

建筑

服务器使用官方MCP SDK和Streamable HTTP传输(无状态模式):

  • 快递服务器 使用CORS支持处理HTTP端点
  • MCP服务器 通过Streamable HTTP/SSE处理工具请求
  • Axios客户端 与欧洲经济区地理网络API通信(30秒超时)
  • 模块化设计 使用单独的文件:

- src/index.ts -服务器设置和路由 - src/tools.ts -工具定义(20个工具) - src/handlers.ts -工具实现处理程序 - src/types.ts -TypeScript接口

工具参考

搜索记录

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

参数:

  • query (字符串):搜索文本
  • from (数字):起始位置(默认值:0)
  • size (number):结果数(默认值:10,最大值:100)
  • bucket (string):按分面桶过滤
  • sortBy (string):排序字段
  • sortOrder (字符串):“asc”或“desc”

获取记录

获取特定记录的详细元数据。

参数:

  • uuid (字符串,必填):记录UUID或ID
  • approved (boolean):仅批准的版本(默认值:true)

搜索_范围

按地理范围搜索记录。

参数:

  • minx (数字,必填):最小经度(西)
  • miny (数字,必填):最小纬度(南)
  • maxx (数字,必填):最大经度(东)
  • maxy (数字,必填):最大纬度(北)
  • relation (字符串):空间关系-“相交”、“在”或“包含”(默认值:“相交”)

export_record

以特定格式导出元数据记录。

参数:

  • uuid (字符串,必填):记录UUID
  • formatter (字符串,必填):格式标识符(例如,“xml”、“pdf”、“full_view”)

使用 get_record_formatters 首先查看记录的可用格式。

复制记录

使用新的UUID复制现有元数据记录。 需要身份验证。

参数:

  • metadataUuid (string,必填):要复制的记录的UUID
  • group (字符串,可选):重复记录的目标组
  • isChildOfSource (布尔值,可选):将源记录设置为新记录的父记录(默认值:false)
  • targetUuid (字符串,可选):用于重复记录的特定UUID(如果未提供,则自动生成)
  • hasCategoryOfSource (布尔值,可选):从源记录复制类别(默认值:true)

get_record_by_id

通过元数据记录的内部数字ID检索元数据记录。这对于在重复操作后获取UUID很有用。

参数:

  • id (number,必填):记录的内部数字ID

update_record

使用XPath更新元数据记录字段。 需要身份验证。

参数:

  • uuid (string,必填):要更新的记录的UUID
  • xpath (字符串,必填):XPath到要更新的元素
  • value (字符串,必填):新值(用于简单替换的文本,或完整的XML元素)
  • operation (字符串,可选):操作类型-“替换”(默认)、“添加”或“删除”
  • updateDateStamp (布尔值,可选):更新记录的时间戳(默认值:true)

通用XPath:

  • ISO 19139标题: gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString
  • ISO 19115-3标题: mdb:identificationInfo/*/mri:citation/cit:CI_Citation/cit:title/gco:CharacterString

update_record_title

更新记录标题的简化工具。自动检测模式(ISO 19139或ISO 19115-3)并使用正确的XPath。 需要身份验证。

参数:

  • uuid (string,必填):要更新的记录的UUID
  • title (string,必填):记录的新标题

add_record_tags

向元数据记录添加标签(类别)。 需要身份验证。

参数:

  • uuid (字符串,必填):记录的UUID
  • tags (数字数组,必填):要添加的标签ID数组

使用 get_tags 首先查找可用的标签ID。

删除记录标签

从元数据记录中删除标签(类别)。 需要身份验证。

参数:

  • uuid (字符串,必填):记录的UUID
  • tags (数字数组,必填):要删除的标签ID数组

upload_file_to_rorecord

将文件从本地文件系统直接上传到元数据记录作为附件。该文件以二进制数据的形式上传到GeoNetwork。 需要身份验证。

参数:

  • metadataUuid (string,必填):要附加文件的元数据记录的UUID
  • filePath (string,必填):本地文件的绝对路径(例如。, C:\Users\name\document.pdf/home/user/document.pdf)
  • visibility (字符串,可选):共享策略-“PUBLIC”或“PRIVATE”(默认值:PUBLIC)
  • approved (布尔值,可选):是否使用批准的版本(默认值:false)

例子:

metadataUuid: "43d7c186-2187-4bcd-8843-41e575a5ef56"
filePath: "C:\\Documents\\myfile.pdf"

注: 此工具直接将文件上传到GeoNetwork。该文件必须在运行MCP服务器的计算机上可访问。

获取附件

列出元数据记录的所有附件/资源。

参数:

  • metadataUuid (string,必填):元数据记录的UUID
  • sort (字符串,可选):按“类型”或“名称”对结果排序(默认值:名称)
  • approved (布尔值,可选):是否使用批准的版本(默认值:true)
  • filter (字符串,可选):附件名称的过滤模式(默认值:\*)

退货: 附件对象数组,包含文件名、类型、URL、大小等详细信息。

删除附件

从元数据记录中删除特定附件。 需要身份验证。

参数:

  • metadataUuid (string,必填):元数据记录的UUID
  • resourceId (string,必填):要删除的资源的ID/文件名
  • approved (布尔值,可选):是否使用批准的版本(默认值:false)

注: 使用 get_attachments 首先找到要删除的附件的确切resourceId。

许可证

麻省理工学院

相关链接

目录标签

目录标签

TypeScriptClaude数据分析地理信息系统本地部署元数据管理环境数据API工具集数据目录

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

20

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP