Token导航 LogoToken导航TokenDH.com
Geo Mc Pservers logo
AI代理stdio官方级别未说明来源级核验

Geo Mc Pservers

MCP Server

一个基于MCP协议的地图服务实现,包括地理编码和路线规划功能,适用于AI代理集成和地图应用开发。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
位置天气地理编码PythonAI代理

安装说明

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

作者 / 组织

NourFakih

提供方

NourFakih

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install openai-agents "mcp[cli]" requests

详细介绍

地理MCP服务器——C5分配

此存储库包含我对C5分配的实现:自定义MCP映射服务器和OpenAI代理SDK映射助手。

第3部分

Youtube视频:https://youtu.be/o2ZCBDNxTao

第1部分

Hugging Face文章将模型上下文协议(MCP)作为一种开放的、与模型无关的标准,用于将AI代理连接到外部工具、数据源和工作流。MCP解决了长期存在的“集成问题”:以前,开发人员必须为模型需要访问的每个服务构建一次性的API集成、插件或特定于框架的工具。

相反,MCP定义了一种客户端-服务器架构,其中AI应用程序(主机)运行一个MCP客户端,该客户端发现并与MCP服务器通信,MCP服务器通过标准化的模式公开工具、资源和提示模板。这实现了动态发现:当启动新的MCP服务器(例如,用于CRM或数据库)时,代理可以立即检测其功能,而无需更改代码。

文章强调,MCP不是一个代理框架或规划者;它位于代理工作流的“Action”层,充当管道,让代理执行查询数据库、获取文件或调用API等操作。

通过标准化工具的公开方式,它将集成复杂性从N×M问题(N个模型×M个工具)降低到N+M。

同时,作者指出了权衡:运行多个本地或远程服务器会引入操作开销;如果描述不好,模型仍然可能误用工具;协议正在演变;安全和治理(身份验证、日志记录和权限)仍然是活跃的工作领域。

现有的地图服务器展示了设计MCP服务器的有用模式。OpenStreetMap及其生态系统以平铺架构为中心:网络地图按照标准的{z}/{x}/{y}URL模式从HTTP端点获取光栅或矢量平铺,将客户端的渲染与后端的数据服务分开。

基于OSM构建的提供商,如Geoapify,通过样式JSON文档和tile端点(通过缩放、x/y坐标和API键参数化)暴露了许多不同的视觉样式(例如,“OSM-carto”、“positon”、“dark-matter”)。 MapLibre GL JS等库使用矢量图块和样式在浏览器中渲染交互式GPU加速地图,而插件则添加地理编码、搜索和导航控件。

更高级的设置在MapLibre前端后面使用专用的磁贴服务器(例如Martin),并支持GeoJSON、光栅和矢量数据的分层。

在这些系统中,出现了常见的设计模式:无状态HTTP API、清晰的URL和参数约定、数据服务和呈现之间的关注点分离,以及可组合的“操作”,如图块检索、地理编码和路由。这些映射自然地映射到MCP“工具”和任务自定义映射服务器的操作。

第2部分

此文件夹包含一个小型OpenAI代理SDK项目,该项目实现了两个MCP映射服务器和一个用于演示/屏幕直播的简单CLI界面。

组件

  • osm_geocoder_server.py –MCP服务器包装OpenStreetMap提名:

- search_place(query, limit) –正向地理编码。 - reverse_geocode(lat, lon) –反向地理编码。 - lookup_place(osm_type, osm_id) –按OSM id查找。

  • routing_server.py –MCP服务器包装OpenRouteService方向:

- route_coords(...) –完整的GeoJSON路由。 - route_distance(...) –仅限距离和持续时间。 - route_summary(...) –简化的指示步骤列表。

  • map_agent.py –连接到两个服务器并公开文本(CLI)界面的助手代理。
  • map_agent_gradio.py –通过Gradio网络聊天UI暴露的同一代理。

设置

从项目根目录(包含以下内容的文件夹 map_agents 目录):

cd map_agents
py -3.13 -m venv .venv
.\.venv\Scripts\activate
pip install openai-agents "mcp[cli]" requests

对于Gradio UI,还要安装:

pip install gradio python-dotenv

设置所需的环境变量(PowerShell示例):

$env:OPENAI_API_KEY = "sk-..."       # your OpenAI API key
$env:ORS_API_KEY = "your_ors_key"    # OpenRouteService key
$env:NOMINATIM_USER_AGENT = "c5-assignment-yourname/1.0"

运行演示代理

CLI版本

cd map_agents
py -3.13 .\map_agent.py

然后键入自然语言查询,例如:

  • Find the coordinates of the Statue of Liberty.
  • Reverse geocode 40.6892, -74.0445.
  • Give me the driving distance and ETA from Berlin to Hamburg.

类型 quit 退出。此CLI适用于录制第3部分的屏幕截图:显示终端,运行一些查询,并解释代理如何使用两个MCP服务器。

Gradio网络用户界面

cd map_agents
py -3.13 .\map_agent_gradio.py

然后打开本地URL Gradio打印(默认情况下http://127.0.0.1:7860/)在浏览器中,使用图形界面与同一MapAssistant代理聊天。这对您的视频录制很方便:您可以在浏览器而不是终端中显示与地图相关的问题和答案。

第3部分

Youtube视频: https://youtu.be/o2ZCBDNxTao

反思

在这项任务中,MCP在真实代理系统中的作用变得更加清晰。我看到了MCP是如何介于“纯LLM提示”和原始HTTP API之间的,它提供了一个结构化的、可发现的工具层,供代理调用。将现有的地图服务转换为MCP服务器迫使我考虑干净的工具边界、良好的参数名称和简洁的描述,以便模型选择正确的操作。我还了解了OpenAI代理SDK如何编排模型调用和MCP工具,以及正确管理环境配置和机密的重要性。

如果我扩展这个项目,我会添加更多以地图为中心的工具和更好的用户体验。在服务器端,这可能意味着兴趣点搜索、支持不同的旅行模式,以及对频繁的地理编码和路线请求的简单缓存。在用户界面方面,我想在地图上可视化路线,而不仅仅是用文本描述它们,并尝试更丰富的对话上下文,这样代理就可以回答关于同一行程的后续问题。最后,我会强化错误处理和速率限制行为,成为我所调用的公共API的更好公民。

目录标签

目录标签

位置天气地理编码PythonAI代理地图服务本地部署MCP协议路线规划

接入字段

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

stdio

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

api-key

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP