Token导航 LogoToken导航TokenDH.com
LocuSync Server logo
地图位置stdio官方级别未说明来源级核验

LocuSync Server

MCP Server

LocuSync Server 是一个为AI代理提供地理空间工具的服务,包括地理编码、路线计算、空间分析和文件操作等功能。

工具数

13

提示词数

0

GitHub Stars

3

资源数

0
地理编码PythonClaudeClaude

安装说明

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

作者 / 组织

matbel91765

提供方

matbel91765

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install locusync-server

详细介绍

Locusync服务器

](https://badge.fury.io/py/locusync-server) ![Python 3.11+](https://www.python.org/downloads/) ![License: MIT](https://opensource.org/licenses/MIT) ![CI](https://github.com/matbel91765/locusync-server/actions/workflows/ci.yml)

模型上下文协议(MCP)服务器,为AI代理提供地理空间工具。使Claude、GPT和其他LLM能够执行地理编码、路由、空间分析和文件操作。

特性

  • 地理编码:将地址转换为坐标,反之亦然(通过Nominim/OSM或Pelias)
  • 批量地理编码:在单个请求中对多个地址进行地理编码(最多10个)
  • 高程:获取沿路径的点和高程剖面的高度
  • 路由:使用距离、持续时间和几何图形计算点之间的路线(通过OSRM)
  • 空间分析:缓冲区、交点、并线、距离计算
  • 文件I/O:读/写Shapefiles、GeoJSON、GeoPackage
  • CRS转换:在坐标参考系之间转换

安装

# From PyPI (when published)
pip install locusync-server

# From source
git clone https://github.com/matbel91765/locusync-server.git
cd locusync-server
pip install -e .

快速开始

使用克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "locusync": {
      "command": "uvx",
      "args": ["locusync-server"]
    }
  }
}

直接使用

# Run the server
locusync-server

可用工具

地理编码

geocode

将地址转换为坐标。

Input: "1600 Pennsylvania Avenue, Washington DC"
Output: {lat: 38.8977, lon: -77.0365, display_name: "White House..."}

reverse_geocode

将坐标转换为地址。

Input: lat=48.8566, lon=2.3522
Output: {display_name: "Paris, Île-de-France, France", ...}

batch_geocode

一次对多个地址进行地理编码(最多10个)。

Input: addresses=["Paris, France", "London, UK", "Berlin, Germany"]
Output: {results: [...], summary: {total: 3, successful: 3, failed: 0}}

海拔

get_elevation

获取一个点的高度。

Input: lat=48.8566, lon=2.3522
Output: {elevation_m: 35, location: {lat: 48.8566, lon: 2.3522}}

get_elevation_profile

沿路径获取高程。

Input: coordinates=[[2.3522, 48.8566], [2.2945, 48.8584]]
Output: {profile: [...], stats: {min: 28, max: 42, gain: 14}}

几何

distance

计算两点之间的距离。

Input: lat1=48.8566, lon1=2.3522, lat2=51.5074, lon2=-0.1278
Output: {distance: {meters: 343556, kilometers: 343.56, miles: 213.47}}

buffer

在几何图形周围创建缓冲区。

Input: geometry={type: "Point", coordinates: [2.3522, 48.8566]}, distance_meters=1000
Output: {geometry: {type: "Polygon", ...}, area_km2: 3.14}

spatial_query

执行空间操作(交集、并集、包含、内部等)。

Input: geometry1={...}, geometry2={...}, operation="intersection"
Output: {geometry: {...}}

transform_crs

在CRS之间转换坐标。

Input: geometry={...}, source_crs="EPSG:4326", target_crs="EPSG:3857"
Output: {geometry: {...}}

路由

route

计算两点之间的路线。

Input: start_lat=48.8566, start_lon=2.3522, end_lat=48.8606, end_lon=2.3376
Output: {distance: {...}, duration: {...}, geometry: {...}, steps: [...]}

isochrone

计算在规定时间内可到达的区域。

Input: lat=48.8566, lon=2.3522, time_minutes=15, profile="driving"
Output: {geometry: {type: "Polygon", ...}}

文件

read_file

读取地理空间文件(Shapefile、GeoJSON、GeoPackage)。

Input: file_path="data/cities.shp"
Output: {type: "FeatureCollection", features: [...]}

write_file

将要素写入地理空间文件。

Input: features={...}, file_path="output.geojson", driver="GeoJSON"
Output: {file_path: "...", feature_count: 10}

配置

环境变量:

变量默认值描述
NOMINATIM_URLhttps://nominatim.openstreetmap.orgAPI名称URL
NOMINATIM_USER_AGENTlocusync-server/1.0.0Nominatim的用户代理
OSRM_URLhttps://router.project-osrm.orgOSRM API URL
OSRM_PROFILEdriving默认路由配置文件
PELIAS_URL(空)Pelias地理编码API URL
PELIAS_API_KEY(空)Pelias API密钥(可选)
OPEN_ELEVATION_URLhttps://api.open-elevation.com开放式提升API URL
GIS_DEFAULT_CRSEPSG:4326默认CRS
GIS_TEMP_DIR/tmp/locusync临时目录

响应格式

所有工具都返回一致的JSON结构:

{
  "success": true,
  "data": { ... },
  "metadata": {
    "source": "nominatim",
    "confidence": 0.95
  },
  "error": null
}

速率限制

  • 提名:1个请求/秒(自动执行)
  • OSRM演示:尽最大努力,考虑自托管生产

发展

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run with coverage
pytest --cov=src/locusync --cov-report=html

# Type checking
mypy src/locusync

# Linting
ruff check src/locusync

建筑

src/locusync/
├── server.py      # MCP server entry point
├── config.py      # Configuration management
├── utils.py       # Common utilities
└── tools/
    ├── geocoding.py   # geocode, reverse_geocode, batch_geocode
    ├── elevation.py   # get_elevation, get_elevation_profile
    ├── routing.py     # route, isochrone
    ├── geometry.py    # buffer, distance, spatial_query, transform_crs
    └── files.py       # read_file, write_file

许可证

MIT许可证-请参阅 许可证 了解详情。

贡献

欢迎投稿!请在提交PR之前阅读投稿指南。

路线图

  • \[x\] Pelias地理编码支持(更高精度)
  • \[x\] 高程/地形数据
  • \[x\] 批量地理编码
  • \[\]瓦尔哈拉路由集成(本地等时线)
  • \[\]PostGIS空间查询
  • \[\]实时交通数据
  • \[\]ESRI FileGDB完全支持

目录标签

目录标签

地理编码PythonClaude本地部署路线计算空间分析文件操作AI工具

支持客户端

Claude

接入字段

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

stdio

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

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

13

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononeremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP