MCP 会面点优化器添加福利群:解决AI开发者的「MCP实战痛点」这是一个OpenStreetMap MCP服务器实现,通过位置服务和地理空间数据增强大语言模型(LLM)的能力。



osm-mcp-server: 主服务器,可供公共使用。"mcpServers": {
"osm-mcp-server": {
"command": "uvx",
"args": [
"osm-mcp-server"
]
}
}

该服务器为LLM提供与OpenStreetMap数据交互的工具,使基于位置的应用程序能够:
服务器实现了基于位置的资源:
location://place/{query}: 通过名称或地址获取地点信息location://map/{style}/{z}/{x}/{y}: 获取指定坐标的样式化地图瓦片服务器实现了多个地理空间工具:
geocode_address: 将文本转换为地理坐标reverse_geocode: 将坐标转换为人类可读的地址find_nearby_places: 发现位置附近的兴趣点get_route_directions: 获取两个位置之间的逐向导航search_category: 在区域内查找特定类别的地点suggest_meeting_point: 为多个人找到最优会面点explore_area: 获取关于社区的全面数据find_schools_nearby: 定位特定位置附近的教育机构analyze_commute: 比较家庭和工作地点之间的交通选项find_ev_charging_stations: 使用过滤器定位电动汽车充电基础设施analyze_neighborhood: 评估房地产的社区宜居性find_parking_facilities: 定位目的地附近的停车选项要在本地运行服务器:
pip install -e .
osm-mcp-server
仓库在examples/目录中包含两个示例客户端:
client.py演示了OSM MCP服务器的基本用法:
python examples/client.py
这将:
llm_client.py提供了一个为LLM集成设计的辅助类:
python examples/llm_client.py
此示例展示了LLM如何使用位置助手来:
要创建自己的客户端:
from mcp.client import Client

client = Client("http://localhost:8000")

# 示例:地理编码一个地址
results = await client.invoke_tool("geocode_address", {"address": "New York City"})

在MacOS上:~/Library/Application\ Support/Claude/claude_desktop_config.json
在Windows上:%APPDATA%/Claude/claude_desktop_config.json
"mcpServers": {
"osm-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/osm-mcp-server",
"run",
"osm-mcp-server"
]
}
}

要准备包进行分发:
uv sync

uv build
这将在dist/目录中创建源代码和wheel分发。
uv publish
注意:您需要通过环境变量或命令标志设置PyPI凭据。
由于MCP服务器通过stdio运行,调试可能具有挑战性。为了获得最佳调试体验,我们强烈建议使用MCP Inspector。
您可以通过npm使用以下命令启动MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/osm-mcp-server run osm-mcp-server
启动后,Inspector将显示一个URL,您可以在浏览器中访问该URL以开始调试。