mcpField
M
mapport

mapport

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

关于 mapport

mapport 是面向 Agent 和脚本的命令行工具与 MCP 服务,通过 Google Maps Platform 获取地点和路线数据。功能包括地理编码、地点搜索与详情、距离、路线和海拔查询。

主要功能

  1. 01地址与坐标地理编码
  2. 02搜索地点并获取详情
  3. 03计算距离和时长
  4. 04获取逐步路线指引
  5. 05查询海拔

适用场景

  1. 01将地址转换为坐标
  2. 02查找某地点附近的地点
  3. 03比较行程距离和时长
  4. 04查询坐标的路线或海拔

MCP 相关

其标准输入输出 MCP 服务提供 Google Maps 工具,用于地理编码、地点搜索与详情、距离矩阵、海拔和路线查询。

配置

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

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

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

安装包
npm@reneturcios/mapport0.1.0
ocighcr.io/cloudcorprecords/mapport:0.1.0

工具

7

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

参数类型必填说明
addressstring是要转换为地理坐标的街道地址;必须是非空字符串。

详细介绍

mapport

mapport 可将关于地点的普通问题转化为来自 Google Maps Platform 的答案:地址可转换为坐标,坐标可转换为地址,文本查询可转换为地点列表,任意两点可得出距离、耗时或逐步路线。它还会报告某个地点的海拔高度。一个二进制文件同时提供供脚本使用的命令行界面和供 Agent 使用的 stdio MCP 服务,两种接口共用相同的请求逻辑。

需要 Google Maps Platform API 密钥。请将密钥放入 GOOGLE_MAPS_API_KEY 环境变量;每次请求都会将其作为 key 查询参数发送给 Google,且不会出现在输出中。如果未设置该变量,所有调用都会在发出请求前失败,并显示包含该变量名称的错误。

安装

npx @reneturcios/mapport geocode "1600 Amphitheatre Parkway"

也可以运行容器镜像:

docker run -i -e GOOGLE_MAPS_API_KEY ghcr.io/cloudcorprecords/mapport

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

export GOOGLE_MAPS_API_KEY="your API key"

mapport geocode "1600 Amphitheatre Parkway, Mountain View"
mapport reverse 37.422 -122.084
mapport search "coffee near the ferry building" --lat 37.7955 --lng -122.3937 --radius 1500
mapport details ChIJ2eUgeAK6j4ARbn5u_wAGqWA
mapport distance "San Francisco" "Oakland" --to "Berkeley" --mode driving
mapport elevation 37.422,-122.084 40.0,-70.0
mapport directions "San Francisco" "San Jose" --mode transit

mapport --version

每条命令都会输出上游 JSON 负载。退出码:成功时为 0,调用失败时为 1(包括缺少 GOOGLE_MAPS_API_KEY 或 API 错误),用法错误时为 2。

MCP 服务

一个二进制文件同时提供两种接口。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/mapport mcp

MCP 客户端配置:

{
  "mcpServers": {
    "mapport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/mapport", "mcp"],
      "env": { "GOOGLE_MAPS_API_KEY": "your API key" }
    }
  }
}
工具
工具输入返回内容
maps_geocodeaddress(字符串,必填)匹配的地点及其坐标、格式化地址和地点 ID。
maps_reverse_geocodelatitude(数字,必填)、longitude(数字,必填)这些坐标对应的最近地址及其组成部分。
maps_search_placesquery(字符串,必填)、location(对象,可选)、radius(数字,可选)与查询匹配的地点及其名称、地址和位置。
maps_place_detailsplace_id(字符串,必填)某个地点的完整详情:联系信息、评分、评论和营业时间。
maps_distance_matrixorigins(字符串数组,必填)、destinations(字符串数组,必填)、mode(字符串,可选)距离和出行时长矩阵。
maps_elevationlocations(由 {latitude, longitude} 构成的数组,必填)每个地点的海拔,单位为米。
maps_directionsorigin(字符串,必填)、destination(字符串,必填)、mode(字符串,可选)包含路段、步骤、距离和耗时的路线。

Google 会将大多数 API 失败信息放在 HTTP 200 负载的顶层 status 字段中。对于任何状态不是 OK 或 ZERO_RESULTS 的响应,mapport 都会将其作为工具错误返回,并显示状态和 Google 提供的错误消息;ZERO_RESULTS 则会作为如实的空结果返回。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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