MCP_位置智能-瓦利德奇多! 🙃
mcp定位智能
WaliedChitos MCP服务器用于位置智能
该项目提供了一个符合模型上下文协议(MCP)的服务器,该服务器公开了来自各种位置智能地图数据和服务提供商的功能,如HERE平台、谷歌地图平台、Mapbox和OSM,作为LLM的工具。
视觉
通过标准化的MCP接口与地理空间上下文和位置智能服务(如直接和反向地理编码、发现地点、方向/路线等)交互,使LLM具有位置智能和合理的响应。
支持的MCP工具(到目前为止,这个列表应该还在增长)
- HERE平台服务:
- 地理编码:
- MCP工具: here_platform_geocode - 说明: 通过HERE平台直接地理编码服务将给定的自由文本地址处理成坐标”, - 参考: 地理编码和搜索API v7 - 输入: - address (字符串) - 输出: JSON格式 location (lat/lng坐标), address (格式化地址),以及 id
- 反向地理编码:
- MCP工具: here_platform_reverse_geocode - 说明: 通过HERE平台反向地理编码服务将给定的一对坐标处理成地址 - 参考: 地理编码和搜索API v7 - 输入: - latitude (编号) - longitude (编号) - 输出: JSON格式 address (格式化地址), type (反向地理编码结果类型), position (lat/lng坐标),以及 id
- 带速度限制的反向地理编码:
- MCP工具: here_platform_reverse_geocode_with_speed_limit - 说明: 通过HERE平台反向地理编码服务,将给定的GPS观测坐标和方位值处理成街道地址和限速 - 参考: 地理编码和搜索API v7 - 输入: - latitude (编号) - longitude (编号) - bearing (编号) - 输出: JSON格式 address (格式化地址), type (反向地理编码结果类型;可能是街道), speed limit (报告位置的限速), position (lat/lng坐标),以及 id
- AB路由:
- MCP工具: here_platform_ab_routing - 说明: 通过HERE Platform AB路由服务获取两点之间的路线信息 - 此处API: 路由API v8 - 输入: - origin (“纬度、经度”格式的字符串) - destination (“纬度、经度”格式的字符串) - transportMode (字符串:“汽车”、“行人”、“自行车”、“卡车”、“踏板车”、“公共汽车”、“出租车”) - 输出: JSON格式 summary (持续时间和长度), polyline (路线坐标),以及 actions (导航说明)
- 公共交通路线:
- MCP工具: here_platform_pt_routing - 说明: 通过HERE平台公共交通路线服务获取两点之间的公共交通路线信息 - 此处API: 公共交通路线API v8 - 输入: - origin (“纬度、经度”格式的字符串) - destination (“纬度、经度”格式的字符串) - 输出: JSON格式 summary (持续时间和长度), polyline (路线坐标),以及 actions (导航说明)
- 发现地点:
- MCP工具: here_platform_discover_places - 说明: 通过HERE平台发现端点发现位置周围的地点(例如,电动汽车充电站、公交车站等) - 参考: 地理编码和搜索API v7 - 输入: - latitude (编号) - longitude (编号) - query (字符串,例如“电动汽车充电站”、“公交车站”) - 输出: 地点列表,每个地点都有 name, address, position (lat/lng坐标),以及 category
- 交通事故:
- MCP工具: here_platform_traffic_incidents - 说明: 通过HERE平台实时交通服务检索位置周围缓冲区内的交通事件 - 此处API: 交通API v7 - 输入: - center (“纬度、经度”格式的字符串) - radius (单位:米) - 输出: 事件列表 description, startTime, endTime, type,以及 criticality
- 地图图像:
- MCP工具: here_platform_map_image - 说明: 以给定的缩放级别显示给定位置坐标周围的静态地图图像,具有给定的样式,如白天、夜晚、。..等通过HERE Map Image v3 API - 此处API: 地图图像API v3 - 输入: - center (“纬度、经度”格式的字符串) - zoomLevel (数字,缩放级别范围从0(全局级别)到20(最大放大级别)。默认值为14。) - style (字符串:“explore.day”、“explore.night”、“explore.Stellite.day”、“lite.day”,“lite.night”,“lite.Stellite.day”,“logistics.day”和“logistics.night” - 输出: 渲染的地图图像
让事情进展顺利
克隆存储库以在本地运行MCP服务器。
我假设您已经安装了node.js,如果没有,请按照下面的预请求步骤进行操作
- 预请求
- 安装Node.js和npm
按照以下说明操作 安装最新版本的Node.js和npm。
- 注册您的HERE平台https://platform.here.com/,创建应用程序,并生成API密钥
- 运行repo
- 克隆存储库
git clone https://github.com/WaliedCheetos/mcp_location-intelligence.git- 安装依赖项
cd mcp_location-intelligence
npm install- 构建项目
cd mcp_location-intelligence
npm run build- 运行MCP服务器
#if you have not set any environment variables in you server logic then the the command would look like the following
npx .
#if you have set any environment variables in you server logic (const env_var_name = process.env.ENV_VAR_NAME;) then the the command would look like the following
ENV_VAR_NAME=*** npx .值得注意的是 npx . 命令无论如何都会调用“npm run build”命令,该命令构建MCP服务器项目,然后启动服务器。它应该打印以下消息:
location intelligence MCP Server running on stdio这意味着MCP服务器正在运行并准备接受MCP请求。 为了停止服务器,您可以从启动它的同一个终端使用“Ctrl-C”。通常,我们在客户端应用程序(如Claude)中配置MCP服务器。正确配置后,客户端将自动启动服务器。
发展
为了更容易调试,建议使用 MCP检测工具。它启动本地Web服务器。在给定输入参数的情况下,可以很容易地检查每个工具调用是否返回预期结果。对于此项目,可以运行以下命令来启动MCP检查器工具:
cd mcp_location-intelligence
#if you have not set any environment variables in you server logic then the the command would look like the following
npm run build && npx @modelcontextprotocol/inspector node build/index.js
#if you have set any environment variables in you server logic (const env_var_name = process.env.ENV_VAR_NAME;) then the the command would look like the following
npm run build && npx @modelcontextprotocol/inspector npx @modelcontextprotocol/inspector -e ENV_VAR_NAME=*** node build/index.jsMCP客户端配置
- 将MCP服务器配置添加到MCP客户端,
我将使用Calude桌面(https://www.claude.com/download)举个例子,虽然有很多类似的工具可以免费使用,比如但不限于我最喜欢的AnythingLLM桌面(https://anythingllm.com/desktop)
“设置”->“开发人员”->“编辑配置”
{
"mcpServers": {
"location-intelligence": {
"command": "npx",
"args": [
"-y",
"/"
],
"env": {
"ENV_VAR_NAME": ""
}
}
}
}此特定项目的配置示例
{ “mcpServers”:{ “位置情报”:{ “命令”:“npx”, “args”:\[ y “/PATH/mcp_location智能/” \] } } }
- 重新启动Claude桌面,您现在应该能够看到已配置的服务
