内容
# 慕尼黑交通 MCP 服务器
一个模型上下文协议(MCP)服务器,通过 MVG(慕尼黑交通公司)API 提供实时的慕尼黑公共交通信息。该服务器使 AI 助手能够帮助用户查询公共交通、出发时间以及慕尼黑公共交通网络的站点信息。
## 功能特点
- **实时出发信息**:获取慕尼黑任何公共交通地点的实时出发信息
- **站点搜索**:通过名称或位置查询找到站点
- **站点详情**:获取特定站点的详细信息
- **完整站点列表**:访问慕尼黑交通网络中所有可用的站点
## 可用工具
### `mvg_get_departures`
通过位置查询获取出发信息。
**参数:**
- `query`(字符串):搜索的位置名称或地址
- `limit`(整数):返回的最大出发次数
- `offsetInMinutes`(整数):从现在起的分钟偏移量
**返回:** 查询位置最近站点的出发列表。
### `mvg_get_departures_from_station`
从特定的站点 ID 获取出发信息。
**参数:**
- `stationId`(字符串):唯一的站点标识符
- `limit`(整数):返回的最大出发次数
- `offsetInMinutes`(整数):从现在起的分钟偏移量
**返回:** 指定站点的出发列表。
### `mvg_get_stations`
获取慕尼黑交通网络中所有可用的站点。
**参数:** 无
**返回:** 慕尼黑所有公共交通站点的完整列表。
### `mvg_get_station`
获取特定站点的详细信息。
**参数:**
- `stationId`(字符串):唯一的站点标识符
**返回:** 包括名称、位置和可用交通方式的站点详细信息。
## 安装
### 前提条件
- Java 21 或更高版本
- Gradle 构建系统
### 设置
1. 克隆仓库:
```bash
git clone [您的仓库网址]
cd [仓库名称]
```
2. 构建项目:
```bash
gradle build
```
3. 运行 MCP 服务器:
```bash
gradle run
```
## 配置
### Claude Desktop 集成
在您的 Claude Desktop `claude_desktop_config.json` 文件中添加以下配置:
```json
{
"mcpServers": {
"muc-transport": {
"command": "java",
"args": [
"-jar",
"/路径/至/您的/muc-transport-mcp-server.jar"
],
"env": {}
}
}
}
```
## 使用示例
配置好 Claude Desktop 后,您可以提出以下问题:
- "下一班 U-Bahn 从 Marienplatz 出发的时间是什么?"
- "显示 Hauptbahnhof 在接下来的 30 分钟内的出发信息"
- "慕尼黑有哪些站点?"
- "获取 ID 为 de:09162:6 的站点详情"
## API 依赖
该服务器依赖于 MVG(慕尼黑交通公司)公共 API 来提供实时的交通信息。服务器包含一个 `MVGClient`,用于处理与 MVG 后端服务的所有通信。
## 数据模型
服务器使用以下主要数据类型:
- **出发信息**:包含出发时间、线路信息、目的地和延误数据
- **站点**:代表一个交通站点,包含 ID、名称、位置和可用的交通方式
- **位置**:可以代表站点或其他兴趣点的通用位置数据
## 重要免责声明
**该服务器使用 MVG API,不适用于商业用途。** MVG API 仅用于信息目的和个人使用。请参阅 [MVG 官方服务条款](https://www.mvg.de/impressum) 以获取详细的使用指南和限制。
使用此 MCP 服务器,即表示您确认:
- MVG API 不适用于商业应用
- 数据准确性和可用性受 MVG 服务条款的约束
- 您负责遵守 MVG 的使用政策
## 支持
有关以下问题的报告:
- **MCP 服务器**:在此仓库中创建一个问题
- **MVG API**:查看官方 MVG 开发者文档
- **Claude Desktop 集成**:参考 Anthropic MCP 文档
## 致谢
- MVG(慕尼黑交通公司)提供公共交通 API
- Anthropic 提供模型上下文协议规范