mcpField
S
streetmap-port

streetmap-port

本地服务
github.com/CloudCorpRecords地图与出行02 周前更新

关于 streetmap-port

streetmap-port 是用于查询 OpenStreetMap 地理信息的命令行工具及 stdio MCP 服务。它支持地理编码、地点查找、对象详情查询和本地大圆距离计算。

主要功能

  1. 01正向与反向地理编码
  2. 02按名称搜索地点
  3. 03按类别查找附近地点
  4. 04查询 OSM 对象详情
  5. 05本地计算大圆距离

适用场景

  1. 01将地点名称转换为坐标
  2. 02查找某坐标附近的地点
  3. 03根据坐标查询地址
  4. 04计算两个地点间的距离

MCP 相关

向 MCP 客户端提供地理编码、地点搜索、附近地点搜索、OSM 对象查询和距离计算等六种工具。地理编码与对象查询使用 Nominatim,附近搜索使用 Overpass。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-streetmap-port": {
"command": "npx",
"args": [
"-y",
"@reneturcios/streetmap-port"
]
}
}
}
启动命令npx -y @reneturcios/streetmap-port

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

安装包
npm@reneturcios/streetmap-port0.1.0
ocighcr.io/cloudcorprecords/streetmap-port:0.1.0

工具

6

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

参数类型必填说明
limitnumber否可选:返回的地理编码结果数量上限;默认为 5,并限制在 1-50 之间。
querystring是要转换为坐标的自由格式地址或地点名称。

详细介绍

streetmap-port

将 OpenStreetMap 地理信息集成到 CLI 和 stdio MCP 服务中的单一 二进制文件:将名称地理编码为坐标、将坐标反向地理编码为地址、搜索地点、按类型和 ID 查询 OSM 对象、查找某个点附近特定类别的地点,以及在本地计算大圆距离。

地理编码、反向地理编码和查询使用公共 Nominatim API(并采用其使用政策要求的描述性 User-Agent);附近搜索使用公共 Overpass API。所有请求都通过可注入的 fetch 函数发出,坐标在构建任何请求之前都会经过验证,API 错误响应会作为错误返回——绝不会替换成虚构的地点。distance_between 是纯本地的 haversine 计算,不会发起 API 调用。

安装

npx -y @reneturcios/streetmap-port mcp

CLI

streetmap-port mcp
streetmap-port geocode <query...>
streetmap-port reverse <lat> <lon>
streetmap-port search <query...>
streetmap-port nearby <lat> <lon> [category] [radius-m]
streetmap-port distance <lat1> <lon1> <lat2> <lon2>
streetmap-port --version

退出代码:0 表示成功,1 表示 API/验证错误,2 表示用法错误。

MCP 工具

工具用途
geocode_address通过 OSM Nominatim API 将自由格式的地址或地点名称地理编码为坐标
reverse_geocode通过 OSM Nominatim API 将坐标反向地理编码为最近的地址
search_places通过 OSM Nominatim API 按名称搜索地点
find_nearby通过 OSM Overpass API 查找坐标附近特定类别的地点
get_place_details通过 Nominatim 查询 API 获取一个 OSM 对象(节点、路径或关系)的详细信息
distance_between计算两组坐标之间的大圆距离(以公里为单位)(本地计算,不调用 API)

MCP 客户端配置:

{
  "mcpServers": {
    "streetmap-port": {
      "command": "npx",
      "args": ["-y", "@reneturcios/streetmap-port", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/streetmap-port          # MCP server
docker run --rm ghcr.io/cloudcorprecords/streetmap-port --version

开发

npm install
npm run build
npm test

数据 © OpenStreetMap 贡献者(ODbL)。代码采用 MIT 许可证。

评论

支持 Markdown

第一次接触 MCP?

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

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