柏林开放数据MCP服务器

一个封装柏林WFS地理数据服务的MCP服务器,使AI代理能够查询柏林地址的属性和规划信息。

  • by OK-LG
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 OK-LG/berlin-open-data

使用说明

柏林开放数据MCP服务器

一个MCP(模型上下文协议)服务器,封装了柏林的WFS地理数据服务,使人工智能代理能够查找柏林地址的物业和规划信息。

特征

  • 地址地理编码:将柏林地址转换为坐标
  • 包裹信息:获取任何位置的地籍数据(Flurstück)
  • 建筑足迹从 ALKIS 获取建筑多边形
  • 土地使用计划: Query the FNP (土地利用计划) designation
  • 发展规划找到适用的B计划
  • 再开发区检查修复区状态
  • 土地价值:获得2023-2025年博登里克特(BORIS)

安装

npm install
npm run build

用法

作为MCP服务器

添加到您的Claude Code MCP设置中(~/.claude/settings.json):

{
  "mcpServers": {
    "berlin-open-data": {
      "command": "node",
      "args": ["/path/to/berlin-open-data/dist/index.js"]
    }
  }
}

可用工具

geocode_address

用地理代码将柏林地址转换为坐标。

{
  "street": "Unter den Linden",
  "house_number": "77",
  "postal_code": "10117"
}

get_parcel_info

获取坐标处的地籍地块信息。

{
  "lat": 52.5170365,
  "lon": 13.3888599
}

get_building_footprints

在坐标(半径50m)处获取建筑足迹(多边形)。

{
  "lat": 52.5170365,
  "lon": 13.3888599
}

get_land_use_plan

在坐标处获得FNP(土地利用计划)名称。

{
  "lat": 52.5170365,
  "lon": 13.3888599
}

get_development_plans

在坐标处获取开发计划(B-Pläne)。

{
  "lat": 52.5170365,
  "lon": 13.3888599
}

get_redevelopment_areas

检查位置是否在重建区。

{
  "lat": 52.5170365,
  "lon": 13.3888599
}

lookup_property

组合查找-对地址进行地理编码,然后查询所有属性数据。

{
  "street": "Pariser Platz",
  "house_number": "1"
}

数据源

所有数据都是从柏林的官方WFS(Web Feature Service)端点查询的:

  • 地址: gdi.berlin.de/services/wfs/adressen_berlin
  • 包裹: gdi.berlin.de/services/wfs/alkis_flurstuecke
  • 建筑物: gdi.berlin.de/services/wfs/alkis_gebaeude
  • 土地利用规划: gdi.berlin.de/services/wfs/fnp_ak
  • 土地价值(BORIS): gdi.berlin.de/services/wfs/brw2023-2025
  • 发展规划: gdi.berlin.de/services/wfs/bplan
  • 再开发区: gdi.berlin.de/services/wfs/sanier

坐标系

服务器自动处理坐标转换:

  • 输入/输出:WGS84(EPSG:4326)-标准lat/lon
  • 柏林WFS:ETRS89/UTM 33N区(EPSG:25833)

错误处理

所有工具都返回结构化响应:

// Success
{
  "success": true,
  "data": { /* tool-specific data */ }
}

// Error
{
  "success": false,
  "error": {
    "code": "ADDRESS_NOT_FOUND" | "WFS_SERVICE_ERROR" | "NO_DATA_AT_LOCATION" | "TIMEOUT",
    "message": "Human-readable error description"
  }
}

发展

# Build
npm run build

# Watch mode
npm run dev

许可证

麻省理工学院