内容
# 小型导航地图 MCP 服务器
MCP(模型上下文协议)服务器,暴露 [Little Navmap](https://albar965.github.io/littlenavmap.html) 的 WebAPI,作为 Claude Desktop 和其他 MCP 兼容客户端的工具。
询问 Claude 诸如:
- *"LEMD 的跑道和频率是什么?*"
- *"显示我纬度 40-42、经度 -5 至 -3 之间的所有 VOR*"
- *"Little Navmap 中的当前飞行计划是什么?*"
- *"当前飞机位置和高度是多少?*"
## 要求
- [Little Navmap](https://albar965.github.io/littlenavmap.html) 3.0+,启用网络服务器(`工具 → 运行网络服务器`)
- Python 3.10+
- [Claude Desktop](https://claude.ai/download)
## 安装
**1. 克隆或下载此存储库**
```bash
git clone https://github.com/bisnis3d/littlenavmap-mcp.git
```
或者直接下载 `littlenavmap_mcp.py`。
**2. 安装依赖项**
```bash
pip install "mcp[cli]" httpx
```
**3. 配置 Claude Desktop**
编辑 `%APPDATA%\Claude\claude_desktop_config.json`(Windows)或 `~/Library/Application Support/Claude/claude_desktop_config.json`(macOS),并在 `mcpServers` 中添加以下条目:
```json
{
"mcpServers": {
"littlenavmap": {
"command": "python",
"args": ["C:/path/to/littlenavmap_mcp.py"]
}
}
}
```
用脚本的实际路径替换 `C:/path/to/littlenavmap_mcp.py`。
**4. 重启 Claude Desktop**
右键单击系统托盘图标 → 退出,然后重新打开。
## 配置
默认情况下,服务器连接到 `http://localhost:8965`。您可以使用环境变量覆盖此设置:
```json
"env": {
"LNM_HOST": "localhost",
"LNM_PORT": "8965"
}
```
如果 Little Navmap 在本地网络中的不同计算机上运行,这非常有用。
## 可用工具
| 工具 | 描述 |
|------|-------------|
| `lnm_status` | 健康检查 — 验证 LNM 网络服务器是否可达 |
| `lnm_airport_info` | 完整的机场数据:跑道、通信频率、程序、海拔 |
| `lnm_airport_weather` | 配置的天气源的 METAR/TAF |
| `lnm_map_features` | 指定经纬度边界框内的所有导航设备和机场 |
| `lnm_navaid_search` | 按标识搜索 VOR、NDB、航点或 ILS |
| `lnm_flightplan_get` | 带有航点、航段和程序的活动飞行计划 |
| `lnm_aircraft_info` | 实时飞机位置、速度、海拔和燃油 |
| `lnm_aircraft_progress` | 活动航段、到目的地的距离、ETE 和燃油状态 |
| `lnm_sim_info` | 模拟器连接状态 |
| `lnm_ui_info` | 当前地图视图(中心位置、缩放级别) |
| `lnm_map_image` | 返回指定区域的 PNG 地图图像的 URL |
需要连接模拟器的工具(`lnm_aircraft_info`、`lnm_aircraft_progress`)如果 MSFS 未运行或未连接到 Little Navmap,则会返回错误。
## 备注
- `aircraft`、`sim`、`flightplan` 和 `navaid` JSON 端点存在于 LNM 3.0 中,但不是官方公共 YAML 规范的一部分。它们在实践中有效,但可能会在未来版本中更改。
- 服务器使用 `stdio` 传输,这是与 Claude Desktop 一起使用的本地 MCP 服务器的标准。
## 许可证
MIT