OpenStreetMap MCP Server
未知
概述
OpenStreetMap MCP 服务器为 LLM 提供地理空间数据和基于位置的服务,支持地址地理编码、路线规划、兴趣点查找等功能。
安装
pip install osm-mcp-server
启动服务器
osm-mcp-server
核心功能
- 地址地理编码与反向地理编码
- 查找附近兴趣点
- 获取路线导航
- 搜索特定类别的地点
- 会面点优化
- 社区分析
- 停车设施查找
- EV充电站定位
客户端使用示例
import asyncio
from mcp.client import Client
async def main():
# 初始化客户端
client = Client("http://localhost:8000")
# 地理编码地址
results = await client.invoke_tool("geocode_address", {"address": "Empire State Building"})
lat, lon = float(results[0]['lat']), float(results[0]['lon'])
# 查找附近的地点
nearby = await client.invoke_tool(
"find_nearby_places",
{
"latitude": lat,
"longitude": lon,
"radius": 500,
"categories": ["amenity"],
"limit": 5
}
)
# 获取两点间路线
route = await client.invoke_tool(
"get_route_directions",
{
"origin": {"latitude": lat, "longitude": lon},
"destination": {"latitude": 40.7484, "longitude": -73.9857},
"mode": "walking"
}
)
if __name__ == "__main__":
asyncio.run(main())
配置 Claude Desktop
MacOS
~/Library/Application Support/Claude/claude_desktop_config.json
Windows
%APPDATA%/Claude/claude_desktop_config.json
配置内容
"mcpServers": {
"osm-mcp-server": {
"command": "uvx",
"args": [
"osm-mcp-server"
]
}
}
调试
使用 MCP Inspector 进行调试:
npx @modelcontextprotocol/inspector uv --directory /path/to/osm-mcp-server run osm-mcp-server
开发相关
构建与发布包:
# 同步依赖
uv sync
# 构建包
uv build
# 发布到 PyPI
uv publish
更多详细信息和高级用例,请参考完整文档。