关于 udir-mcp
udir-mcp 通过开放 REST API 提供挪威 NSR 学校注册库和 NBR 幼儿园注册库的数据查询。它面向注册信息检索,支持按市镇搜索,并查看地址、坐标等机构详情。
主要功能
- 01按市镇搜索学校
- 02按名称和类型筛选学校
- 03按市镇搜索幼儿园
- 04获取机构详情和坐标
适用场景
- 01列出某市镇内的学校
- 02按所有权类型查找幼儿园
- 03获取地点用于制图或距离计算
MCP 相关
它向 MCP 客户端提供 NSR 和 NBR 注册库的搜索与详情查询工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| navn | string | 否 | 学校名称的子字符串筛选(不区分大小写) |
| type | enum | 否 | 学校类型筛选器(默认:所有在用学校)grunnskole | videregaaende | privat | offentlig | spesialskole | alle |
| kommunenummer | string | 是 | 4 位市镇编号,例如 '0301' 表示 Oslo(必须保留前导零;'301' 会被规范化) |
| inkluder_inaktive | boolean | 否 | 包含已关闭/不活跃的单位(默认 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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。