MBTA MCP 服务器是一个用于 MBTA V3 API 的 Model Context Protocol (MCP) 服务器,提供访问波士顿公共交通数据的功能。
无需安装!直接运行即可:
uv tool run mbta-mcp
设置您的 MBTA API 密钥作为环境变量:
export MBTA_API_KEY=your_api_key_here
uv tool run mbta-mcp
直接使用 uv 工具安装:
uv tool install mbta-mcp
设置您的 MBTA API 密钥:
export MBTA_API_KEY=your_api_key_here
运行服务器:
mbta-mcp
克隆并安装依赖项:
git clone https://github.com/cubismod/mbta-mcp.git
cd mbta-mcp
uv sync
配置您的 MBTA API 密钥:
cp .env.example .env
# 编辑 .env 并添加您的 MBTA_API_KEY
从 https://api-v3.mbta.com 获取 API 密钥。
运行 MCP 服务器以供像 Claude Desktop 这样的 AI 客户端使用:
# 直接运行(无需安装)
uv tool run mbta-mcp
# 如果已作为工具安装
mbta-mcp
# 如果使用开发环境设置
uv run mbta-mcp
直接通过命令行访问 MBTA 和 Amtrak 数据:
# 显示可用命令
uv run mbta-cli --help
# 获取 Amtrak 列车
uv run mbta-cli trains --limit 5
# 以 JSON 格式获取 Amtrak 列车
uv run mbta-cli trains --json --limit 3
# 测试 MBTA 路线
uv run mbta-cli routes
# 显示可用 MCP 工具
uv run mbta-cli tools
核心交通数据:
mbta_get_routes - 获取 MBTA 路线(地铁、公交、通勤铁路、渡轮)mbta_get_stops - 根据 ID、路线或位置获取 MBTA 站点mbta_get_predictions - 获取实时到达预测mbta_get_schedules - 获取计划服务时间mbta_get_trips - 获取行程信息和详情mbta_get_alerts - 获取服务警报和中断mbta_get_vehicles - 获取实时车辆位置行程规划:
mbta_plan_trip - 使用实时数据和换乘优化进行多模式旅程规划mbta_get_route_alternatives - 查找具有不同交通方式的替代路线扩展功能:
mbta_get_services - 获取服务定义和日历mbta_get_shapes - 获取用于映射的路线形状/路径信息mbta_get_facilities - 获取设施信息(电梯、自动扶梯、停车场)mbta_get_live_facilities - 获取实时设施状态和故障mbta_search_stops - 按名称或附近位置搜索站点mbta_get_nearby_stops - 获取特定位置附近的站点mbta_get_predictions_for_stop - 获取特定站点的所有预测外部 API 工具:
mbta_get_vehicle_positions - 从外部 API 获取实时车辆位置(GeoJSON 格式)mbta_get_external_alerts - 从外部 API 获取一般警报(延误、中断、服务信息)波士顿 Amtrak 跟踪器 API:
mbta_get_amtrak_trains - 从波士顿 Amtrak 跟踪器 API 获取所有跟踪的 Amtrak 列车mbta_get_amtrak_trains_geojson - 将 Amtrak 列车作为 GeoJSON 提供给映射应用程序mbta_get_amtrak_health_status - 获取波士顿 Amtrak 跟踪器 API 的健康状况IMT 轨道预测 API:
mbta_get_track_prediction - 预测列车将在车站使用的轨道mbta_get_chained_track_predictions - 在单个请求中获取多个轨道预测mbta_get_prediction_stats - 获取预测统计和准确性指标mbta_get_historical_assignments - 获取历史轨道分配以进行分析mbta_get_routes获取有关 MBTA 路线的信息,包括地铁、公交、通勤铁路和渡轮服务。
route_id(可选),route_type(可选),page_limit(默认:10)mbta_get_stops根据位置、路线或 ID 查找交通站点,带有可选过滤。
stop_id(可选),route_id(可选),latitude/longitude(可选),radius(可选),page_limit(默认:10)mbta_get_predictions获取 MBTA 服务的实时到达预测。
stop_id(可选),route_id(可选),trip_id(可选),page_limit(默认:110)mbta_get_schedules获取计划服务时间和出发信息。
stop_id(可选),route_id(可选),trip_id(可选),direction_id(可选),page_limit(默认:10)mbta_get_trips获取 MBTA 服务的行程信息和详情。
trip_id(可选),route_id(可选),direction_id(可选),page_limit(默认:10)mbta_get_alerts获取影响 MBTA 服务的服务警报和中断。
alert_id(可选),route_id(可选),stop_id(可选),page_limit(默认:10)mbta_get_vehicles获取实时车辆位置和状态信息。
vehicle_id(可选),route_id(可选),trip_id(可选),page_limit(默认:10)mbta_get_services获取 MBTA 运营的服务定义和日历。
service_id(可选),page_limit(默认:10)mbta_get_shapes获取用于映射和可视化的路线形状/路径信息。
shape_id(可选),route_id(可选),page_limit(默认:10)mbta_get_facilities获取设施信息,包括电梯、自动扶梯和停车场。
facility_id(可选),stop_id(可选),facility_type(可选),page_limit(默认:10)mbta_get_live_facilities获取实时设施状态和故障信息。
facility_id(可选),page_limit(默认:10)mbta_search_stops按名称或附近位置搜索站点。
query(必需),latitude/longitude(可选),radius(可选),page_limit(默认:10)mbta_get_nearby_stops获取特定位置附近的站点,位于指定半径内。
latitude(必需),longitude(必需),radius(默认:1000),page_limit(默认:10)mbta_get_predictions_for_stop获取特定站点的所有预测,带有可选过滤。
stop_id(必需),route_id(可选),direction_id(可选),page_limit(默认:10)mbta_get_vehicle_positions从外部 API 获取实时车辆位置,以 GeoJSON 格式返回。
mbta_get_external_alerts从外部 API 获取一般警报,包括延误、中断和服务信息。
mbta_get_amtrak_trains从波士顿 Amtrak 跟踪器 API 获取所有跟踪的 Amtrak 列车。
mbta_get_amtrak_trains_geojson将 Amtrak 列车作为 GeoJSON 提供给映射应用程序。
mbta_get_amtrak_health_status获取波士顿 Amtrak 跟踪器 API 的健康状况。
mbta_get_track_prediction使用机器学习预测列车在特定车站将使用的轨道。
station_id(必需),route_id(必需),trip_id(必需),headsign(必需),direction_id(必需),scheduled_time(必需)mbta_get_chained_track_predictions在单个请求中获取多个轨道预测,适用于批处理。
predictions(必需)- 预测请求对象数组mbta_get_prediction_stats获取特定车站和路线的预测统计和准确性指标。
station_id(必需),route_id(必需)mbta_get_historical_assignments获取历史轨道分配以进行分析和模式识别。
station_id(必需),route_id(必需),days(默认:30)MBTA MCP 服务器提供了智能行程规划功能,结合实时交通数据与多模式旅程优化。这些工具帮助规划高效的 MBTA 网络行程,并支持无障碍需求和换乘偏好。
mbta_plan_trip使用实时数据和换乘优化进行多模式旅程规划。此工具找到两个地点之间的最佳交通路线,考虑步行距离、换乘限制和无障碍需求。
参数:
origin_lat(必需): 起点纬度坐标origin_lon(必需): 起点经度坐标dest_lat(必需): 终点纬度坐标dest_lon(必需): 终点经度坐标departure_time(可选): ISO 8601 格式的出发时间(例如:"2025-01-01T10:00:00-05:00")max_walk_distance(可选): 最大步行距离(米,默认:800)max_transfers(可选): 允许的最大换乘次数(默认:2)prefer_fewer_transfers(可选): 优先选择换乘较少的路线(默认:true)wheelchair_accessible(可选): 仅包括无障碍路线和车辆(默认:false)返回: 包含以下内容的 JSON:
示例用法:
从 MIT 规划到哈佛广场的行程:
- origin_lat: 42.3601
- origin_lon: -71.0942
- dest_lat: 42.3736
- dest_lon: -71.1190
- max_walk_distance: 600
- prefer_fewer_transfers: true
mbta_get_route_alternatives查找具有不同交通方式的替代路线。此工具排除指定的主要路线类型以发现备用选项,当主要路线出现服务中断时非常有用。
参数:
origin_lat(必需): 起点纬度坐标origin_lon(必需): 起点经度坐标dest_lat(必需): 终点纬度坐标dest_lon(必需): 终点经度坐标primary_route_modes(可选): 排除的路线类型 ID 数组(例如,["1"] 排除地铁)departure_time(可选): ISO 8601 格式的出发时间max_walk_distance(可选): 最大步行距离(米,默认:800)max_transfers(可选): 最大换乘次数(默认:2)wheelchair_accessible(可选): 要求无障碍路线(默认:false)路线类型 ID:
"0" - 轻轨(绿线分支)"1" - 地铁(红线、橙线、蓝线)"2" - 通勤铁路"3" - 公交"4" - 渡轮返回: 排除了指定主要模式的替代路线选项,具有与 mbta_plan_trip 相同的详细结构。
示例用法:
当地铁延误时寻找公交替代路线:
- origin_lat: 42.3601
- origin_lon: -71.0942
- dest_lat: 42.3736
- dest_lon: -71.1190
- primary_route_modes: ["1", "0"] // 排除地铁和轻轨
- max_walk_distance: 1000
早晨通勤规划:
使用 mbta_plan_trip 和出发时间来找到每天通勤的最佳路线,考虑实时延误和服务警报。
无障碍优先路由:
启用 wheelchair_accessible: true 以确保所有建议的路线都是完全无障碍的,包括车站的电梯和坡道。
服务中断备份:
当警报显示地铁延误时,使用 mbta_get_route_alternatives 查找避开受影响线路的公交路线。
大型活动规划: 对于大型活动,规划更长步行距离和更多换乘的行程,以分散乘客负载。
游客协助: 结合行程规划、附近站点和预测,帮助游客高效地导航波士顿的交通系统。
添加到 Claude Desktop 配置:
在 macOS 上,编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mbta": {
"command": "uv",
"args": ["tool", "run", "mbta-mcp"],
"env": {
"MBTA_API_KEY": "your_api_key_here"
}
}
}
}
在 Windows 上,编辑 %APPDATA%\Claude\claude_desktop_config.json,内容相同。
安装 MCP 服务器:
uv tool install mbta-mcp
添加到 Claude Desktop 配置:
在 macOS 上,编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mbta": {
"command": "mbta-mcp",
"env": {
"MBTA_API_KEY": "your_api_key_here"
}
}
}
}
在 Windows 上,编辑