README
🚀 🗺️ OpenRoute MCP
OpenRoute MCP 是一个基于 Model Context Protocol (MCP) 的服务器,借助 OpenRouteService API 来规划路线,适用于徒步、山地骑行等活动。
⚠️ 重要提示
免责声明:本服务生成的路线仅用于信息参考,不保证安全、合法或适合您的预期使用。在进行任何行程之前,请始终使用官方地图、当地管理部门信息和当前实际情况独立核实路线。用户需自行承担所有安全风险以及遵守当地法律法规的责任。
💡 使用建议
复制工具调用结果中返回的整个 GPX 文件,然后使用 gpx.studio 等服务将生成的 GPX 文件加载到地图上。
🚀 快速开始
连接客户端到 MCP 服务器
按照您的客户端说明,使用已部署服务器的 /mcp URL(例如 http://localhost:8888/mcp)。
以 GitHub Copilot in VSCode 为例,通过 VSCode 界面添加新的 MCP 服务器:
- [x] 打开侧边面板聊天窗口(
ctrl + shift + i或cmd + shift + i),并确保右下角模式设置为Agent。 - [x] 打开命令面板(
ctrl + shift + p或cmd + shift + p),搜索MCP: Open User Configuration,这将打开一个mcp.json文件。
⌨️ 使用标准输入输出传输
⚠️ 重要提示
使用 GitHub 登录 openrouteservice.org 获取 API 密钥,并通过
OPENROUTESERVICE_API_KEY环境变量提供该密钥。
OPENROUTESERVICE_API_KEY=YYY uvx openroute-mcp
在 VSCode 的 mcp.json 文件中应包含以下内容:
{
"servers": {
"openroute-mcp": {
"command": "uvx",
"args": [
"openroute-mcp"
],
"env": {
"OPENROUTESERVICE_API_KEY": "YOUR_API_KEY"
}
}
}
}
⚠️ 重要提示
点击
"openroute-mcp"上方的Start按钮,开始与 MCP 服务器建立连接。您可以点击扳手和螺丝刀图标 🛠️(
Configure Tools...)来启用或禁用特定工具。
CLI 选项的详细信息如下:
usage: openroute-mcp [-h] [--http] [--port PORT] [--openroute-api OPENROUTE_API] [--openroute-api-key OPENROUTE_API_KEY]
[--data-folder DATA_FOLDER] [--no-save] [--no-img] [--add-html]
A Model Context Protocol (MCP) server for building routes using OpenRouteService.
options:
-h, --help show this help message and exit
--http Use Streamable HTTP transport
--port PORT Port to run the server on
--openroute-api OPENROUTE_API
OpenRouteService API URL (default: https://api.openrouteservice.org)
--openroute-api-key OPENROUTE_API_KEY
OpenRouteService API key (default: taken from env var OPENROUTESERVICE_API_KEY)
--data-folder DATA_FOLDER
Folder to save generated routes
--no-save Don't save generated routes to disk (also disable image and HTML generation)
--no-img Do not add PNG image visualization of the routes to the response (image not supported by all LLMs)
--add-html Add HTML interactive map for routes to the response (larger context used)
📡 使用可流式传输的 HTTP 服务器
连接到正在运行的可流式传输 HTTP MCP 服务器,例如 openroute-mcp.onrender.com/mcp。
在 VSCode 的 mcp.json 文件中应包含以下内容:
{
"servers": {
"openroute-mcp-http": {
"url": "https://openroute-mcp.onrender.com/mcp",
"type": "http"
}
}
}
⚠️ 重要提示
在公共 MCP 服务器上创建的路线将对任何人公开可用。
更多详细信息请参考 VSCode MCP 官方文档。
✨ 主要特性
🛠️ 可用工具
- 📍 查找地点的可能坐标
- 参数:
location(字符串):要获取坐标的地点
- 返回值:包含 10 个坐标及可用描述的列表,方便智能体确定正确的坐标
- 参数:
- 🏠 查找给定坐标的可能地点(地址)
- 参数:
lon(浮点数):地点的经度lat(浮点数):地点的纬度
- 返回值:靠近给定坐标的对象列表
- 参数:
- 🗺️ 从起点到终点创建路线,可选择设置途经点
- 参数:
route_type(字符串):路线类型,例如 "cycling-mountain"、"cycling-regular"、"foot-hiking"、"driving-car"from_coordinates(浮点数列表):起点坐标,格式为 [经度, 纬度]to_coordinates(浮点数列表):终点坐标,格式为 [经度, 纬度]waypoints(浮点数列表的列表):可选的途经点坐标列表,格式为 [[经度, 纬度], ...]
- 返回值:
- 包含 路线 GPX 文件 的资源文件(例如
route://foot-hiking-98.gpx) - 包含路线 PNG 图像可视化 的资源文件(例如
route://foot-hiking-98.png) - 包含路线 HTML 交互式可视化 的资源文件(例如
route://foot-hiking-98.html),可直接在浏览器中打开
- 包含 路线 GPX 文件 的资源文件(例如
- 参数:
- 📌 在某个区域搜索兴趣点(POIs)
- 参数:
bounding_box_coordinates(浮点数列表的列表):定义边界框的坐标,格式为 [[最小经度, 最小纬度], [最大经度, 最大纬度]]filters_name(字符串列表):可选的兴趣点名称过滤列表,例如 ["加油站", "餐厅"]
- 返回值:找到的兴趣点信息
- 参数:
- 🔎 搜索靠近给定起点和终点坐标的已知路线
此功能可在创建路线时建议途经已知路线,目前仅在瑞士可用,借助了瑞士联邦的 api3.geo.admin.ch 🇨🇭。
- 参数:
route_type(字符串):路线类型,例如 "cycling-mountain"、"cycling-regular"、"foot-hiking"、"driving-car"from_coordinates(浮点数列表):起点坐标,格式为 [经度, 纬度]to_coordinates(浮点数列表):终点坐标,格式为 [经度, 纬度]
- 返回值:已知路线的轨迹和描述(如果可用),帮助智能体构建合适的路线
- 参数:
- ⏱️ 计算从一个或多个起点在给定时间或距离内可到达的区域
- 参数:
coordinates_list:用于计算可到达区域的一个或多个坐标,格式为 [[经度, 纬度], ...]route_type:路线类型,例如 "cycling-mountain"、"cycling-regular"、"foot-hiking"、"driving-car"range_type:范围类型,可选time(秒)或distance(米)area_range:分析的最大范围值,时间单位为秒,距离单位为米,也可以是用逗号分隔的特定范围值列表
- 返回值:GeoJSON 格式的可到达区域信息
- 参数:
🗃️ 可用资源
- 🚏 路线文件
- URL 模式:
route://{filename} - 类型:GPX(
.gpx)、HTML(.html)或 PNG(.png) - 描述:根据文件名返回之前生成的路线文件。
- 生成工具:
create_route_from_to工具
- URL 模式:
🧑💻 开发
有关开发运行和贡献的更多详细信息,请查看 CONTRIBUTING.md 页面。
Scan to join WeChat group