mcpField
U
udir-mcp

udir-mcp

本地服务
github.com/3121n法律与政务020 周前更新

关于 udir-mcp

udir-mcp 通过开放 REST API 提供挪威 NSR 学校注册库和 NBR 幼儿园注册库的数据查询。它面向注册信息检索,支持按市镇搜索,并查看地址、坐标等机构详情。

主要功能

  1. 01按市镇搜索学校
  2. 02按名称和类型筛选学校
  3. 03按市镇搜索幼儿园
  4. 04获取机构详情和坐标

适用场景

  1. 01列出某市镇内的学校
  2. 02按所有权类型查找幼儿园
  3. 03获取地点用于制图或距离计算

MCP 相关

它向 MCP 客户端提供 NSR 和 NBR 注册库的搜索与详情查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"3121n-udir": {
"command": "npx",
"args": [
"-y",
"@nor-data/udir-mcp"
]
}
}
}
启动命令npx -y @nor-data/udir-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@nor-data/udir-mcp0.1.2

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
navnstring否学校名称的子字符串筛选(不区分大小写)
typeenum否学校类型筛选器(默认:所有在用学校)grunnskole | videregaaende | privat | offentlig | spesialskole | alle
kommunenummerstring是4 位市镇编号,例如 '0301' 表示 Oslo(必须保留前导零;'301' 会被规范化)
inkluder_inaktiveboolean否包含已关闭/不活跃的单位(默认 false)

详细介绍

@nor-data/udir-mcp

包装 UDIR 开放注册库的 MCP 服务——为 Nabodata 地图项目(#4:学校/幼儿园)构建。

  • NSR(国家学校注册库):https://data-nsr.udir.no/v3
  • NBR(国家幼儿园注册库):https://data-nbr.udir.no/v3

两者都是开放且无需身份验证的 REST API。

工具

工具描述
sok_skole按市镇查询学校(4 位市镇编号,会规范化前导零)。筛选条件:名称子字符串、类型(基础学校/高中/私立/公立/特殊学校)、包含非活跃学校
hent_skole按 orgnr 获取完整详情:地址、坐标(lat/lon,GeoNorge)、学生人数、员工人数区间、教学语言、联系方式
sok_barnehage按市镇查询幼儿园。筛选条件:名称、所有权类型(私立/公立)、包含非活跃幼儿园
hent_barnehage按 orgnr 获取完整详情:地址、坐标、所有权类型、类别

数据质量说明(已于 2026 年 6 月 6 日验证)

  • 对于未进行地理编码的单位,UDIR 返回 {Lengdegrad:0, Breddegrad:0, GeoKilde:"Undefined"}——服务会将其视为缺失坐标(省略该字段)。
  • UDIR 会忽略 /v3/enheter 上的 Navn 查询参数,因此名称筛选会在客户端按市镇进行。
  • 注册库包含测试单位(orgnr U999…,市镇 2599)——按市镇查询时会自动过滤掉。

构建与测试

npm install && npm run build
npm test   # E2E med ekte UDIR-kall (11 sjekker)

Nabodata 用法

sok_grunnkrets(kartverket)→ 市镇编号 → sok_skole/sok_barnehage → 使用 hent_* 获取坐标 → 在客户端计算距离。未来阶段 B:通过批量获取详情和 haversine 半径实现 skoler_naer_punkt。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。