Token导航 LogoToken导航TokenDH.com
OSM Geojson MCP Server logo
地图位置未说明官方级别未说明来源级核验

OSM Geojson MCP Server

MCP Server

通过Overpass API获取OpenStreetMap数据并转换为GeoJSON格式的MCP协议服务器,适用于地理信息系统开发、城市规划和数据分析。

工具数

0

提示词数

0

GitHub Stars

5

资源数

0
JavaScriptClaude开放数据Claude

安装说明

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

作者 / 组织

shimizu

提供方

shimizu

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

OSM GeoJSON MCP服务器

OpenStreetMap数据Overpass API中所述方法的备选方法GeoJSON格式保存MCP (Model Context Protocol)服务器。

🌟 主要机能

🗺️ 地理数据检索工具(8种)

  • 🏢 建筑物数据取得 (get_buildings):住宅、商业、工业、公共建物の取得
  • 🛣️ 道路网络取得 (get_roads):从高速公路到住宅街道路的道路数据
  • 🏪 取得美式咖啡 (get_amenities):餐厅、医院、学校等POI数据
  • 🌊 水域数据取得 (get_waterways):河流、湖泊、运河、蓄水池等水域数据
  • 🌳 绿地数据取得 (get_green_spaces):公园、森林、农地、草地等绿地
  • 🚃 铁路数据获取 (get_railways):铁路线路、车站、地铁、电车等

🔧 系统功能(4种)

  • 📊 API統計 (get_api_stats:监视使用统计信息、高速缓存状态和错误率
  • 🔧 连接测试 (test_connection): Overpass API服务器连接诊断
  • 🔄 数据转换 (convert_to_geojson): OSM从数据GeoJSON转换为
  • 📁 下载功能:3种数据下载工具
  • 📁 文件输出:所有工具的文件导出功能(.geojson/.json)

🚀 高级功能

💾 高速缓存系统

  • 15分TTL: OSM符合条款的高速缓存期间
  • LRU算法:高效内存管理
  • 防止重复请求:使用同一查询的自动缓存

📈 日志监视功能

  • 详细日志: API跟踪使用情况、响应时间和错误率
  • 统计情报:高速缓存命中率,服务器性能
  • 实时监控:查看工作时间和请求频率

⚡ 错误处理

  • MCP符合性错误: McpError类支持标准错误代码
  • 支持多服务器:3服务器自动回退
  • 指数回调:速率限制时的自适应等待
  • 5xx系统错误对应:服务器错误时的自动重试
  • 详细错误信息:提供对调试有用的附加信息

📦 安装和使用

1.安装相关性

npm install

2.启动服务器

# 通常の起動
npm start

# 開発モード(MCP Inspectorを使用)
npm run dev

3.测试运行

# 全テストを実行
npm test

# 重要なテストのみ実行
npm run test:critical

# 高速テスト(重要テスト + 早期終了)
npm run test:fast

# 個別テスト実行
npm run test:simple       # 基本接続テスト
npm run test:diagnostic   # ネットワーク診断
npm run test:features     # 新機能テスト
npm run test:download     # ダウンロード機能テスト
npm run test:direct       # 直接ファイル出力テスト

# MCPプロトコル検証テスト(新機能)
node test/mcp-protocol-verification.js    # プロトコル準拠確認
node test/error-handling-test.js          # エラーハンドリング検証
node test/integration-test.js             # 統合テスト実行

🎯 Claude 使用示例

💬 提示示例

📍 特定地域建筑物ー取得

東京駅周辺(東経139.765-139.768度、北緯35.679-35.682度)の建物データをGeoJSON形式で取得してください。

🏙️ 区域分析用数据收集

新宿駅周辺の以下のデータを取得してファイルに保存してください:
- 建物データ(商業施設のみ)
- 道路ネットワーク(主要道路のみ)
- レストランなどの飲食店
座標は東経139.695-139.705度、北緯35.685-35.695度でお願いします。

🔢 件数限制数据取得

渋谷駅周辺の建物データを最大30件まで取得してください。商業施設に限定してGeoJSONで出力をお願いします。

📊 系统状况确认

OSMサーバーの接続状況とAPI使用統計を確認してください。

🌊 河川・水域调查

皇居周辺(東経139.75-139.77度、北緯35.68-35.69度)の水域データ(川、堀など)を取得してください。

🚀 高速数据取得

品川駅周辺の鉄道データを10件まで取得して、レスポンス時間を短縮してください。

🗺️ 地图数据活用例

1.都市计画・不动产分析

渋谷駅周辺500m四方の建物、道路、公園データを取得して都市密度を分析したい

→可以分析建筑物密度、道路交通、绿地率等

2.创建旅游路线

浅草寺周辺の観光スポット(レストラン、神社、公園)を50件まで取得して歩行者道路のデータも欲しい

→制作面向游客的步行路线和看点地图

3.灾害时避难计画

学校周辺の避難に使える道路、公園、公共施設のデータを収集したい。重要度の高い施設を20件程度で

→用于避难路线和避难场所的优化

4.交通基础设施调查

品川駅周辺の鉄道、道路、バス停のデータで交通アクセスを分析したい。主要な交通機関を15件まで

→用于交通便利性的评价和城市计划

📄 响应格式

GeoJSON响应(典型值)

{
  "type": "geojson",
  "data": {
    "type": "FeatureCollection",
    "features": [...]
  },
  "summary": {
    "feature_count": 42,
    "limit_applied": 50,
    "is_truncated": false,
    "bbox": [139.765, 35.679, 139.768, 35.682],
    "building_type": "all"
  }
}

文件输出响应

{
  "status": "success",
  "message": "建物データをダウンロードしました",
  "file": "./data/tokyo_buildings.geojson",
  "size": "0.85 MB",
  "feature_count": 245,
  "limit_applied": null,
  "is_truncated": false,
  "building_type": "all",
  "bbox": [139.765, 35.679, 139.768, 35.682],
  "server": "overpass-api.de"
}

API统计响应

{
  "timestamp": "2025-07-07T13:00:00.000Z",
  "api_statistics": {
    "uptime": { "formatted": "2h 30m" },
    "requests": { "total": 150, "perMinute": "1.2" },
    "cache": { "hitRate": "75.3%" },
    "errors": { "errorRate": "0.7%" }
  },
  "cache_statistics": { "size": 45 },
  "compliance_info": {
    "user_agent": "OSM-MCP/1.0",
    "rate_limiting": "enabled",
    "caching": "enabled (15min TTL)",
    "overpass_api_compliance": "full"
  }
}

🛠️ 可用工具详细信息(共12个工具)

🏢 get_buildings

获取建筑数据。

参数:

  • minLon, minLat, maxLon, maxLat:捕获范围坐标(必需)
  • building_type (可选):建筑类型(residential, commercial, industrial, public, all)
  • limit (可选):获取件数的上限(1-10000)
  • output_path (可选):文件输出路径(.geojson/.json)

🛣️ 获取负载

获取道路网络。

参数:

  • minLon, minLat, maxLon, maxLat:捕获范围坐标(必需)
  • road_types (可选):道路类型数组(motorway, trunk, primary, secondary, tertiary, residential, all)
  • limit (可选):获取件数的上限(1-10000)
  • output_path (可选):文件输出路径

🏪 get_amenities

取得美式咖啡(设施、设备)。

参数:

  • minLon, minLat, maxLon, maxLat:捕获范围坐标(必需)
  • amenity_type (可选):美式咖啡类型(restaurant, hospital, school, bank, cafe, all)
  • limit (可选):获取件数的上限(1-10000)
  • output_path (可选):文件输出路径

🌊 get_waterways

获取水域、河流数据。

参数:

  • minLon, minLat, maxLon, maxLat:捕获范围坐标(必需)
  • waterway_type (可选):水域类型(river, stream, canal, lake, reservoir, pond, all)
  • limit (可选):获取件数的上限(1-10000)
  • output_path (可选):文件输出路径

🌳 获取绿色空间

获取绿地、公园数据。

参数:

  • minLon, minLat, maxLon, maxLat:捕获范围坐标(必需)
  • green_space_type (可选):绿地类型(park, forest, garden, farmland, grass, meadow, nature_reserve, all)
  • limit (可选):获取件数的上限(1-10000)
  • output_path (可选):文件输出路径

🚃 get_railways

获取铁路数据。

参数:

  • minLon, minLat, maxLon, maxLat:捕获范围坐标(必需)
  • railway_type (可选):铁路类型(rail, subway, tram, monorail, station, platform, all)
  • limit (可选):获取件数的上限(1-10000)
  • output_path (可选):文件输出路径

📊 get_api_stats

API获取使用统计信息和系统状况。

参数:

  • reset (可选):是否重置统计信息(boolean)

🔧 test_连接

Overpass API测试到服务器的连接。

参数:

🔄 convert_to_gejson

OSM打开文件GeoJSON中所述修改相应参数的值。

参数:

  • input_path:输入OSM文件路径(必需)
  • output_path:输出GeoJSON文件路径(必需)

📁 download_osm_data

生的OSM下载数据。

参数:

  • query: Overpass QL查询(必需)
  • output_path:目标文件路径(必需)
  • format (可选):输出格式(json, xml)

🌐 download_area_all

下载指定区域的所有数据。

参数:

  • minLon, minLat, maxLon, maxLat:捕获范围坐标(必需)
  • output_path:目标文件路径(必需)

🔬 技术细节

MCP协议实现

  • JSON-RPC 2.0准据:完整的协议实现
  • 标准错误代码: McpError正确的类错误处理
  • 初始化处理程序: InitializedNotificationSchema対応
  • MCP SDK活用: SDK最大限度地利用功能,最大限度地减少自己的实施

OSM/Overpass API规约准据

  • User-Agent识别: OSM-MCP/1.0正确识别
  • 汇率限制遵守:指数衰减和服务器负载平衡
  • 高速缓存实现:15分钟TTL防止重复请求
  • 内存限制: 1GB限制降低服务器负载
  • 超时优化:180秒でOverpass API推奨値准据

高性能体系结构

  • 多服务器回退:3自动切换服务器
  • IP直接接続: DNS直接解决问题IP使用地址
  • 非同期処理: Node.js标准https/fs模块高效通信
  • 流式传输:直接写入大容量数据文件

数据质量保证

  • OSM→GeoJSON变换:使用自定义转换逻辑进行高精度转换
  • 几何处理: Point/LineString/Polygon の適切な形状生成
  • 坐标検证:边框框和WGS84精确检查坐标系
  • 元数据保留: OSM完全保留标记GeoJSON属性转换

监视调试功能

  • 实时统计:跟踪请求数、响应时间和错误率
  • 高速缓存分析:命中率、内存使用量、TTL管理
  • 服务器监视:每个Overpass API服务器运行状况检查
  • 全面测试:自动运行连接、功能和性能测试

🏆 MCP协议支持情况

✅ 完全准据(2025年7月更新)

  • 📋 MCP 2024-11-05 仕様:完全准据
  • 🔧 错误处理: McpError 类支持标准错误代码
  • 🧪 测试质量:协议错误集成测试100%成功率
  • 🚀 Claude Code 统合:已确认稳定动作

📊 実装详细

|功能类别|对应状况|详细情况| |------------|---------|------| | 初始化处理程序 | ✅ 完了 | initialize, initialized 対応 | | 协议响应 |✅ 完了|JSON-RPC 2.0 准据| | 工具功能 | ✅ 完成=12工具,已验证方案 | 错误处理 | ✅ 完成|标准错误代码(-32601,-32602,-32603)| | 集成测试 | ✅ 完成|已确认实用情景下的动作|

🧪 品质保证

  • 协议测试: 5/5 成功(ping、初始化、初始化、工具/列表、工具/调用)
  • 错误处理测试:5/5成功(参数验证、坐标验证、不明工具等)
  • 集成测试:9/9成功(实际数据获取、并行处理、所有工具动作确认)
  • 性能测试:支持并行处理,高速缓存功能正常运行

⚠️ 限制和建议

边界框大小

  • 建议的大小:0.005°×0.005°以下(约500m四方)
  • 最大大小:0.001平方度以下(防止超时)
  • 都市部:建议在较小范围内进行分区检索

性能注意事项

  • 建筑物查询:比道路查询成本高
  • 关系处理:边界数据复杂度高
  • 高速缓存利用:同一范围的重新获取缓存15分钟

利用规约遵守

  • 汇率限制:建议每秒不超过一个请求
  • 适当的利用:用于教育、研究、非营利目的
  • 服务器负载减轻:积极利用缓存功能

📈 性能指标

実测値(东京駅周辺0.003°×0.003°)

  • 建筑数据: 20件、4.4秒、22KB
  • 道路数据: 361件、2.1秒、129KB
  • 美式咖啡: 24件、12.6秒、4.5KB
  • 高速缓存命中: \< 1秒(75%高速化)

🔢 件数制限机能

自然语言限制

如果在提示中包含“最多30件”、“10件左右”、“最多5件”等表达,则会自动应用件数限制:

東京駅周辺の建物データを最大50件まで取得してください
↓ 自動的に limit: 50 が適用される

品川駅の鉄道データを10件程度で
↓ 自動的に limit: 10 が適用される

对应的表现模式

  • 日本语:最大N件N最多N件以内、上限N件N最多N脚手架
  • 英语:极限N,最大N,顶部N,第一个N,最多N

限制值规格

  • 范围: 1-10000件
  • 适用: Overpass API 有效限制级别
  • 元数据:响应 limit_appliedis_truncated 包含
  • 性能:通过限制实现高速化和内存效率化

🎛️ Claude Code 设定

Claude Code 在中使用

Claude Code 那么 claude mcp add 在工作空间的边缘MCP注册服务器:

# プロジェクトに移動
cd /path/to/osm-geojson-mcp-server

# 実行権限を付与(初回のみ必要)
chmod +x src/index.js

# MCPサーバーを登録(ローカルスコープ)
claude mcp add osm-geojson node src/index.js

# または絶対パスで登録
claude mcp add osm-geojson [absolute path to ]/osm-geojson-mcp-server/src/index.js

详情 Claude Code MCP 文档 来修改标记元素的显示属性。

使用开始

claude启动后/mcp执行命令MCP请确认是否正确连接。

✔ connected的规格化距离的幂函数。

Claude 请像下面这样搭话:

「東京駅周辺の建物データを取得して」
「新宿の地図データを分析したい」
「OSMサーバーの接続状況を確認して」

Claude 将条目添加到文档注册表。

📝 更新履歴

v1.1.0 (2025-07-08) - MCP完全遵守协议

  • MCP完全遵守协议: MCP 2024-11-05 完全符合规格要求
  • 错误处理改善: McpError类和标准错误代码实现
  • 全面测试添加:协议错误集成测试100%成功
  • test_connection改善: JSON形式响应统一
  • Claude Code统合:稳定行为确认和文档更新

v1.0.0 - 初始版本

  • 🗺️ 8种地理数据检索工具
  • 🔧 4种系统功能工具
  • 💾 LRU高速缓存系统实现
  • 📈 详细日志监视功能
  • ⚡ 多服务器回退功能

🤝 分发

  1. 分叉此存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 创建拉式请求

📄 许可证

MIT License - 详情 许可证 浏览文件

🙏 谢辞

目录标签

目录标签

JavaScriptClaude开放数据地理信息系统本地部署数据转换地图服务城市分析

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP